29呕臂、Scikit-Learn:Python機(jī)器學(xué)習(xí)庫(kù)

如果您是一名Python程序員肪跋,或者您正在尋找一個(gè)強(qiáng)大的庫(kù)州既,您可以將機(jī)器學(xué)習(xí)帶入生產(chǎn)系統(tǒng),那么您需要認(rèn)真考慮的庫(kù)是scikit-learn褥琐。

在這篇文章中晤郑,您將獲得scikit-learn庫(kù)的概述以及可以從中了解更多信息的有用參考資料造寝。

它從哪里來(lái)的吭练?

Scikit-learn最初是由David Cournapeau在2007年開(kāi)發(fā)的Google夏季代碼項(xiàng)目鲫咽。

后來(lái)Matthieu Brucher加入了這個(gè)項(xiàng)目并開(kāi)始將其作為論文工作的一部分谷异。2010年歹嘹,INRIA參與其中孔庭,第一次公開(kāi)發(fā)布(v0.1 beta)于2010年1月下旬發(fā)布圆到。

該項(xiàng)目目前有30多名活躍的貢獻(xiàn)者,并已獲得INRIA马绝,Google迹淌,TinycluesPython軟件基金會(huì)的贊助己单。

Scikit-learn主頁(yè)

什么是scikit-learn纹笼?

Scikit-learn通過(guò)Python中的一致接口提供一系列有監(jiān)督和無(wú)監(jiān)督的學(xué)習(xí)算法廷痘。

它根據(jù)許可的簡(jiǎn)化BSD許可證授權(quán),并在許多Linux發(fā)行版下分發(fā)元暴,鼓勵(lì)學(xué)術(shù)和商業(yè)用途茉盏。

該庫(kù)是基于SciPy(Scientific Python)構(gòu)建的枢冤,必須先安裝才能使用scikit-learn淹真。這個(gè)堆棧包括:

  • NumPy:基本n維數(shù)組包
  • SciPy:科學(xué)計(jì)算的基礎(chǔ)庫(kù)
  • Matplotlib:全面的2D / 3D繪圖
  • IPython:增強(qiáng)的交互式控制臺(tái)
  • Sympy:符號(hào)數(shù)學(xué)
  • 熊貓:數(shù)據(jù)結(jié)構(gòu)和分析

SciPy護(hù)理的擴(kuò)展或模塊通常命名為SciKits。因此巍糯,該模塊提供學(xué)習(xí)算法祟峦,并命名為scikit-learn。

該庫(kù)的愿景是在生產(chǎn)系統(tǒng)中使用所需的穩(wěn)健性和支持水平惰聂。這意味著要深入關(guān)注易用性搓幌,代碼質(zhì)量迅箩,協(xié)作饲趋,文檔和性能等問(wèn)題。

雖然接口是Python堂污,但c-libraries可以利用性能龄砰,例如數(shù)組和矩陣運(yùn)算的numpy换棚,LAPACKLibSVM以及cython的精心使用娘汞。

有什么特點(diǎn)夕玩?

該庫(kù)專(zhuān)注于建模數(shù)據(jù)风秤。它不專(zhuān)注于加載缤弦,操作和匯總數(shù)據(jù)彻磁。有關(guān)這些功能狸捅,請(qǐng)參閱NumPy和Pandas。

截圖取自均值漂移聚類(lèi)算法的演示

scikit-learn提供的一些流行的模型組包括:

  • 聚類(lèi):用于對(duì)未標(biāo)記的數(shù)據(jù)(如KMeans)進(jìn)行分組累提。
  • 交叉驗(yàn)證:用于估計(jì)監(jiān)督模型對(duì)未見(jiàn)數(shù)據(jù)的性能尘喝。
  • 數(shù)據(jù)集:用于測(cè)試數(shù)據(jù)集以及用于生成具有用于調(diào)查模型行為的特定屬性的數(shù)據(jù)集。
  • 降維:用于減少數(shù)據(jù)中的屬性數(shù)量斋陪,以進(jìn)行摘要朽褪,可視化和特征選擇,例如主成分分析无虚。
  • 集合方法:用于組合多個(gè)監(jiān)督模型的預(yù)測(cè)缔赠。
  • 特征提取:用于定義圖像和文本數(shù)據(jù)中的屬性。
  • 特征選擇:用于識(shí)別用于創(chuàng)建監(jiān)督模型的有意義的屬性友题。
  • 參數(shù)調(diào)整:用于充分利用受監(jiān)督的模型。
  • 流形學(xué)習(xí):用于總結(jié)和描述復(fù)雜的多維數(shù)據(jù)度宦。
  • 監(jiān)督模型:一個(gè)龐大的陣列踢匣,不僅限于廣義線性模型,判別分析戈抄,樸素貝葉斯离唬,惰性方法,神經(jīng)網(wǎng)絡(luò)划鸽,支持向量機(jī)和決策樹(shù)男娄。

