交叉验证是经常用到的验证方法
使用sklearn可以很大程度上简化交叉验证的过程
使用过程见下方:

from sklearn import cross_validation
gbdt=GradientBoostingRegressor()
score = cross_validation.cross_val_score(gbdt, train_set, 
    label_set, cv=10, scoring='accuracy')

这里以gbdt模型为例
train_set:训练集
label_set:标签
cv: 交叉验证的倍数
scoring: 返回结果的类型,可以自定义,也有很多默认选项
         例如‘accuracy’, 就是返回准确率
         [‘accuracy‘, ‘adjusted_rand_score‘, 
         ‘average_precision‘, ‘f1‘, ‘f1_macro‘, 
         ‘f1_micro‘, ‘f1_samples‘, ‘f1_weighted‘, 
         ‘log_loss‘, ‘mean_absolute_error‘, 
         ‘mean_squared_error‘, ‘median_absolute_error‘,
          ‘precision‘, ‘precision_macro‘, 
          ‘precision_micro‘, ‘precision_samples‘, 
          ‘precision_weighted‘, ‘r2‘, ‘recall‘, 
          ‘recall_macro‘, ‘recall_micro‘, 
          ‘recall_samples‘, ‘recall_weighted‘, 
          ‘roc_auc‘]   都是可以的
         

这就是简单的用法,只有scoring比较复杂,其他都比较简单


dmlllll
47 声望6 粉丝