機(jī)器學(xué)習(xí)入門之sklearn介紹

SKlearn簡(jiǎn)介

scikit-learn村砂,又寫作sklearn佳窑,是一個(gè)開源的基于python語言的機(jī)器學(xué)習(xí)工具包单旁。它通過NumPy, SciPy和Matplotlib等python數(shù)值計(jì)算的庫(kù)實(shí)現(xiàn)高效的算法應(yīng)用墨林,并且涵蓋了幾乎所有主流機(jī)器學(xué)習(xí)算法。

SKlearn官網(wǎng)鏈接:http://scikit-learn.org/stable/index.html

在工程應(yīng)用中韧掩,用python手寫代碼來從頭實(shí)現(xiàn)一個(gè)算法的可能性非常低紊浩,這樣不僅耗時(shí)耗力,還不一定能夠?qū)懗鰳?gòu)架清晰揍很,穩(wěn)定性強(qiáng)的模型郎楼。更多情況下,是分析采集到的數(shù)據(jù)窒悔,根據(jù)數(shù)據(jù)特征選擇適合的算法呜袁,在工具包中調(diào)用算法,調(diào)整算法的參數(shù)简珠,獲取需要的信息阶界,從而實(shí)現(xiàn)算法效率和效果之間的平衡。而sklearn聋庵,正是這樣一個(gè)可以幫助我們高效實(shí)現(xiàn)算法應(yīng)用的工具包膘融。

sklearn有一個(gè)完整而豐富的官網(wǎng),里面講解了基于sklearn對(duì)所有算法的實(shí)現(xiàn)和簡(jiǎn)單應(yīng)用祭玉。

常用模塊

sklearn中常用的模塊有分類氧映、回歸、聚類脱货、降維岛都、模型選擇、預(yù)處理振峻。

SKlearn官網(wǎng)主頁

分類:識(shí)別某個(gè)對(duì)象屬于哪個(gè)類別臼疫,常用的算法有:SVM(支持向量機(jī))、nearest neighbors(最近鄰)扣孟、random forest(隨機(jī)森林)烫堤,常見的應(yīng)用有:垃圾郵件識(shí)別、圖像識(shí)別。

回歸:預(yù)測(cè)與對(duì)象相關(guān)聯(lián)的連續(xù)值屬性鸽斟,常見的算法有:SVR(支持向量機(jī))拔创、 ridge regression(嶺回歸)、Lasso湾盗,常見的應(yīng)用有:藥物反應(yīng)伏蚊,預(yù)測(cè)股價(jià)。

聚類:將相似對(duì)象自動(dòng)分組格粪,常用的算法有:k-Means、 spectral clustering氛改、mean-shift帐萎,常見的應(yīng)用有:客戶細(xì)分,分組實(shí)驗(yàn)結(jié)果胜卤。

降維:減少要考慮的隨機(jī)變量的數(shù)量疆导,常見的算法有:PCA(主成分分析)、feature selection(特征選擇)葛躏、non-negative matrix factorization(非負(fù)矩陣分解)澈段,常見的應(yīng)用有:可視化,提高效率舰攒。

模型選擇:比較败富,驗(yàn)證,選擇參數(shù)和模型摩窃,常用的模塊有:grid search(網(wǎng)格搜索)兽叮、cross validation(交叉驗(yàn)證)、 metrics(度量)猾愿。它的目標(biāo)是通過參數(shù)調(diào)整提高精度鹦聪。

預(yù)處理:特征提取和歸一化,常用的模塊有:preprocessing蒂秘,feature extraction泽本,常見的應(yīng)用有:把輸入數(shù)據(jù)(如文本)轉(zhuǎn)換為機(jī)器學(xué)習(xí)算法可用的數(shù)據(jù)。

安裝SKlearn

安裝最新版本

Scikit-learn需要:

  • Python(> = 2.7或> = 3.4)姻僧,

  • NumPy(> = 1.8.2)规丽,

  • SciPy(> = 0.13.3)。

【注意】Scikit-learn 0.20是支持Python 2.7和Python 3.4的最后一個(gè)版本段化。Scikit-learn 0.21將需要Python 3.5或更高版本嘁捷。

