svmpython實現
Ⅰ 關於python sklearn 中SVM分類的問題
改成result=clf.predict([[2,2]])
Ⅱ python svm 怎麼訓練模型
支持向量機SVM(Support Vector Machine)是有監督的分類預測模型,本篇文章使用機器學習庫scikit-learn中的手寫數字數據集介紹使用Python對SVM模型進行訓練並對手寫數字進行識別的過程。
准備工作
手寫數字識別的原理是將數字的圖片分割為8X8的灰度值矩陣,將這64個灰度值作為每個數字的訓練集對模型進行訓練。手寫數字所對應的真實數字作為分類結果。在機器學習sklearn庫中已經包含了不同數字的8X8灰度值矩陣,因此我們首先導入sklearn庫自帶的datasets數據集。然後是交叉驗證庫,SVM分類演算法庫,繪制圖表庫等。
12345678910#導入自帶數據集from sklearn import datasets#導入交叉驗證庫from sklearn import cross_validation#導入SVM分類演算法庫from sklearn import svm#導入圖表庫import matplotlib.pyplot as plt#生成預測結果准確率的混淆矩陣from sklearn import metrics讀取並查看數字矩陣
從sklearn庫自帶的datasets數據集中讀取數字的8X8矩陣信息並賦值給digits。
12#讀取自帶數據集並賦值給digitsdigits = datasets.load_digits()查看其中的數字9可以發現,手寫的數字9以64個灰度值保存。從下面的8×8矩陣中很難看出這是數字9。
12#查看數據集中數字9的矩陣digits.data[9]以灰度值的方式輸出手寫數字9的圖像,可以看出個大概輪廓。這就是經過切割並以灰度保存的手寫數字9。它所對應的64個灰度值就是模型的訓練集,而真實的數字9是目標分類。我們的模型所要做的就是在已知64個灰度值與每個數字對應關系的情況下,通過對模型進行訓練來對新的手寫數字對應的真實數字進行分類。
1234#繪制圖表查看數據集中數字9的圖像plt.imshow(digits.images[9], cmap=plt.cm.gray_r, interpolation='nearest')plt.title('digits.target[9]')plt.show()
從混淆矩陣中可以看到,大部分的數字SVM的分類和預測都是正確的,但也有個別的數字分類錯誤,例如真實的數字2,SVM模型有一次錯誤的分類為1,還有一次錯誤分類為7。
Ⅲ 怎樣用python實現SVM分類器,用於情感分析的二分類
用的什麼庫做SVM呢?如果這個庫支持多分類SVM的話就很容易改成識別-的--
Ⅳ 如何用Python實現支持向量機
看這個文章
blog.csdn.net/zouxy09/article/details/17292011
機器學習演算法與Python實踐之(四)支持向量機(SVM)實現
Ⅳ 請問python中如何把SVM分類輸出轉化為後驗概率想試試SVM+sigmoid,求代碼
因為要用libsvm自帶的腳本grid.py和easy.py,需要去官網下載繪圖工具gnuplot,解壓到c盤.進入c:\libsvm\tools目錄下,用文本編輯器(記事本,edit都可以)修改grid.py和easy.py兩個文件,找到其中關於gnuplot路徑的那項,根據實際路徑進行修改,並保存
python與libsvm的連接(參考SVM學習筆記(2)LIBSVM在python下的使用)
1.打開IDLE(pythonGUI),輸入>>>importsys>>>sys.version
2.如果你的python是32位,將出現如下字元:
(default,Apr102012,23:31:26)[MSCv.150032bit(Intel)]』
這個時候LIBSVM的python介面設置將非常簡單。在libsvm-3.16文件夾下的windows文件夾中找到動態鏈接庫libsvm.dll,將其添加到系統目錄,如`C:\WINDOWS\system32\』,即可在python中使用libsvm
Ⅵ 怎樣用python實現SVM分類器,用於情感分析的二分類
這句話應該不是說你feature太多了,而是說for循環中,使用了兩個變數去unpack featuresets太多了。所以應該是你的數據結構有問題,featuresets可能不是適合兩個變數來解包的數據結構,或者中文編碼有問題。
Ⅶ 如何用Python語言用svm來識別手寫數字,關鍵是0-9都可以識別,現在網上都是識別1和9的,求
那題主現在已經很好的掌握了二分類問題(比如區分1和9)了吧。
用的什麼庫做SVM呢?如果這個庫支持多分類SVM的話就很容易改成識別0-9的。
Ⅷ python怎麼實現opencv3 svm訓練模型保存和載入
在做模型訓練的時候,尤其是在訓練集上做交叉驗證,通常想要將模型保存下來,然後放到獨立的測試集上測試,下面介紹的是python中訓練模型的保存和再使用。
scikit-learn已經有了模型持久化的操作,導入joblib即可
from sklearn.externals import joblib
模型保存
>>> os.chdir("workspace/model_save")>>> from sklearn import svm>>> X = [[0, 0], [1, 1]]>>> y = [0, 1]>>> clf = svm.SVC()>>> clf.fit(X, y) >>> clf.fit(train_X,train_y)>>> joblib.mp(clf, "train_model.m")
通過joblib的mp可以將模型保存到本地,clf是訓練的分類器
模型從本地調回
>>> clf = joblib.load("train_model.m")
通過joblib的load方法,載入保存的模型。
然後就可以在測試集上測試了
clf.predit(test_X,test_y)
Ⅸ svm 分類面 怎麼畫出 python
那題主現在已經很好的掌握了二分類問題(比如區分1和9)了吧。 用的什麼庫做SVM呢?如果這個庫支持多分類SVM的話就很容易改成識別0-9的。