您的位置:首页 > 其它

sklearn---分类模型评估

2018-08-11 10:56 211 查看

前几天刚学了sklearn的分类,接下来就说说我的学习笔记
1、交叉验证最简单的方法
cross_val_score函数

from sklearn.model_selection import cross_val_score
score = cross_val_score(clf, X_train, y_train, cv=5)
#X_train, y_train是训练数据集
#cv=5表示5次不同的分割

也可以传入一个交叉验证迭代器

from sklearn.model_selection import cross_val_score
from sklearn.model_selection import ShuffleSplit
cv = ShuffleSplit(n_splits=3, test_size=0.3, random_state=0)
score = cross_val_score(clf, X_train, y_train, cv=cv)
#n_splits是train/test对的组数,默认为10

还有Pipeline的用法

from sklearn.model_selection import cross_val_score
from sklearn.model_selection import ShuffleSplit
from sklearn.pipeline import make_pipeline
cv = ShuffleSplit(n_splits=3, test_size=0.3, random_state=0)
clf = make_pipeline(preprocessing, StandardScaler(), svm.SVC())
score = cross_val_score(clf, X_train, y_train, cv=cv)

2、多度量评估
返回一个字典,包含测试得分、讯练得分、拟合次数和得分次数

from sklearn.model_selection import cross_validate
from sklearn.metrics import recall_score
scoring = ['precision_macro', 'recall_macro']
scores = cross_validate(clf, X_train, y_train, scoring=scoring, cv=5, return_train_score=False)
#return_train_score的值通常设为0,不返回训练得分,减少计算量。

3、评估报告
返回准确率、召回率、f1和support

from sklean.metrics import classification_report
scores = classification_report(y_test, y_pre, digits=3)#digits:返回值的小数位数
“`
除了上面提到的方法,sklearn还提供了两种评估方法,但个人还是比较喜欢上面说到的几种方法。

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: