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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python机器学习--sklearn数据集使用

發(fā)布時(shí)間:2023/12/15 python 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python机器学习--sklearn数据集使用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 1.sklearn介紹
  • 2.基本概括
    • 2.1 估計(jì)器
    • 2.2 轉(zhuǎn)化器
  • 3.sklearn中iris鶯尾花數(shù)據(jù)集使用

1.sklearn介紹

Scikit-learn(以前稱為scikits.learn,也稱為sklearn)是針對(duì)Python 編程語言的免費(fèi)軟件機(jī)器學(xué)習(xí)庫 。它具有各種分類,回歸和聚類算法,包括支持向量機(jī),隨機(jī)森林,梯度提升,k均值和DBSCAN,并且旨在與Python數(shù)值科學(xué)庫NumPy和SciPy聯(lián)合使用。sklearn是一個(gè)Python第三方提供的非常強(qiáng)力的機(jī)器學(xué)習(xí)庫,它包含了從數(shù)據(jù)預(yù)處理到訓(xùn)練模型的各個(gè)方面。在實(shí)戰(zhàn)使用scikit-learn中可以極大的節(jié)省我們編寫代碼的時(shí)間以及減少我們的代碼量,使我們有更多的精力去分析數(shù)據(jù)分布,調(diào)整模型和修改超參。(sklearn為包名)。

2.基本概括

sklearn擁有可以用于監(jiān)督和無監(jiān)督學(xué)習(xí)的方法,一般來說監(jiān)督學(xué)習(xí)使用的更多。sklearn中的大部分函數(shù)可以歸為**估計(jì)器(Estimator)轉(zhuǎn)化器(Transformer)**兩類。

2.1 估計(jì)器

估計(jì)器(Estimator)其實(shí)就是模型,它用于對(duì)數(shù)據(jù)的預(yù)測或回歸。基本上估計(jì)器都會(huì)有以下幾個(gè)方法:

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

2.2 轉(zhuǎn)化器

轉(zhuǎn)化器(Transformer)用于對(duì)數(shù)據(jù)的處理,例如標(biāo)準(zhǔn)化、降維以及特征選擇等等。同與估計(jì)器的使用方法類似:

fit(x,y) :該方法接受輸入和標(biāo)簽,計(jì)算出數(shù)據(jù)變換的方式。
transform(x) :根據(jù)已經(jīng)計(jì)算出的變換方式,返回對(duì)輸入數(shù)據(jù)x變換后的結(jié)果(不改變x)
fit_transform(x,y) :該方法在計(jì)算出數(shù)據(jù)變換方式之后對(duì)輸入x就地轉(zhuǎn)換。
以上僅僅是簡單的概括sklearn的函數(shù)的一些特點(diǎn)。sklearn絕大部分的函數(shù)的基本用法大概如此。但是不同的估計(jì)器會(huì)有自己不同的屬性,例如隨機(jī)森林會(huì)有Feature_importance來對(duì)衡量特征的重要性,而邏輯回歸有coef_存放回歸系數(shù)intercept_則存放截距等等。并且對(duì)于機(jī)器學(xué)習(xí)來說模型的好壞不僅取決于你選擇的是哪種模型,很大程度上與你超參的設(shè)置有關(guān)。因此使用sklearn的時(shí)候一定要去看看官方文檔,以便對(duì)超參進(jìn)行調(diào)整。

3.sklearn中iris鶯尾花數(shù)據(jù)集使用

# sklearn數(shù)據(jù)集的使用load_iris # sklearn拆分?jǐn)?shù)據(jù)集train_test_split # sklearn字典轉(zhuǎn)換器DictVectorizer from sklearn.datasets import load_iris#導(dǎo)入sklearn中的iris數(shù)據(jù)集 from sklearn.model_selection import train_test_split#導(dǎo)入sklearn中的模型拆分;訓(xùn)練集與測試集 from sklearn.feature_extraction import DictVectorizer#導(dǎo)入轉(zhuǎn)換器def datasets_demo():'''sklearn數(shù)據(jù)集使用:return:'''# 獲取數(shù)據(jù)集iris =load_iris()print('鶯尾花數(shù)據(jù)集:\n',iris)print('查看數(shù)據(jù)集描述:\n',iris['DESCR'])print('查看特征值的名字:\n',iris.feature_names)print('查看特征值:\n',iris.data,iris.data.shape)# 數(shù)據(jù)集的劃分x_train,x_test,y_train,y_test=train_test_split(iris.data,iris.target,test_size=0.2,random_state=22)print('訓(xùn)練集的特征值:\n',x_train,x_train.shape)return None def dict_demo():'''字典特征提取:return:'''data=[{'city':'北京','temperature':100},{'city':'上海','temperature':60},{'city':'深圳','temperature':30}]#1.實(shí)例化一個(gè)轉(zhuǎn)換器transfer=DictVectorizer()#2.調(diào)用fit_transform()data_new = transfer.fit_transform(data)print('data_new:\n',data_new)return None if __name__=='__main__':# 代碼1:sklearn數(shù)據(jù)集使用# datasets_demo()# 代碼2:字典特征抽取dict_demo()

總結(jié)

以上是生活随笔為你收集整理的python机器学习--sklearn数据集使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。