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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

机器学习之Python — Sklearn库简介

發(fā)布時(shí)間:2023/12/24 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 机器学习之Python — Sklearn库简介 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

機(jī)器學(xué)習(xí)之Python — Sklearn庫(kù)簡(jiǎn)介

1 Sklearn簡(jiǎn)介

Scikit-learn(sklearn)是機(jī)器學(xué)習(xí)中常用的第三方模塊,對(duì)常用的機(jī)器學(xué)習(xí)方法進(jìn)行了封裝,包括回歸(Regression)、分類(Classfication)、聚類(Clustering) 、降維(Dimensionality Reduction)等方法。當(dāng)我們面臨機(jī)器學(xué)習(xí)問(wèn)題時(shí),便可根據(jù)下圖來(lái)選擇相應(yīng)的方法。Sklearn具有以下特點(diǎn):

? 簡(jiǎn)單高效的數(shù)據(jù)挖掘和數(shù)據(jù)分析工具
? 讓每個(gè)人能夠在復(fù)雜環(huán)境中重復(fù)使用
? 建立NumPy、Scipy、MatPlotLib之上


sklearn庫(kù)的結(jié)構(gòu)

(1)結(jié)構(gòu):
由圖中,可以看到庫(kù)的算法主要有四類:回歸,分類,聚類,降維。其中:
? 常用的回歸:線性、決策樹(shù)、SVM、KNN ;集成回歸:隨機(jī)森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
? 常用的分類:線性、決策樹(shù)、SVM、KNN,樸素貝葉斯;集成分類:隨機(jī)森林、Adaboost、GradientBoosting、Bagging、ExtraTrees
? 常用聚類:k均值(K-means)、層次聚類(Hierarchical clustering)、DBSCAN
? 常用降維:LinearDiscriminantAnalysis、PCA
(2)圖片中隱含的操作流程:
這個(gè)流程圖代表:藍(lán)色圓圈內(nèi)是判斷條件,綠色方框內(nèi)是可以選擇的算法。你可以根據(jù)自己的數(shù)據(jù)特征和任務(wù)目標(biāo)去找到一條自己的操作路線,一步步做就好了。

2 Sklearn安裝

Sklearn安裝要求:
? Python(>=2.6 or >=3.3)
? NumPy (>= 1.6.6)
? SciPy (>= 0.9)
如果你是window系統(tǒng),你需要打開(kāi)command prompt,輸入conda list 查看你的python包的列表(前提你已經(jīng)裝了anaconda,推薦裝新版的,自帶sklearn了),

如果list有scikit-learn,說(shuō)明你已經(jīng)安裝sklearn庫(kù),如果沒(méi)有的話,看看你的Numpy和scipy相應(yīng)版本是否符合要求,若需要安裝的話,輸入pip install scikit-learn或者conda install scikit-learn

3 Sklearn datasets

Sklearn提供一些標(biāo)準(zhǔn)數(shù)據(jù),我們不必再?gòu)钠渌W(wǎng)站尋找數(shù)據(jù)進(jìn)行訓(xùn)練。例如我們上面用來(lái)訓(xùn)練的load_iris數(shù)據(jù),可以很方便的返回?cái)?shù)據(jù)特征變量和目標(biāo)值。除了引入數(shù)據(jù)之外,我們還可以通過(guò)load_sample_images()來(lái)引入圖片。

4 Sklearn通用學(xué)習(xí)模式

Sklearn中包含眾多機(jī)器學(xué)習(xí)方法,但各種學(xué)習(xí)方法大致相同,我們?cè)谶@里介紹Sklearn通用學(xué)習(xí)模式。面對(duì)自己的任務(wù)肯定有自己的數(shù)據(jù)集,但是對(duì)于學(xué)習(xí)來(lái)說(shuō),sklearn提供了一些數(shù)據(jù),主要有兩部分:現(xiàn)在網(wǎng)上一些常用的數(shù)據(jù)集,可以通過(guò)方法加載;另一種sklearn可以生成數(shù)據(jù),可以生成你設(shè)定的數(shù)據(jù)。(設(shè)定規(guī)模,噪聲等)。模我們還可以通過(guò)MatPlotLib等方法來(lái)直觀的展示數(shù)據(jù)。
SKlearn-iris