如果你已經(jīng)安裝了numpy和scipy,那么安裝scikit-learn的最簡(jiǎn)單方法就是使用 pip或者canda

pip install -U scikit-learn
conda install scikit-learn

如果你尚未安裝NumPy或SciPy显熏,你也可以使用conda或pip安裝它們雄嚣。使用pip時(shí),請(qǐng)確保使用binary wheels,并且不會(huì)從源頭重新編譯NumPy和SciPy缓升,這可能在使用特定配置的操作系統(tǒng)和硬件(例如Raspberry Pi上的Linux)時(shí)發(fā)生鼓鲁。從源代碼構(gòu)建numpy和scipy可能很復(fù)雜(特別是在Windows上),需要仔細(xì)配置以確保它們與線性代數(shù)例程的優(yōu)化實(shí)現(xiàn)相關(guān)聯(lián)港谊。為了方便骇吭,我們可以使用如下所述的第三方發(fā)行版本。

發(fā)行版本

如果你還沒有numpy和scipy的python安裝歧寺,我們建議你通過包管理器或通過python bundle安裝燥狰。它們帶有numpy,scipy斜筐,scikit-learn龙致,matplotlib以及許多其他有用的科學(xué)和數(shù)據(jù)處理庫(kù)。

可用選項(xiàng)包括:Canopy和Anaconda適用于所有支持的平臺(tái)

除了用于Windows顷链,Mac OSX和Linux的大量科學(xué)python庫(kù)之外目代,CanopyAnaconda都提供了最新版本的scikit-learn。

Anaconda提供scikit-learn作為其免費(fèi)發(fā)行的一部分嗤练。

【注意】pip和conda命令不要混用i涣恕!煞抬!

要升級(jí)或卸載scikit-learn安裝了python或者conda不應(yīng)該使用PIP命令霜大。

升級(jí)scikit-learnconda update scikit-learn

卸載scikit-learnconda remove scikit-learn

使用pip install -U scikit-learn安裝或者使用pip uninstall scikit-learn卸載可能都沒有辦法更改有conda命令安裝的sklearn。

算法選擇

sklearn 實(shí)現(xiàn)了很多算法此疹,面對(duì)這么多的算法僧诚,如何去選擇呢?其實(shí)選擇的主要考慮的就是需要解決的問題以及數(shù)據(jù)量的大小蝗碎。sklearn官方提供了一個(gè)選擇算法的引導(dǎo)圖湖笨。

https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

這里提供翻譯好的中文版本,供大家參考:

模型選擇
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蹦骑,一起剝皮案震驚了整個(gè)濱河市慈省,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌眠菇,老刑警劉巖边败,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異捎废,居然都是意外死亡笑窜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門登疗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來排截,“玉大人嫌蚤,你說我怎么就攤上這事《习粒” “怎么了脱吱?”我有些...
    開封第一講書人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)认罩。 經(jīng)常有香客問我箱蝠,道長(zhǎng),這世上最難降的妖魔是什么垦垂? 我笑而不...
    開封第一講書人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任宦搬,我火速辦了婚禮,結(jié)果婚禮上乔外,老公的妹妹穿的比我還像新娘床三。我一直安慰自己,他們只是感情好杨幼,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著聂渊,像睡著了一般差购。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上汉嗽,一...
    開封第一講書人閱讀 52,475評(píng)論 1 312
  • 那天欲逃,我揣著相機(jī)與錄音,去河邊找鬼饼暑。 笑死稳析,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弓叛。 我是一名探鬼主播彰居,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼撰筷!你這毒婦竟也來了陈惰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤毕籽,失蹤者是張志新(化名)和其女友劉穎抬闯,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體关筒,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡溶握,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蒸播。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睡榆。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出肉微,到底是詐尸還是另有隱情匾鸥,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布碉纳,位于F島的核電站勿负,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏劳曹。R本人自食惡果不足惜奴愉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铁孵。 院中可真熱鬧锭硼,春花似錦、人聲如沸蜕劝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岖沛。三九已至暑始,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間婴削,已是汗流浹背廊镜。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留唉俗,地道東北人嗤朴。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像虫溜,于是被迫代替她去往敵國(guó)和親雹姊。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容