“致虛極丽涩,守靜篤艇棕,萬(wàn)物并作咽瓷,吾以觀其復(fù)崔挖。
夫物蕓蕓贸街,各復(fù)歸其根。
歸根曰靜虚汛,是謂復(fù)命匾浪。
復(fù)命曰常皇帮,知常曰明卷哩,不知常,妄作属拾,兇将谊。
知常容,容乃公渐白,公乃全尊浓,全乃天,天乃道纯衍,道乃久栋齿,沒(méi)身不殆。”[1]
Scikit-learn
之前在python易筋經(jīng)
系列中我有寫(xiě)過(guò)scipy的筆記[2]瓦堵,scipy是一個(gè)開(kāi)源的基于python的科學(xué)計(jì)算工具包基协。基于scipy菇用,目前開(kāi)發(fā)者們針對(duì)不同的應(yīng)用領(lǐng)域已經(jīng)發(fā)展出了為數(shù)眾多的分支版本澜驮,它們被統(tǒng)一稱(chēng)為Scikits,即scipy工具包的意思惋鸥。而在這些分支版本中杂穷,最有名,也是專(zhuān)門(mén)面向機(jī)器學(xué)習(xí)的一個(gè)就是Scikit-learn卦绣。
為什么還要scikit-learn耐量?
tensorflow、pytouch所代表的深度學(xué)習(xí)框架的興起滤港,使初學(xué)者趨之若鶩拴鸵,如果使用python作為機(jī)器學(xué)習(xí)語(yǔ)言首選語(yǔ)言的話,其實(shí)都應(yīng)該先靜下心來(lái)好好研究一下scikit-learn蜗搔。Scikit-learn針對(duì)每個(gè)算法和模塊都提供了豐富的參考樣例和詳細(xì)的說(shuō)明文檔劲藐。
做了一張腦圖來(lái)鳥(niǎo)瞰scikit-learn一下:
六大功能
Scikit-learn的基本功能主要被分為六大部分:分類(lèi),回歸樟凄,聚類(lèi)聘芜,數(shù)據(jù)降維,模型選擇和數(shù)據(jù)預(yù)處理缝龄。
分類(lèi)
識(shí)別給定對(duì)象的所屬類(lèi)別汰现,屬于監(jiān)督學(xué)習(xí)的范疇,最常見(jiàn)的應(yīng)用場(chǎng)景包括垃圾郵件檢測(cè)和圖像識(shí)別等叔壤。目前Scikit-learn已經(jīng)實(shí)現(xiàn)的算法包括:支持向量機(jī)(SVM)瞎饲,最近鄰,邏輯回歸炼绘,隨機(jī)森林嗅战,決策樹(shù)以及多層感知器(MLP)神經(jīng)網(wǎng)絡(luò)等等。
回歸
預(yù)測(cè)與給定對(duì)象相關(guān)聯(lián)的連續(xù)值屬性俺亮,最常見(jiàn)的應(yīng)用場(chǎng)景包括預(yù)測(cè)藥物反應(yīng)和預(yù)測(cè)股票價(jià)格等驮捍。目前Scikit-learn已經(jīng)實(shí)現(xiàn)的算法包括:支持向量回歸(SVR),脊回歸脚曾,Lasso回歸东且,彈性網(wǎng)絡(luò)(Elastic Net),最小角回歸(LARS )本讥,貝葉斯回歸珊泳,以及各種不同的魯棒回歸算法等鲁冯。可以看到色查,這里實(shí)現(xiàn)的回歸算法幾乎涵蓋了所有開(kāi)發(fā)者的需求范圍晓褪,而且更重要的是,Scikit-learn還針對(duì)每種算法都提供了簡(jiǎn)單明了的用例參考综慎。
聚類(lèi)
自動(dòng)識(shí)別具有相似屬性的給定對(duì)象涣仿,并將其分組為集合,屬于無(wú)監(jiān)督學(xué)習(xí)的范疇示惊,最常見(jiàn)的應(yīng)用場(chǎng)景包括顧客細(xì)分和試驗(yàn)結(jié)果分組好港。目前Scikit-learn已經(jīng)實(shí)現(xiàn)的算法包括:K-均值聚類(lèi),譜聚類(lèi)米罚,均值偏移钧汹,分層聚類(lèi),DBSCAN聚類(lèi)等录择。
數(shù)據(jù)降維
使用主成分分析(PCA)拔莱、非負(fù)矩陣分解(NMF)或特征選擇等降維技術(shù)來(lái)減少要考慮的隨機(jī)變量的個(gè)數(shù),其主要應(yīng)用場(chǎng)景包括可視化處理和效率提升隘竭。
模型選擇
對(duì)于給定參數(shù)和模型的比較塘秦、驗(yàn)證和選擇,其主要目的是通過(guò)參數(shù)調(diào)整來(lái)提升精度动看。目前Scikit-learn實(shí)現(xiàn)的模塊包括:格點(diǎn)搜索尊剔,交叉驗(yàn)證和各種針對(duì)預(yù)測(cè)誤差評(píng)估的度量函數(shù)。
數(shù)據(jù)預(yù)處理
數(shù)據(jù)的特征提取和歸一化菱皆,是機(jī)器學(xué)習(xí)過(guò)程中的第一個(gè)也是最重要的一個(gè)環(huán)節(jié)须误。這里歸一化是指將輸入數(shù)據(jù)轉(zhuǎn)換為具有零均值和單位權(quán)方差的新變量,但因?yàn)榇蠖鄶?shù)時(shí)候都做不到精確等于零仇轻,因此會(huì)設(shè)置一個(gè)可接受的范圍京痢,一般都要求落在0-1之間。而特征提取是指將文本或圖像數(shù)據(jù)轉(zhuǎn)換為可用于機(jī)器學(xué)習(xí)的數(shù)字變量篷店。
需要特別注意的是祭椰,這里的特征提取與上文在數(shù)據(jù)降維中提到的特征選擇非常不同。特征選擇是指通過(guò)去除不變船庇、協(xié)變或其他統(tǒng)計(jì)上不重要的特征量來(lái)改進(jìn)機(jī)器學(xué)習(xí)的一種方法吭产。
環(huán)境安裝
再次推薦Anaconda:
- 方便安裝各種包,numpy鸭轮、scipy、scikit-learn等橄霉,有點(diǎn)類(lèi)似maven窃爷。
- Jupyter Notebook 集成在anaconda中邑蒋,可以方便調(diào)試程序和熟悉交互式筆記。
-
老子《道德經(jīng)》第十六章按厘,老子故里医吊,中國(guó)鹿邑。 ?