摘要:簡介官方的解釋很簡單用來玩機器學習。什么是機器學習機器學習關(guān)注的是計算機程序如何隨著經(jīng)驗積累自動提高性能。的生態(tài)是一門簡單易學的語言,語法要素不多,對于只關(guān)心機器學習本身非軟件開發(fā)的人員,語言層面的東西基本是不需要關(guān)心的。
Scikit-learn 簡介
官方的解釋很簡單: Machine Learning in Python, 用python來玩機器學習。
什么是機器學習機器學習關(guān)注的是: 計算機程序如何隨著經(jīng)驗積累自動提高性能。而最大的吸引力在于,不需要寫任何與問題相關(guān)的特定代碼,泛型算法就能告訴你一些關(guān)于數(shù)據(jù)的秘密。
Scikit-learn的優(yōu)點構(gòu)建于現(xiàn)有的NumPy(基礎(chǔ)n維數(shù)組包),SciPy(科學計算基礎(chǔ)包), matplotlib(全面的2D/3D畫圖),IPython(加強的交互解釋器),Sympy(Symbolic mathematics), Pandas(數(shù)據(jù)結(jié)構(gòu)和分析)之上,做了易用性的封裝。
簡單且高效的數(shù)據(jù)挖掘、數(shù)據(jù)分析的工具。
對所有人開放,且在很多場景易于復(fù)用。
BSD證書下開源。
Scikit-learn的生態(tài) Pythonpython是一門簡單易學的語言,語法要素不多,對于只關(guān)心機器學習本身非軟件開發(fā)的人員,python語言層面的東西基本是不需要關(guān)心的。
Jupyterhttp://nbviewer.jupyter.org/ 提供了一種便利的方式去共享自己或是別人的計算成果,以一種之前單單共享代碼不同的交互的方式,scikit-learn官網(wǎng)上面大量的例子也是以這種方式展示,使用者不僅看到了代碼的使用方式,還看到了代碼的結(jié)果,如果自己搭建了jupyter server的話,導(dǎo)入notebook還可以直接在瀏覽器中在其中上下文任意處修改,大大增加了學習效率。
Scikit-learn 的主要內(nèi)容 Scikit-learn的算法地圖按照上圖 scikit-learn提供的主要功能主要關(guān)注與數(shù)據(jù)建模,而非加載、操作、總結(jié)數(shù)據(jù), 這些任務(wù)可能NumPy、Pandas就已經(jīng)足夠了。為此scikit-learn 主要提供了以下功能:
測試數(shù)據(jù)集,sklearn.datasets模塊提供了乳腺癌、kddcup 99、iris、加州房價等諸多開源的數(shù)據(jù)集
降維(Dimensionality Reduction): 為了特征篩選、統(tǒng)計可視化來減少屬性的數(shù)量。
特征提取(Feature extraction): 定義文件或者圖片中的屬性。
特征篩選(Feature selection): 為了建立監(jiān)督學習模型而識別出有真實關(guān)系的屬性。
按算法功能分類,分為監(jiān)督學習:分類(classification)和回歸(regression),以及非監(jiān)督學習:聚類(clustering)。sklearn提供了很全面的算法實現(xiàn),詳細算法清單http://scikit-learn.org/stabl...。
聚類(Clustring): 使用KMeans之類的算法去給未標記的數(shù)據(jù)分類。
交叉驗證(Cross Validation): 去評估監(jiān)督學習模型的性能。
參數(shù)調(diào)優(yōu)(Parameter Tuning): 去調(diào)整監(jiān)督學習模型的參數(shù)以獲得最大效果。
流型計算(Manifold Learning): 去統(tǒng)計和描繪多維度的數(shù)據(jù)
常用算法的大致介紹 分類 Classification適用范圍: 用作訓練預(yù)測已經(jīng)標記的數(shù)據(jù)集的類別. 監(jiān)督學習的代表。
常用算法對比:
Do we Need Hundreds of Classifiers to Solve Real World Classification Problems?,文章測試了179種分類模型在UCI所有的121個數(shù)據(jù)上的性能,發(fā)現(xiàn)Random Forests 和 SVM 性能最好。
回歸 Regression適用范圍:
回歸是用于估計兩種變量之間關(guān)系的統(tǒng)計過程,回歸分析可以幫助我們理解當任意一個自變量變化,另一個自變量不變時,因變量變化的典型值。最常見的是,回歸分析能在給定自變量的條件下估計出因變量的條件期望。 (舉個例子,在二維的坐標系中,根據(jù)已有的坐標點去推導(dǎo)x、y軸的函數(shù)關(guān)系,既一元n次方程。)
常用算法對比:
集成算法 Ensemble Algorithms優(yōu)點:直接、快速;知名度高
缺點:要求嚴格的假設(shè);需要處理異常值
上圖是多帶帶用決策樹來做回歸任務(wù)去預(yù)測數(shù)據(jù),但是反映了決策樹雖然易于解釋理解之外會有一些預(yù)測上的缺點,總結(jié)而言是趨向過擬合,可能或陷于局部最小值中、沒有在線學習,所以下圖引入了AdaBoost 集成算法來增加預(yù)測的可靠性,由此引出了集成算法的優(yōu)點:
集成方法是由多個較弱的模型集成模型組,其中的模型可以多帶帶進行訓練,并且它們的預(yù)測能以某種方式結(jié)合起來去做出一個總體預(yù)測。
當先最先進的預(yù)測幾乎都使用了算法集成。它比使用單個模型預(yù)測出來的結(jié)果要精確的多。
但是如何找出可結(jié)合的弱模型、以及結(jié)合的方式又稱為了繁重的維護工作。
聚類 Clustering適用范圍:
是在沒有標記的情況下去分類數(shù)據(jù),使數(shù)據(jù)變得有意義, 如果已知分類分類的個數(shù),Kmeans算法會更容易得出效果。
常用算法對比:
該圖中顏色是聚類的結(jié)果,而非標記, 各算法的分類結(jié)果都可以根據(jù)輸入?yún)?shù)調(diào)優(yōu),只是為了展示聚類的適用范圍適合有特征的數(shù)據(jù)類型,對于最下一行的幾乎均勻的數(shù)據(jù)幾乎沒有任何意義。
Scikit-learn進行計算的主要步驟數(shù)據(jù)獲取、預(yù)處理。
可選的降維過程.因為原始數(shù)據(jù)的維度比較大, 所以需要先找出真正跟預(yù)測目標相關(guān)的屬性。
學習以及預(yù)測的過程。
反復(fù)學習的過程。增加樣本、調(diào)優(yōu)參數(shù)、換算法各種方式去提供預(yù)測的準確率。
Scikit-learn 的簡單使用示例決策樹示例:
from sklearn import datasets from sklearn import metrics from sklearn.tree import DecisionTreeClassifier # 讀取 iris 數(shù)據(jù)集 dataset = datasets.load_iris() # 采用CART模型 model = DecisionTreeClassifier() model.fit(dataset.data, dataset.target) print(model) # 預(yù)測 expected = dataset.target predicted = model.predict(dataset.data) # 統(tǒng)計 print(metrics.classification_report(expected, predicted)) print(metrics.confusion_matrix(expected, predicted))
輸出:
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]]引用
Quick Start Tutorial http://scikit-learn.org/stabl...
User Guide http://scikit-learn.org/stabl...
API Reference http://scikit-learn.org/stabl...
Example Gallery http://scikit-learn.org/stabl...
Scikit-learn: Machine Learning in Python
API design for machine learning software: experiences from the scikit-learn project
反爬蟲
文章來源:http://bigsec.com/
toyld 豈安科技搬運代碼負責人
主導(dǎo)各處的挖坑工作,擅長挖坑于悄然不息,負責生命不息,挖坑不止。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/38541.html
摘要:使用該數(shù)據(jù)集,我們將構(gòu)建機器學習模型以使用腫瘤信息來預(yù)測腫瘤是惡性的還是良性的。我們將使用函數(shù)來確定機器學習分類器的準確性。您已成功構(gòu)建了第一臺機器學習分類器?,F(xiàn)在,您可以使用在中加載數(shù)據(jù)組織數(shù)據(jù)訓練預(yù)測和評估機器學習分類器。 歡迎大家前往騰訊云+社區(qū),獲取更多騰訊海量技術(shù)實踐干貨哦~ 本文由信姜緣 發(fā)表于云+社區(qū)專欄 介紹 機器學習是計算機科學、人工智能和統(tǒng)計學的研究領(lǐng)域。機器學...
摘要:安裝安裝用于數(shù)據(jù)科學的的最佳方法是使用發(fā)行版。但這只是展示了構(gòu)建數(shù)據(jù)科學問題的不同方式中的機器學習這是一個重要的主題,機器學習正在風靡世界,是數(shù)據(jù)科學家工作的重要組成部分。 作為編程界的頭牌名媛,Python平易近人的態(tài)度和精明婉約的靈動深得各個大佬歡心。比如:人工智能、web開發(fā)、爬蟲、系統(tǒng)運維、數(shù)據(jù)分析與計算等等。這幾位風流多金的行業(yè)精英隨便哪個都能逆轉(zhuǎn)未來。 本文為你精心準備了一...
摘要:是你學習從入門到專家必備的學習路線和優(yōu)質(zhì)學習資源。的數(shù)學基礎(chǔ)最主要是高等數(shù)學線性代數(shù)概率論與數(shù)理統(tǒng)計三門課程,這三門課程是本科必修的。其作為機器學習的入門和進階資料非常適合。書籍介紹深度學習通常又被稱為花書,深度學習領(lǐng)域最經(jīng)典的暢銷書。 showImg(https://segmentfault.com/img/remote/1460000019011569); 【導(dǎo)讀】本文由知名開源平...
閱讀 1225·2021-09-26 09:55
閱讀 3191·2019-08-30 15:55
閱讀 965·2019-08-30 15:53
閱讀 2296·2019-08-30 13:59
閱讀 2380·2019-08-29 13:08
閱讀 1107·2019-08-29 12:19
閱讀 3302·2019-08-26 13:41
閱讀 418·2019-08-26 13:24