日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python datasets 下载_Python机器学习·微教程

發布時間:2024/10/12 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python datasets 下载_Python机器学习·微教程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python目前是機器學習領域增長最快速的編程語言之一。

該教程共分為11小節。在這個教程里,你將學會:

  • 如何處理數據集,并構建精確的預測模型
  • 使用Python完成真實的機器學習項目

這是一個非常簡潔且實用的教程,希望你能收藏,以備后面復習!

接下來進入正題~

這個微課程適合誰學習?

開始之前,要搞清楚該教程是否屬于你的菜。

如果你不符合以下幾點,也沒關系,只要花點額外時間搞清楚知識盲點就能跟上。

  • 熟悉python語法,會寫簡單腳本。這意味著你在此之前接觸過python,或者懂得其它編程語言,類C語言都是可以的。
  • 了解機器學習的基本概念。基本概念包括知道什么是監督學習、非監督學習、分類和預測的區別、交叉驗證、簡單算法。不要被這些嚇到了,并非要求你是個機器學習專家,只是你要知道如何查找并學習使用。

所以這個教程既不是python入門,也不是機器學習入門。而是引導你從一個機器學習初級開發者,到能夠基于python生態開展機器學習項目的專業開發者。

教程目錄

該教程分為12節

第1節:下載并安裝python及Scipy生態

第2節:熟悉使用python、numpy、matplotlib和pandas

第3節:加載CSV數據

第4節:對數據進行描述性統計分析

第5節:對數據進行可視化分析

第6節:數據預處理

第7節:通過重采樣進行算法評估

第8節:模型比較和選擇

第9節:通過算法調整提高模型精度

第10節:通過集合預測提高模型精度

第11節:完善并保存模型

希望大家在學習的過程中能夠自主尋找解決困難的辦法,網上資源很豐富,這也是自我提升很關鍵的一步。當然也可以在評論區留言哦!

第1節:下載并安裝python及Scipy生態

這一節內容比較簡單,你需要下載python3.6并安裝在你的系統里,我用的win10系統。

接著要安裝Scipy生態和scikit-learn庫,這里推薦使用pip安裝。

簡單介紹一下Scipy,Scipy是一個基于python的數學、科學和工程軟件開源生態系統。包含一些核心庫:numpy、scipy、pandas、matplotlib、ipython、sympy

如果你不想這么麻煩,那么也可以使用傻瓜式一條龍安裝-Anaconda,這里面預裝了python及一百多個庫。

安裝好后,就可以在命令行鍵入“python”,就可以運行python了。

看一下python及各個庫的版本:

# Python version import sys print('Python: {}'.format(sys.version)) # scipy import scipy print('scipy: {}'.format(scipy.__version__)) # numpy import numpy print('numpy: {}'.format(numpy.__version__)) # matplotlib import matplotlib print('matplotlib: {}'.format(matplotlib.__version__)) # pandas import pandas print('pandas: {}'.format(pandas.__version__)) # scikit-learn import sklearn print('sklearn: {}'.format(sklearn.__version__))

如果沒有報錯,那么安裝環節就成功了。

第2節:熟悉使用python、numpy、matplotlib和pandas

第一步,你要能夠讀寫python腳本。

python是一門區分大小寫、使用#注釋、用tab縮進表示代碼塊的語言。

這一小節目的在于練習python語法,以及在python環境下如何使用重要的Scipy生態工具。

包括:

  • 使用python列表
  • 使用numpy array數組操作
  • 使用matplotlib簡單繪圖
  • 使用pandas兩種數據結構Series和DataFrame
# 導入各個庫 import numpy as np import pandas as pd import matplotlib.pyplot as pltmyarray = np.array([[1, 2, 3], [4, 5, 6]]) # 使用numpy數組 rownames = ['a', 'b'] colnames = ['one', 'two', 'three'] # 使用列表操作 mydataframe = pd.DataFrame(myarray, index=rownames, columns=colnames) #生成DataFrame print(mydataframe)mp = plt.plot(myarray) # 使用matplotlib繪制簡單圖表 plt.show() # 顯示圖像

第3節:加載CSV數據

機器學習算法需要有數據,這節講解如何在python中正確地加載CSV數據集

