模型预测效果评价,通常用相对绝对误差、平均绝对误差、根均方差、相对平方根误差等指标来衡量
一般回归型模型评价
绝对误差Absolute Error
相对误差Relative Error
平均相对误差Mean Absolute Error【MAE】
均方误差Mean Squared Error【MSE】
均方根误差Root Mean Squared Error 【RMSE】
一般分类型模型评价
- TP(True Positives)是指正确的肯定表示正确肯定的分类数;
- TN(True Negatives):正确的否定表示正确否定的分类数;
- FP(False Positives):错误的肯定表示错误肯定的分类数;
- FN(False Negatives):错误的否定表示错误否定的分类数。
准确率 【Accuracy】
精确率 【Precision】
提取出的正确信息条数 / 提取出的信息条数
召回率 【Recall】
提取出的正确信息条数 / 样本中的信息条数
混淆矩阵【Confusion Matrix】
F1得分 【F1-Score】
F 1 _ S c o r e = 正 确 率 ∗ 召 回 率 ∗ 2 / ( 正 确 率 + 召 回 率 ) F_1\_Score=正确率 * 召回率 * 2 / (正确率 + 召回率) F1_Score=正确率∗召回率∗2/(正确率+召回率)
ROC曲线
PR曲线
# ROC曲线和PR曲线
library(ROCR)
library(gplots)
# 预测结果
train_predict <- predict(lda.model, newdata = traindata) # 训练数据集
test_predict <- predict(lda.model, newdata = testdata) # 测试数据集
par(mfrow = c(1, 2))
# ROC曲线
# 训练集
predi <- prediction(train_predict$posterior[, 2], traindata$MN)
perfor <- performance(predi, "tpr", "fpr")
plot(perfor, col = "red", type = "l", main = "ROC曲线", lty = 1) # 训练集的ROC曲线
# 测试集
predi2 <- prediction(test_predict$posterior[, 2], testdata$MN)
perfor2 <- performance(predi2, "tpr", "fpr")
par(new = T)
plot(perfor2, col = "blue", type = "l", pch = 2, lty = 2) # 测试集的ROC曲线
abline(0, 1)
legend("bottomright", legend = c("训练集", "测试集"), bty = "n",
lty = c(1, 2), col = c("red", "blue")) # 图例
# PR曲线
# 训练集
perfor <- performance(predi, "prec", "rec")
plot(perfor, col = "red", type = "l", main = "PR曲线", xlim = c(0, 1),
ylim = c(0, 1), lty = 1) # 训练集的PR曲线
# 测试集
perfor2 <- performance(predi2, "prec", "rec")
par(new = T)
plot(perfor2, col = "blue", type = "l", pch = 2, xlim = c(0, 1),
ylim = c(0, 1), lty = 2) # 测试集的PR曲线
abline(1, -1)
legend("bottomleft", legend = c("训练集", "测试集"), bty = "n",
lty = c(1, 2), col = c("red", "blue")) # 图例