




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
9.4基于機器學習的圖像分類算法CONTENTS目錄概述01KNN算法02決策樹03伯努利分布樸素貝葉斯04支持向量機SVM05CONTENTS目錄概述01KNN算法02決策樹03伯努利分布樸素貝葉斯04支持向量機SVM05機器學習的算法很多,很多算法是一類算法,而有些算法又是從其他算法中延伸出來的??梢岳靡韵滤惴ㄟM行圖片分類:KNN、決策樹、樸素貝葉斯、支持向量機SVC。概述CONTENTS目錄概述01KNN算法02決策樹03伯努利分布樸素貝葉斯04支持向量機SVM051.KNN算法(1)概念kNN算法又稱為K近鄰分類(k-nearestneighborclassification)算法。最簡單平凡的分類器也許是那種死記硬背式的分類器,記住所有的訓練數(shù)據(jù),對于新的數(shù)據(jù)則直接和訓練數(shù)據(jù)匹配,如果存在相同屬性的訓練數(shù)據(jù),則直接用它的分類來作為新數(shù)據(jù)的分類。這種方式有一個明顯的缺點,那就是很可能無法找到完全匹配的訓練記錄。kNN算法則是從訓練集中找到和新數(shù)據(jù)最接近的K條記錄,然后根據(jù)他們的主要分類來決定新數(shù)據(jù)的類別。該算法涉及3個主要因素:訓練集、距離或相似的衡量、K的大小。KNN算法(2)KNN特點KNN是一種非參的、惰性的算法模型。非參的意思并不是說這個算法不需要參數(shù),而是意味著這個模型不會對數(shù)據(jù)做出任何的假設(shè),與之相對的是線性回歸。也就是說KNN建立的模型結(jié)構(gòu)是根據(jù)數(shù)據(jù)來決定的。惰性又是什么意思呢?同樣是分類算法,邏輯回歸需要先對數(shù)據(jù)進行大量訓練(tranning),最后才會得到一個算法模型。而KNN算法卻不需要,它沒有明確的訓練數(shù)據(jù)的過程,或者說這個過程很快。1)優(yōu)點簡單,易于理解,易于實現(xiàn),無需估計參數(shù),無需訓練。適合對稀有事件進行分類(例如當流失率很低時,比如低于0.5%,構(gòu)造流失預測模型)。特別適合于多分類問題(multi-modal,對象具有多個類別標簽),例如根據(jù)基因特征來判斷其功能分類,kNN比SVM的表現(xiàn)要好。2)缺點懶惰算法,對測試樣本分類時的計算量大,內(nèi)存開銷大,評分慢??山忉屝暂^差,無法給出決策樹那樣的規(guī)則。KNN算法(3)KNN訓練和評估1)導入分類問題:fromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_splitfromsklearn.neighborsimportKNeighborsClassifier回歸問題:fromsklearnimportdatasetsfromsklearn.model_selectionimporttrain_test_splitfromsklearn.neighborsimportKNeighborsRegressorKNN算法2)加載數(shù)據(jù)加載iris的數(shù)據(jù),把屬性存在X,類別標簽存在y:iris=datasets.load_iris()iris_x=iris.datairis_y=iris.targetprint(iris_x)print(iris_y)把數(shù)據(jù)集分為訓練集和測試集,其中test_size=0.3,即測試集占總數(shù)據(jù)的30%:x_train,x_test,y_train,y_test=train_test_split(iris_x,iris_y,test_size=0.3)print(y_train)print(y_test)KNN算法3)訓練knnclf=KNeighborsClassifier(n_neighbors=5)knnrgr=KNeighborsRegressor(n_neighbors=3)knnclf.fit(X_train,y_train)4)預測y_pre=knnclf.predict(x_test)KNN算法CONTENTS目錄概述01KNN算法02決策樹03伯努利分布樸素貝葉斯04支持向量機SVM052、決策樹決策樹(decisiontree)是一個樹結(jié)構(gòu)(可以是二叉樹或非二叉樹)。其每個非葉節(jié)點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉節(jié)點存放一個類別。使用決策樹進行決策的過程就是從根節(jié)點開始,測試待分類項中相應的特征屬性,并按照其值選擇輸出分支,直到到達葉子節(jié)點,將葉子節(jié)點存放的類別作為決策結(jié)果。決策樹的優(yōu)點:1)易于理解和解釋。樹木可以被可視化;2)只需要很少的數(shù)據(jù)準備,數(shù)據(jù)可以不規(guī)范化,但是需要注意的是,決策樹不能有丟失的值;3)使用該樹的花費是用于訓練樹的數(shù)據(jù)點個數(shù)的對數(shù);4)能夠處理多輸出問題。5)使用白盒模型。如果給定的情況在模型中是可觀察到的,那么對這種情況的解釋很容易用布爾邏輯來解釋。相比之下,在黑盒模型中(例如,在人工神經(jīng)網(wǎng)絡(luò)中),結(jié)果可能更難以解釋。6)可以使用統(tǒng)計測試來驗證模型。決策樹決策樹的缺點:1)容易過擬合。為了避免這個問題,可以進行樹的剪枝、或在葉節(jié)點上設(shè)置所需的最小樣本數(shù)量或設(shè)置樹的最大深度。2)決策樹是不穩(wěn)定的,數(shù)據(jù)中的微小變化可能會導致生成完全不同的樹。在集成中使用決策樹可以緩解這個問題。3)有些概念很難學,因為決策樹不容易表達它們,例如異或奇偶性或多路復用問題。4)如果某些類別占主導地位,決策樹學習器就會創(chuàng)建有偏見的樹。因此,建議在與決策樹匹配之前平衡數(shù)據(jù)集。決策樹(3)訓練和評估鳶尾花分類為例:1)導入fromsklearnimportdatasetsimportpandasaspdfromsklearn.model_selectionimporttrain_test_splitfromsklearn.treeimportDecisionTreeClassifierimportgraphvizfromsklearn.treeimportexport_graphviz決策樹2)加載iris=datasets.load_iris()features=pd.DataFrame(iris.data,columns=iris.feature_names)target=pd.DataFrame(iris.target,columns=['type'])train_feature,test_feature,train_targets,test_targets=train_test_split(features,target,test_size=0.33,random_state=42)model=DecisionTreeClassifier()model.fit(train_feature,train_targets)model.predict(test_feature)決策樹3)評價訓練模型fromsklearn.metricsimportaccuracy_scoreaccuracy_score(test_targets.values.flatten(),model.predict(test_feature))4)預測image=export_graphviz(model,out_file=None,feature_names=iris.feature_names,class_names=iris.target_names)graphviz.Source(image)決策樹CONTENTS目錄概述01KNN算法02決策樹03伯努利分布樸素貝葉斯04支持向量機SVM053.伯努利分布樸素貝葉斯適用于伯努利分布,也適用于文本數(shù)據(jù)(此時特征表示的是是否出現(xiàn),例如某個詞語的出現(xiàn)為1,不出現(xiàn)為0)絕大多數(shù)情況下表現(xiàn)不如多項式分布,但有的時候伯努利分布表現(xiàn)得要比多項式分布要好,尤其是對于小數(shù)量級的文本數(shù)據(jù)伯努利分布樸素貝葉斯(3)訓練和評估1)導入fromsklearn.naive_bayesimportBernoulliNB2)創(chuàng)建模型bNB=BernoulliNB()3)將字符集轉(zhuǎn)詞頻集fromsklearn.feature_extraction.textimportTfidfVectorizertf=TfidfVectorizer()tf.fit(X_train,y_train)X_train_tf=tf.transform(X_train)4)訓練bNB.fit(X_train_tf,y_train)5)預測x_test=tf.transform(test_str)bNB.predict(x_test)伯努利分布樸素貝葉斯CONTENTS目錄概述01KNN算法02決策樹03伯努利分布樸素貝葉斯04支持向量機SVM054、支持向量機SVM支持向量機SVM可以解決線性分類和非線性分類問題。(1)線性分類在訓練數(shù)據(jù)中,每個數(shù)據(jù)都有n個的屬性和一個二類類別標志,我們可以認為這些數(shù)據(jù)在一個n維空間里。我們的目標是找到一個n-1維的超平面(hyperplane),這個超平面可以將數(shù)據(jù)分成兩部分,每部分數(shù)據(jù)都屬于同一個類別。其實這樣的超平面有很多,我們要找到一個最佳的。因此,增加一個約束條件:這個超平面到每邊最近數(shù)據(jù)點的距離是最大的。也成為最大間隔超平面(maximum-marginhyperplane)。這個分類器也成為最大間隔分類器(maximum-marginclassifier)。支持向量機是一個二類分類器。(2)非線性分類SVM的一個優(yōu)勢是支持非線性分類。它結(jié)合使用拉格朗日乘子法和KKT條件,以及核函數(shù)可以產(chǎn)生非線性分類器。支持向量機SVM(3)訓練和評估1)導入處理分類問題:fromsklearn.svmimportSVC2)創(chuàng)建模型(回歸時使用SVR)svc=SVC(kernel='linear')svc=SVC(kernel='rbf')svc=SVC(kernel='
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 苗圃場地出租合同
- 安保公司可行性研究報告
- 廠家廠房轉(zhuǎn)讓合同范本
- 雙股權(quán)合同范例
- 勞務雇傭協(xié)議合同范本
- 旅游景區(qū)環(huán)境綜合整治專題研究:基礎(chǔ)設(shè)施建設(shè)規(guī)劃
- 牛肉行業(yè)分析研究報告
- 加盟衣服店鋪合同范本
- 北京寶馬銷售合同范本
- 廠房裝潢合同范本
- 新聞采訪與寫作-馬工程-第三章
- 房、土兩稅困難減免申請報告(參考模板)(適用于房、土兩稅困難減免一般情形)
- 網(wǎng)絡(luò)運維理論題庫
- 有機化學ppt課件(完整版)
- 全新人教精通版六年級英語下冊教案(全冊 )
- 2021-2022學年貴州省貴陽一中高一下學期第二次月考數(shù)學試題(原卷版)
- 三年級藍色的家園海洋教育全冊教案.
- 護理不良事件-PPT課件
- 精品污水處理廠工程重難點分析及應對措施
- 后張法預應力空心板梁施工方案
- 《房屋面積測算技術(shù)規(guī)程》DGJ32TJ131-2022
評論
0/150
提交評論