SKlearn-boston

5 Sklearn數(shù)據(jù)預(yù)處理 – 標(biāo)準(zhǔn)化

數(shù)據(jù)集的標(biāo)準(zhǔn)化對(duì)于大部分機(jī)器學(xué)習(xí)算法來(lái)說(shuō)都是一種常規(guī)要求,如果單個(gè)特征沒(méi)有或多或少地接近于標(biāo)準(zhǔn)正態(tài)分布,那么它可能并不能在項(xiàng)目中表現(xiàn)出很好的性能。在實(shí)際情況中,我們經(jīng)常忽略特征的分布形狀,直接去均值來(lái)對(duì)某個(gè)特征進(jìn)行中心化,再通過(guò)除以非常量特征(non-constant features)的標(biāo)準(zhǔn)差進(jìn)行縮放。
例如, 許多學(xué)習(xí)算法中目標(biāo)函數(shù)的基礎(chǔ)都是假設(shè)所有的特征都是零均值并且具有同一階數(shù)上的方差(比如徑向基函數(shù)、支持向量機(jī)等)。如果某個(gè)特征的方差比其他特征大幾個(gè)數(shù)量級(jí),那么它就會(huì)在學(xué)習(xí)算法中占據(jù)主導(dǎo)位置,導(dǎo)致學(xué)習(xí)器并不能像我們說(shuō)期望的那樣,從其他特征中學(xué)習(xí)。例如我們可以通過(guò)Scale將數(shù)據(jù)縮放,達(dá)到標(biāo)準(zhǔn)化的目的。


6 Sklearn交叉驗(yàn)證

交叉驗(yàn)證的基本思想是將原始數(shù)據(jù)進(jìn)行分組,一部分做為訓(xùn)練集來(lái)訓(xùn)練模型,另一部分做為測(cè)試集來(lái)評(píng)價(jià)模型。交叉驗(yàn)證用于評(píng)估模型的預(yù)測(cè)性能,尤其是訓(xùn)練好的模型在新數(shù)據(jù)上的表現(xiàn),可以在一定程度上減小過(guò)擬合。還可以從有限的數(shù)據(jù)中獲取盡可能多的有效信息。
機(jī)器學(xué)習(xí)任務(wù)中,拿到數(shù)據(jù)后,我們首先會(huì)將原始數(shù)據(jù)集分為三部分:訓(xùn)練集、驗(yàn)證集和測(cè)試集。 訓(xùn)練集用于訓(xùn)練模型,驗(yàn)證集用于模型的參數(shù)選擇配置,測(cè)試集對(duì)于模型來(lái)說(shuō)是未知數(shù)據(jù),用于評(píng)估模型的泛化能力。不同的劃分會(huì)得到不同的最終模型。
以前我們是直接將數(shù)據(jù)分割成70%的訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù),現(xiàn)在我們利用K折交叉驗(yàn)證分割數(shù)據(jù),首先將數(shù)據(jù)分為5組,然后再?gòu)?組數(shù)據(jù)之中選擇不同數(shù)據(jù)進(jìn)行訓(xùn)練。


7 總結(jié)

在實(shí)驗(yàn)的過(guò)程中,我們涉及到了Matplotlib繪圖庫(kù)、Numpy科學(xué)計(jì)算和SKlearn庫(kù)數(shù)據(jù)讀取的基本使用等等內(nèi)容,是對(duì)所學(xué)科學(xué)計(jì)算及Python工程能力的很好實(shí)踐。
注:當(dāng)前工程代碼已經(jīng)在附件,請(qǐng)老師同學(xué)們參考!

參考資料

[1] 官方文檔:
http://scikit-learn.org/stable/
[2] 互聯(lián)網(wǎng)搜索資料:
https://morvanzhou.github.io/tutorials/machine-learning/sklearn/
[3] python模塊庫(kù):
https://www.lfd.uci.edu/~gohlke/pythonlibs/

總結(jié)

以上是生活随笔為你收集整理的机器学习之Python — Sklearn库简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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