sklearn 常用算法參數設置與選擇


分類算法

一 SVC

class sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma=0.0, coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, random_state=None)

 Parameters:(參數和屬性均只列了常用參數和屬性)

  • C 是懲罰因子
  • Kernel 是核函數,必須取‘linear‘、‘poly’、 ‘rbf’、 ‘sigmoid’、 ‘precomputed’之一

Attributes:

  • support_ 支持向量的索引  array-like, shape = [n_SV]
  • support_vectors_ 支持向量  array-like, shape = [n_SV, n_features]
  • n_support_ 每個類別支持向量的個數  array-like, dtype=int32, shape = [n_class]

二 RandomForestClassifier

class sklearn.ensemble.RandomForestClassifier(n_estimators=10, criterion='gini', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None, bootstrap=True, oob_score=False, n_jobs=1, random_state=None, verbose=0, warm_start=False, class_weight=None)

Parameters:

  • n_estimators  森林中樹的個數
  • criterion  評價划分程度的函數,’gini‘表示基尼不純度,’entropy‘表示熵,用於信息增益

Attributes:

  • feature_importances_   特征重要程度,值越大特征越重要

交叉檢驗

我們在進行機器學習過程中,首先會把數據集分為兩部分:訓練數據集和驗證數據集;要判斷一個模型的優秀程度,我們將訓練數據集上訓練得到的模型,代入到驗證數據集上去驗證,從而得到一個驗證結果;但我們不能僅僅划分一次數據集,而是要隨機的多划分幾次;從而每次都得到一個結果;再求其均值,就可以作為對模型的評價了。

sklearn.cross_validation.cross_val_score即是實現了這樣一個功能

sklearn.cross_validation.cross_val_score(estimator, X, y=None, scoring=None, cv=None, n_jobs=1, verbose=0, fit_params=None, pre_dispatch='2*n_jobs')
  •  estimator 某一種分類器,例如 estimator = sklearn.svm.SVC(c=1.0)
  • X,y 分別是訓練數據和標簽
  • cv If None, it is equivalent to cv=3

示例如下:

from sklearn.svm import SVC
from sklearn.cross_validation import cross_val_score
X=train_df.iloc[:,1:]#訓練數據 y=train_df.iloc[:,0]#標簽 model = SVC(C=3.0) scores = cross_val_score(model, X, y) print scores,scores.mean()#scores輸出是一個含三個float值的序列,mean()是求均值

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM