最近一直在看文本挖掘這塊兒,看了許多機(jī)器學(xué)習(xí)相關(guān)的資料,在這里做個筆記分享給大家,有供自己日后學(xué)習(xí)瀏覽。
碼字不易,喜歡請點贊!!!
這篇推文主要介紹Python實現(xiàn)SVM的案例,后期會更新加強(qiáng)版。
這里主要講的是使用Python的Sklearn包實現(xiàn)SVM樣本分類,而不包括SVM的理論推導(dǎo),我在看SVM的理論的時候看了很多網(wǎng)上的博客,有很多都寫的不錯,這里推薦,July寫的支持向量機(jī)通俗導(dǎo)論(理解SVM的三層境界),而且作者將其制作成了pdf版本,可以下載下來觀看。這篇博客是July12年開始寫的,并且一直更新完善,所以到現(xiàn)在真的是通俗易懂。這里附上網(wǎng)址:https://blog.csdn.net/v_july_v/article/details/7624837
理論部分這篇博客真的夠!!!
Sklearn是Python專門用于機(jī)器學(xué)習(xí)的包,安裝方法網(wǎng)上有很多,這里也不介紹了,有問題可以隨時進(jìn)交流群詢問。
這里就開始一步步講解,在實踐過程中的具體步驟。
一般來說機(jī)器學(xué)習(xí)的實踐流程包括:導(dǎo)入數(shù)據(jù)->數(shù)據(jù)標(biāo)準(zhǔn)化->模型選擇->模型的訓(xùn)練測試->保存模型
首先,導(dǎo)入數(shù)據(jù)這塊,你如果使用自己的數(shù)據(jù)集的話,可以用numpy或者pandas導(dǎo)入。本文這里直接使用Sklearn自帶的經(jīng)典的iris鳶尾花數(shù)據(jù)集。
導(dǎo)入數(shù)據(jù)之后,對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理(由于這里采用的是自帶的鳶尾花數(shù)據(jù)集,已經(jīng)不需要標(biāo)準(zhǔn)化就能很好的預(yù)測了,使用自己的樣本時,這步非常重要)。
在對數(shù)據(jù)標(biāo)準(zhǔn)化處理之后,這里對用分類的數(shù)據(jù)進(jìn)行切分,分為訓(xùn)練集和樣本集。
模型選擇:Sklearn中已經(jīng)實現(xiàn)了所有基本的機(jī)器學(xué)習(xí)方法,包括:
本文選用的模型為支持向量機(jī)(SVM的參數(shù)很多,主要是設(shè)置懲罰參數(shù)C,后期的加強(qiáng)版會介紹,這里使用默認(rèn)參數(shù)C=1):
使用模型進(jìn)行訓(xùn)練和測試,然后輸出測試后的精度:
可以看到只有第二行第一個有錯誤,其他都是準(zhǔn)確的。
保存模型:在訓(xùn)練出滿意的模型之后,可已經(jīng)模型保存,以便下次使用,Python中保存模型的方法有兩種,第一種是pickle包,第二種是Sklearn中的joblib方法,官方文檔推薦的是使用joblib方法,因為該方法使用了多進(jìn)程,速度更快,這里也就展示joblib方法。
可以看到簡單的兩個語句就實現(xiàn)了模型的保存與再調(diào)用。
簡簡單單12行代碼你就完成了機(jī)器學(xué)習(xí)的實踐,是不是很sixsixsxi!!!
ps:對于Sklearn的基本使用方法就這些了,后期會分享進(jìn)階版,包括但不限于模型的函數(shù)主要參數(shù)的設(shè)置以及交叉驗證。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
