日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sklearn学习笔记(3)svm多分类

發布時間:2023/12/9 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sklearn学习笔记(3)svm多分类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SVC、NuSVC、LinearSVC都可以在一個數據集上實現多分類。
SVC和NuSVC方法類似,但是有不同的輸入參數集和不同的數學表述。另一方面,linearSVC是SVC的在線性核的基礎上的另一種實現,所以LinearSVC不能不能接受關鍵字“kernel”,只能是線性。
二分類
和別的分類器一樣,三種分類器需要輸入兩個數組:X[n樣本][n維特征](訓練數據集)Y[n個標簽](類標簽)

from sklearn import svm X = [[00], [11]] Y = [0, 1]

模型學習之后可以進行預測:

clf = svm.SVC() clf.fit(X,y) clf.predict([[2.,2.]])

SVM的決策函數依賴于訓練數據集的支持向量子集。這些屬性可以通過下面函數進行查看

#get support vector clf.support_vectors_ #get indices of support vectors clf.support_ #get number of support vectors for each class clf.n_support_

多分類
SVC和NuSVC實現“1v1“的方法進行多分類(Knerr et al,1990)。如果n_class是類別的數量,那么需要建立n*n/2個分類器,desision_function_shape選項允許集成“1v1”分類器來刻畫(n_samples,n_features)

clf = svm.SVC(decision_function_shape='ovo') clf.fit(X, Y) dec = clf.decision_function([[1]]) print dec.shape[1] # 4 classes: 4*3/2 = 6 print clf.predict([[1]])clf.decision_function_shape = "ovr" dec = clf.decision_function([[1]]) print dec.shape[1] print clf.predict([[2.4]])

同時,LinearSVC也實現了“one vs the rest”多分類策略。

lin_clf = svm.LinearSVC() lin_clf.fit(X,Y) dec = lin_clf.decision_function([[3]]) print dec.shape[1] print lin_clf.predict(2.4)

評分和概率
SVC方法decision_function給每個樣本中的每個類一個評分,當我們將probability設置為True之后,我們可以通過predict_proba和predict_log_proba可以對類別概率進行評估。
Wu, Lin and Weng, “Probability estimates for multi-class classification by pairwise coupling”, JMLR 5:975-1005, 2004.
不均衡問題
我們可以通過class_weight和sample_weight兩個關鍵字實現對特定類別或者特定樣本的權重調整。

總結

以上是生活随笔為你收集整理的sklearn学习笔记(3)svm多分类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。