示例:分類(lèi)和回歸樹(shù)

我想舉個(gè)例子向您展示使用庫(kù)是多么容易。

在此示例中漾稀,我們使用分類(lèi)和回歸樹(shù)(CART)決策樹(shù)算法來(lái)模擬Iris花數(shù)據(jù)集模闲。

此數(shù)據(jù)集作為庫(kù)的示例數(shù)據(jù)集提供并加載。分類(lèi)器適合數(shù)據(jù)崭捍,然后對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行預(yù)測(cè)尸折。

最后,打印分類(lèi)準(zhǔn)確度和混淆矩陣殷蛇。

# Sample Decision Tree Classifier
from sklearn import datasets
from sklearn import metrics
from sklearn.tree import DecisionTreeClassifier
# load the iris datasets
dataset = datasets.load_iris()
# fit a CART model to the data
model = DecisionTreeClassifier()
model.fit(dataset.data, dataset.target)
print(model)
# make predictions
expected = dataset.target
predicted = model.predict(dataset.data)
# summarize the fit of the model
print(metrics.classification_report(expected, predicted))
print(metrics.confusion_matrix(expected, predicted))

運(yùn)行此示例將生成以下輸出实夹,顯示已訓(xùn)練模型的詳細(xì)信息,根據(jù)一些常見(jiàn)指標(biāo)的模型技能和混淆矩陣粒梦。

DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,
            max_features=None, max_leaf_nodes=None, min_samples_leaf=1,
            min_samples_split=2, min_weight_fraction_leaf=0.0,
            presort=False, random_state=None, splitter='best')
             precision    recall  f1-score   support
 
          0       1.00      1.00      1.00        50
          1       1.00      1.00      1.00        50
          2       1.00      1.00      1.00        50
 
avg / total       1.00      1.00      1.00       150
 
[[50  0  0]
 [ 0 50  0]
 [ 0  0 50]]

誰(shuí)在使用它亮航?

它具有良好的測(cè)試覆蓋率和管理版本,適用于原型和生產(chǎn)項(xiàng)目匀们。

資源

如果您有興趣了解更多信息缴淋,請(qǐng)查看包含文檔和相關(guān)資源的Scikit-Learn主頁(yè)

您可以從github存儲(chǔ)庫(kù)獲取代碼,并且在Sourceforge項(xiàng)目中可以獲得歷史版本重抖。

文檔

我建議您從快速入門(mén)教程開(kāi)始露氮,然后瀏覽用戶指南和示例庫(kù),了解您感興趣的算法钟沛。

最終畔规,scikit-learn是一個(gè)庫(kù),API參考將是完成工作的最佳文檔恨统。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末叁扫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子畜埋,更是在濱河造成了極大的恐慌陌兑,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件由捎,死亡現(xiàn)場(chǎng)離奇詭異兔综,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)狞玛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)软驰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人心肪,你說(shuō)我怎么就攤上這事锭亏。” “怎么了硬鞍?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵慧瘤,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我固该,道長(zhǎng),這世上最難降的妖魔是什么伐坏? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任怔匣,我火速辦了婚禮,結(jié)果婚禮上每瞒,老公的妹妹穿的比我還像新娘。我一直安慰自己埠褪,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布羽资。 她就那樣靜靜地躺著,像睡著了一般腹暖。 火紅的嫁衣襯著肌膚如雪脏答。 梳的紋絲不亂的頭發(fā)上殖告,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天爽丹,我揣著相機(jī)與錄音辛蚊,去河邊找鬼。 笑死谤狡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的霉囚。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼悄蕾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起影锈,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤靴姿,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后淤刃,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體吱型,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡铝侵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年疟丙,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片展蒂。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡夹界,死狀恐怖鸠踪,靈堂內(nèi)的尸體忽然破棺而出复斥,到底是詐尸還是另有隱情目锭,我是刑警寧澤痢虹,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布惨缆,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏累贤。R本人自食惡果不足惜臼膏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一检访、第九天 我趴在偏房一處隱蔽的房頂上張望会烙。 院中可真熱鬧柏腻,春花似錦、人聲如沸肯尺。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至抬驴,卻和暖如春布持,著一層夾襖步出監(jiān)牢的瞬間侧啼,已是汗流浹背牛柒。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工堪簿, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留痊乾,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓椭更,卻偏偏與公主長(zhǎng)得像哪审,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子虑瀑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

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