首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Machine Learning-模型评估与调参 ——评价指标代码

一、混淆矩阵实现

代码语言:javascript
复制
1from sklearn.metrics import confusion_matrix
2
3pipe_svc.fit(X_train, y_train)
4y_pred = pipe_svc.predict(X_test)
5confmat = confusion_matrix(y_true=y_test, y_pred=y_pred)
6print(confmat)
代码语言:javascript
复制
output:
[[71  1]
[ 2 40]]
代码语言:javascript
复制
 1fig, ax = plt.subplots(figsize=(2.5, 2.5))
 2ax.matshow(confmat, cmap=plt.cm.Blues, alpha=0.3)
 3for i in range(confmat.shape[0]):
 4    for j in range(confmat.shape[1]):
 5        ax.text(x=j, y=i, s=confmat[i, j], va='center', ha='center')
 6
 7plt.xlabel('predicted label')
 8plt.ylabel('true label')
 9
10plt.tight_layout()
11plt.show()

二、相关评价指标实现

分别是准确度、recall以及F1指标的实现。

代码语言:javascript
复制
1from sklearn.metrics import precision_score, recall_score, f1_score
2
3print('Precision: %.3f' % precision_score(y_true=y_test, y_pred=y_pred))
4print('Recall: %.3f' % recall_score(y_true=y_test, y_pred=y_pred))
5print('F1: %.3f' % f1_score(y_true=y_test, y_pred=y_pred))
代码语言:javascript
复制
Precision: 0.976
Recall: 0.952
F1: 0.964

三、指定评价指标自动选出最优模型

可以通过在make_scorer中设定参数,确定需要用来评价的指标(这里用了fl_score),这个函数可以直接输出结果。

代码语言:javascript
复制
 1from sklearn.metrics import make_scorer
 2
 3scorer = make_scorer(f1_score, pos_label=0)
 4
 5c_gamma_range = [0.01, 0.1, 1.0, 10.0]
 6
 7param_grid = [{'clf__C': c_gamma_range,
 8               'clf__kernel': ['linear']},
 9              {'clf__C': c_gamma_range,
10               'clf__gamma': c_gamma_range,
11               'clf__kernel': ['rbf']}]
12
13gs = GridSearchCV(estimator=pipe_svc,
14                  param_grid=param_grid,
15                  scoring=scorer,
16                  cv=10,
17                  n_jobs=-1)
18gs = gs.fit(X_train, y_train)
19print(gs.best_score_)
20print(gs.best_params_)
代码语言:javascript
复制
0.982798668208
{'clf__C': 0.1, 'clf__kernel': 'linear'}
代码语言:javascript
复制
—End—
下一篇
举报
领券