有幾種常用的方法供參考:

  • 使用標準庫中CSV的CSV.reader()加載
  • 使用第三方庫numpy中的numpy.loadtxt()加載
  • 使用第三方庫pandas中的pandas.read_csv()加載

這里使用pandas來加載數據集,數據集使用網上數據Pima Indians onset of diabetes,你也可以使用本地數據練習

# Load CSV using Pandas from URL import pandas # 導入pandas庫 url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv" names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] data = pandas.read_csv(url, names=names) # 讀取數據 print(data.head(5)) # 打印數據集前5行

第4節:對數據進行描述性統計分析

導入數據后,第一步要做的是理解數據。

對數據理解的越透徹,建立的模型也會越精確。這里就要提到描述性統計分析,主要包括數據的頻數分析、集中趨勢分析、離散程度分析、分布以及一些基本的統計圖形。

有以下幾點操作:

  • 使用head()和tail()函數查看數據樣本
  • 使用shape屬性查看數據規格
  • 使用dtypes屬性查看每個變量的數據類型
  • 使用describe()函數查看數據描述
  • 使用corr()函數計算各個變量之間的相關性

依然使用pima數據集,接上一節讀取數據后:

# Load CSV using Pandas from URL import pandas # 導入pandas庫 url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv" names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] data = pandas.read_csv(url, names=names) # 讀取數據head_5 = data.head(5) # 查看前5行 print(head_5) tail_5 = data.tail(5) # 查看后5行 print(tail_5) shape_ = data.shape # 查看數據規格,即多少行多少列 print(shape) dtypes_ = data.dtypes # 查看每個變量的數據類型 print(dtypes_) corr_ = data.corr() # 查看各個變量之間的相關性 print(corr_) description = data.describe() # 查看數據描述 print(description)

數據描述結果

第5節:對數據進行可視化分析

僅僅是做描述性統計無法直觀地理解數據,python提供了豐富的可視化工具,幫助展示數據。這一小節就是對上節數據集進行可視化描述,讓你一目了然。

有以下幾點操作:

  • 使用hist()方法創建每個變量的直方圖
  • 使用plot(kind='box')方法創建每個變量的箱圖
  • 使用plotting.scatter_matrix()方法創建矩陣散點圖
# Load CSV using Pandas from URL import pandas # 導入pandas庫 url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv" names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] data = pandas.read_csv(url, names=names) # 讀取數據import matplotlib.pyplot as plt # 導入繪圖模塊 data.hist() # 直方圖 data.plot(kind='box') # 箱圖 pd.plotting.scatter_matrix(data) # 矩陣散點圖 plt.show() # 展示圖表

直方圖

箱圖

矩陣散點圖

第6節:數據預處理

在將數據用作機器學習模型之前,需要對數據的內容和結構做適當的調整,才能更好的適應模型。這就是數據預處理工作。

有一些方法技術可以用于數據預處理,比如:

  • 數據標準化。數據標準化是將數據按比例縮放,使之落入一個小的特定區間。有利于提升模型的收斂速度和模型精度。比較典型的標準化方法有min-max標準化、z-score 標準化、歸一化等
  • 數據二值化。特征二值化是對數值特征進行閾值處理以獲得布爾值的過程,根據閾值將數據二值化(將特征值設置為0或1)大于閾值的值映射到1,而小于或等于閾值的值映射到0.默認閾值為0時,只有正值映射到1。方法有Binarizing等。
  • 分類數據連續化。通常,特征不是作為連續值給出的,而是文本字符串或者數字編碼的類別。比如性別數據通常是["男", "女"]這樣的數據, 可以編碼成[1,2], 但是這種數據通常不是可以直接進入機器學習模型的。將這種分類數據進行連續化的方法最著名的就是one-hot-encoding
  • 估算缺失的值。由于各種原因,許多真實世界的數據集包含缺失值,通常編碼為空白,NaN或其他占位符。然而,這樣的數據集與scikit-learn估計器不兼容,它們假定數組中的所有值都是數值的,并且都具有并保持含義。使用不完整數據集的基本策略是放棄包含缺失值的整個行和/或列。然而,這是以丟失可能有價值的數據為代價的(盡管不完整)。更好的策略是推算缺失值,即從數據的已知部分推斷它們。

