多分类的metrix问题,请见多分类问题。
MSE
我们先看一下回归问题常用的均方根误差MSE。
from sklearn.metrics import mean_squared_error
housing_pred = lin_reg.predict(housing_feature)
lin_mse = mean_squared_error(housing_label, housing_pred)
print(np.sqrt(lin_mse))
69658.1903557702
交叉验证
使用sklearn提供的cross_val_score(),我们可以很方便的交叉验证模型效果。比如,我们看一下上面5和非5的线性分类器的准确率:
from sklearn.model_selection import cross_val_score, cross_val_predict
cross_val_score(sgd_clf, X_train, y_train_5, cv=3, scoring='accuracy')
array([0.9615, 0.9595, 0.9535])
上述代码中,我们随机划分训练数据和测试数据,训练模型后计算准确率,并重复了3次。
准确率、精度、召回率、F1、AUC
下面我们主要看一下准确率、精度、召回率、F1、ROC/AUC等常用于二分类问题的metrics。
准确率
from sklearn.metrics import accuracy_score, confusion_matrix, precision_score, recall_score, f1_score, precision_recall_curve
y_pred_5 = sgd_clf.predict(X_test)
accuracy_score(y_test_5, y_pred_5)
0.96165625