Scikit-learn
是一個(gè)基于Python
的開(kāi)源機(jī)器學(xué)習(xí)庫(kù),它提供了大量的機(jī)器學(xué)習(xí)算法和工具,方便用戶進(jìn)行數(shù)據(jù)挖掘、分析和預(yù)測(cè)。
Scikit-learn
是基于另外兩個(gè)知名的庫(kù) Scipy
和 Numpy
的,
關(guān)于 Scipy
和 Numpy
等庫(kù),之前的系列文章中有介紹:
- Scipy 基礎(chǔ)系列
- Numpy 基礎(chǔ)系列
1. 概要
自從AlphaGo
再度帶起機(jī)器學(xué)習(xí)和AI的熱潮以來(lái),我們聽(tīng)到最多的機(jī)器學(xué)習(xí)框架是 TensorFlow
,PyTorch
以及Keras
等等。
Scikit-learn
與它們相比,知名度要低不少,這是因?yàn)?code>Scikit-learn庫(kù)關(guān)注的是傳統(tǒng)的機(jī)器學(xué)習(xí)領(lǐng)域中經(jīng)典的,被廣泛應(yīng)用和驗(yàn)證的算法。
它完全不涉及TensorFlow
,PyTorch
以及Keras
等框架所在的深度學(xué)習(xí)領(lǐng)域。
雖然看起來(lái)Scikit-learn
似乎遠(yuǎn)遠(yuǎn)不如那些流行的深度學(xué)習(xí)框架,
但從我個(gè)人的經(jīng)驗(yàn)來(lái)看的話,學(xué)習(xí)和掌握Scikit-learn
的意義遠(yuǎn)遠(yuǎn)大于那些深度學(xué)習(xí)框架。
首先,Scikit-learn
歷史悠久,發(fā)展至今,不僅提供了豐富的文檔和參考樣例,甚至連訓(xùn)練數(shù)據(jù)都準(zhǔn)備好了,隨時(shí)都可以拿來(lái)實(shí)驗(yàn)機(jī)器學(xué)習(xí)算法。
其次,深度學(xué)習(xí)雖好,但是使用要求也高。
除了掌握其算法,還必須有大量的數(shù)據(jù)和高性能的硬件,這絕不是個(gè)人和普通企業(yè)所能提供的。
未來(lái),大概率是由幾個(gè)頭部大企業(yè)訓(xùn)練出模型,然后開(kāi)放API
給我們使用,個(gè)人和中小企業(yè)訓(xùn)練自己的深度學(xué)習(xí)模型的概率并不高。
而Scikit-learn
則與之不一樣,它所包含的傳統(tǒng)機(jī)器學(xué)習(xí)中的很多優(yōu)秀算法并不需要海量的數(shù)據(jù),在數(shù)據(jù)量不大的情況下依舊可以訓(xùn)練出優(yōu)秀的模型。
最后,就我自己平時(shí)的數(shù)據(jù)分析相關(guān)項(xiàng)目的實(shí)踐來(lái)看,Scikit-learn
是一個(gè)真正稱(chēng)手的工具。
我平時(shí)的項(xiàng)目中會(huì)接觸到各類(lèi)數(shù)據(jù),比如氣象數(shù)據(jù),銷(xiāo)售數(shù)據(jù),還有一些交易類(lèi)的數(shù)據(jù)等等,
由于服務(wù)的客戶規(guī)模不大,所以數(shù)據(jù)量一般最多也就千萬(wàn)級(jí)別。
使用Scikit-learn
,能夠方便快速的從這些數(shù)據(jù)中分析出有意義結(jié)果。
舉個(gè)不太恰當(dāng)?shù)睦?,目前流行的深度學(xué)習(xí)框架相對(duì)于Scikit-learn
,就像飛機(jī)相對(duì)于自行車(chē)或小汽車(chē)。
學(xué)會(huì)開(kāi)飛機(jī)后,可能實(shí)操的機(jī)會(huì)并不多(除非你在大廠的AI部門(mén));
但是學(xué)會(huì)騎車(chē)和開(kāi)車(chē),總會(huì)有用到它的地方,而且由于其便利簡(jiǎn)單,還會(huì)越用越多。
2. 主要模塊
Scikit-learn
的主要功能包括數(shù)據(jù)預(yù)處理,模型選擇,數(shù)據(jù)降維,分類(lèi),回歸和聚類(lèi)等。
- 數(shù)據(jù)預(yù)處理包括數(shù)據(jù)的特征提取、歸一化、標(biāo)準(zhǔn)化等。
- 模型選擇是對(duì)給定參數(shù)和模型進(jìn)行比較、驗(yàn)證和選擇,以提升預(yù)測(cè)精度。
- 數(shù)據(jù)降維是通過(guò)降維技術(shù)來(lái)減少要考慮的隨機(jī)變量的個(gè)數(shù),常見(jiàn)的應(yīng)用場(chǎng)景有可視化處理、效率提升等。
- 分類(lèi)是給對(duì)象指定所屬類(lèi)別范疇的有監(jiān)督學(xué)習(xí),常見(jiàn)的應(yīng)用場(chǎng)景有垃圾郵件檢測(cè)、圖像識(shí)別等。
- 回歸是預(yù)測(cè)與給定對(duì)象相關(guān)的連續(xù)屬性的值,常見(jiàn)的應(yīng)用場(chǎng)景有預(yù)測(cè)股票價(jià)格、預(yù)測(cè)二手房交易價(jià)格等。
- 聚類(lèi)是自動(dòng)識(shí)別具有相似屬性的給定對(duì)象,并將其分組,屬于無(wú)監(jiān)督學(xué)習(xí),常見(jiàn)的應(yīng)用場(chǎng)景有顧客細(xì)分、實(shí)驗(yàn)結(jié)果分組等。
從功能上看,涵蓋了機(jī)器學(xué)習(xí)從數(shù)據(jù)處理開(kāi)始,到各類(lèi)模塊訓(xùn)練算法,最后到模型的驗(yàn)證和調(diào)優(yōu)等完整的生命周期。
3. 系列文章規(guī)劃
Scikit-learn
的子模塊劃分非常細(xì),從命名空間來(lái)看的話,大概有接近40個(gè)模塊。
分別介紹各個(gè)子模塊意義不大,不如直接看官方文檔,本系列的文章打算從使用者的角度來(lái)介紹它。
先從數(shù)據(jù)和數(shù)據(jù)處理的角度入手,
然后結(jié)合自己工作中的實(shí)際經(jīng)驗(yàn)介紹Scikit-learn
中的一些機(jī)器學(xué)習(xí)的算法,
最后介紹訓(xùn)練模型時(shí)和訓(xùn)練之后對(duì)模型的一些修正和調(diào)優(yōu)的方法。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-747843.html
希望能夠?qū)ο矏?ài)數(shù)據(jù)分析的朋友們有所幫助!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-747843.html
到了這里,關(guān)于【scikit-learn基礎(chǔ)】--概述的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!