上面提到的數據預處理技術都可以通過scikit-learn提供的方法實現。

簡單介紹下scikit-learn,scikit-learn擁有可以用于監督和無監督學習的方法,一般來說監督學習使用的更多。sklearn中的大部分函數可以歸為估計器(Estimator)和轉化器(Transformer)兩類。

估計器(Estimator)其實就是模型,它用于對數據的預測或回歸。基本上估計器都會有以下幾個方法:

  • fit(x,y):傳入數據以及標簽即可訓練模型,訓練的時間和參數設置,數據集大小以及數據本身的特點有關
  • score(x,y)用于對模型的正確率進行評分(范圍0-1)。但由于對在不同的問題下,評判模型優劣的的標準不限于簡單的正確率,可能還包括召回率或者是查準率等其他的指標,特別是對于類別失衡的樣本,準確率并不能很好的評估模型的優劣,因此在對模型進行評估時,不要輕易的被score的得分蒙蔽。
  • predict(x)用于對數據的預測,它接受輸入,并輸出預測標簽,輸出的格式為numpy數組。我們通常使用這個方法返回測試的結果,再將這個結果用于評估模型。

轉化器(Transformer)用于對數據的處理,例如標準化、降維以及特征選擇等等。同與估計器的使用方法類似:

  • fit(x,y):該方法接受輸入和標簽,計算出數據變換的方式。
  • transform(x):根據已經計算出的變換方式,返回對輸入數據x變換后的結果(不改變x)
  • fit_transform(x,y) :該方法在計算出數據變換方式之后對輸入x就地轉換。

列如,我要對數據集進行標準化處理,用到scikit-learn庫中的StandardScaler()函數,那么先要用該函數的fit()方法,計算出數據轉換的方式,再用transform()方法根據已經計算出的變換方式,返回對輸入數據x標準化變換后的結果。

# 標準化數據 (0 mean, 1 stdev) from sklearn.preprocessing import StandardScaler # 導入標準化函數 import pandas import numpy # 讀取數據 url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv" names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] dataframe = pandas.read_csv(url, names=names) array = dataframe.values # 將數據分割為輸入和響應兩部分,即X和Y X = array[:,0:8] Y = array[:,8] # 對數據進行標準化處理 scaler = StandardScaler().fit(X) rescaledX = scaler.transform(X) # summarize transformed data numpy.set_printoptions(precision=3) print(rescaledX[0:5,:])

第7節:通過重采樣方法進行算法評估

用于訓練模型的數據集稱為訓練集,但如何評估訓練出來的模型的準確度呢?顯然不能再用訓練集,否則既是裁判又是運動員。

所以,需要一個新的數據集用于驗證模型的準確度,新數據的獲取就需要用到重采樣方法了。重采樣可以將數據集切分為訓練集和驗證集兩個數據,前者用于訓練模型,后者用于評估模型。

驗證數據取自訓練數據,但不參與訓練,這樣可以相對客觀的評估模型對于訓練集之外數據的匹配程度。

模型在驗證數據中的評估常用的是交叉驗證,又稱循環驗證。它將原始數據分成K組(K-Fold),將每個子集數據分別做一次驗證集,其余的K-1組子集數據作為訓練集,這樣會得到K個模型。這K個模型分別在驗證集中評估結果,最后的誤差MSE(Mean Squared Error)加和平均就得到交叉驗證誤差。

交叉驗證有效利用了有限的數據,并且評估結果能夠盡可能接近模型在測試集上的表現,可以做為模型優化的指標使用。

最后要通過某種評估規則計算出模型準確度的分數,這里提供了cross_val_score(scoring='')函數評估交叉驗證結果,其中參數scoring代表評估規則。評估規則有很多種,針對回歸和分類,有不同的選擇,比如:

這一節要做的是:

  • 將數據集切分為訓練集和驗證集
  • 使用k折交叉驗證估算算法的準確性
  • 使用cross_val_score()函數評估交叉驗證結果,輸出k折交叉驗證準確度評分
