sklearn---分类模型评估

前几天刚学了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还提供了两种评估方法,但个人还是比较喜欢上面说到的几种方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值