# 使用交叉驗證評估模型 from pandas import read_csv from sklearn.model_selection import KFold from sklearn.model_selection import cross_val_score from sklearn.linear_model import LogisticRegression # 加載數據 url = "https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv" names = ['preg', 'plas', 'pres', 'skin', 'test', 'mass', 'pedi', 'age', 'class'] dataframe = read_csv(url, names=names) array = dataframe.values X = array[:,0:8] Y = array[:,8] # 使用k折交叉驗證,n-split就是K值,shuffle指是否對數據洗牌,random_state為隨機種子 kfold = KFold(n_splits=10,shuffle = True, random_state=7) # 使用邏輯回歸模型,這是一個分類算法 model = LogisticRegression(solver='liblinear') # 交叉驗證,cv代表交叉驗證生成器,這里是k折,scoring代表評估規則,輸出模型對于10個驗證數據集準確度的評估結果 results = cross_val_score(model, X, Y, cv=kfold,scoring='neg_mean_squared_error') # 打印這10個結果的平均值和標準差 print("Accuracy: %.3f%% (%.3f%%)") % (results.mean()*100.0, results.std()*100.0)

未完待續

參考:machinelearningmastery

總結

以上是生活随笔為你收集整理的python datasets 下载_Python机器学习·微教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品人人妻人人爽人人牛 | 黄色一级片在线看 | 欧美成人三级精品 | 骚黄网站 | 懂色av蜜臂av粉嫩av | 性――交――性――乱睡觉 | 美女露出让男生揉的视频 | av免费大片 | 中文字幕国产精品 | 少妇高潮21p| 韩国午夜影院 | 国产九色av | 99久久久无码国产精品不卡 | 一级特黄aa| 九色91丨porny丨丝袜 | 亚洲欧美日韩在线 | 传媒av在线 | 中文在线a天堂 | 国产一国产二国产三 | 无码av免费精品一区二区三区 | www.日韩av | 日日爽| 人人草人 | 日韩一级免费视频 | av在线一区二区 | 91最新入口 | 免费无码国产精品 | 波多野结衣在线观看一区二区三区 | 欧美成人播放 | 国产91熟女高潮一区二区 | 欧美日韩三级视频 | 久久丫丫 | 国产精品久久久久久久久久久久久久久久久 | 免费啪视频 | 精品爆乳一区二区三区 | 久久久久久久久久影视 | 九色porny蝌蚪视频 | 欧美自拍区 | 性高潮久久久久久久久 | 高清av网址 | 欧美精品一区二区三区视频 | 毛片一卡二卡 | 亚洲影院中文字幕 | 人碰人操 | 蜜桃色999 | 久久99久久99精品 | 国产精品乱码一区二三区小蝌蚪 | 国产九九九精品 | 日韩色婷婷 | 精品一区在线观看视频 | 久久久久这里只有精品 | 亚洲午夜18毛片在线看 | 欧美,日韩,国产在线 | 精品乱码一区二区三四区视频 | 日日人人| 名校风暴在线观看免费高清完整 | 伊人中文网| 午夜av福利 | 天天曰| 天天摸天天碰天天爽天天弄 | 内射无码专区久久亚洲 | 亚洲av无码一区二区三区网站 | 国产精品伦一区 | 欧美一级爱爱 | 国产91对白在线播放 | 国产精品日韩精品欧美精品 | 噜噜噜久久 | 97伦伦午夜电影理伦片 | 精品人妻一区二区三区潮喷在线 | 99999视频 | 中文字幕22页 | 日本变态折磨凌虐bdsm在线 | 一本色道久久88 | 91亚洲精华 | 国产精品探花一区二区在线观看 | 亚洲一区二区福利视频 | 无码精品在线观看 | 完全免费在线视频 | 亚洲国产成人无码av在线 | 在线看b| 青青草伊人 | 天天爱天天插 | 香蕉国产精品视频 | 高清日韩av | 暖暖日本在线视频 | 奇米影视777四色 | 久久精品99久久久久久 | 色av网 | 亚洲一区二区三区免费看 | 日韩精品国产一区 | 欧美精品日韩在线 | 成人在线免费视频观看 | 色鬼久久 | 国产一区二区免费在线观看 | 久久精品国产99精品国产亚洲性色 | 四虎影院成人 | 免看一级片 | 宅男视频污 | 亚洲精品国产成人av在线 |