task_1
赛题数据概况:
数据集(条):训练集:5w;测试集A:5w;测试集B:5w;
特征列(31列):匿名特征(15列)和非匿名特征
全部数据已经脱敏、编码。
预测评估指标
平均绝对误差(Mean Absolute Error,MAE)
评估指标拓展
分类算法:
混淆矩阵(Confuse Matrix)
-
(1)若一个实例是正类,并且被预测为正类,即为真正类TP(True Positive )
-
(2)若一个实例是正类,但是被预测为负类,即为假负类FN(False Negative )
-
(3)若一个实例是负类,但是被预测为正类,即为假正类FP(False Positive )
-
(4)若一个实例是负类,并且被预测为负类,即为真负类TN(True Negative )
准确率(Accuracy) = TP+TN / TP+TN+FP+FN;准确率是常用的一个评价指标,但是不适合样本不 均衡的情况。
精确率(Precision) 又称查准率,正确预测为正样本(TP)占预测为正样本(TP+FP)的百分比。
Precision=TP / TP+FP。
召回率(Recall) 又称为查全率,正确预测为正样本(TP)占正样本(TP+FN)的百分比。
Recall=TP / TP+FN
F1 Score 精确率和召回率是相互影响的,精确率升高则召回率下降,召回率升高则精确率下降, 如果需要兼顾二者,就需要精确率、召回率的结合F1 Score。
F1−Score=2 / (1/Precision) + (1/ RecallF)
P-R曲线(Precision-Recall Curve) P-R曲线是描述精确率和召回率变化的曲线
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9nWsx4RZ-1618326707933)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210413224341269.png)]
回归算法评估指标:
均方误差(MSE)的定义如下,、
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-STUzTcp5-1618326707935)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210413224812021.png)]
均方根误差(RMSE)
是回归模型的典型指标,用于指示模型在预测中会产生多大的误差,对于较 大的误差, 权重较高。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pkMXZSC3-1618326707937)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210413224919926.png)]y是实际值,而y~ 是预测值, RMSE越小越 好。
平均绝对误差(MAE)
用来衡量预测值与真实值之间的平均绝对误差,MAE越小表示模型越好,其定义如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gFWrMM8a-1618326707940)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210413225100389.png)]
R2分数
sklearn在实现线性回归时默认采用了[公式]指标,[公式]越大表示模型越好,其定义如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wd4kazw3-1618326707942)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210413225219383.png)]
其中[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l0pnSvBv-1618326707945)(https://www.zhihu.com/equation?tex=%5Coverline%7By%7D)]表示真实值的平均值。可能[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lcAEhVqz-1618326707946)(https://www.zhihu.com/equation?tex=R%5E2)]的好处在于其结果进行了归一化,更容易看出模型间的差距。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LKLi9ZdU-1618326707947)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20210413225303300.png)]
偏差:
描述的是预测值(估计值)的期望与真实值之间的差距。偏差越大,越偏离真实数据。
方差:
描述的是预测值的变化范围,离散程度,也就是离其期望值的距离。方差越大,数据的分布越分散。
分析赛题
什么是EDA?
分类指标理解
准确率(Accuracy)、Recall、F1-score、AUC
代码如下:
## accuracy
import numpy as np
from sklearn.metrics import accuracy_score
y_pred = [0, 1, 0, 1]
y_true = [0, 1, 1, 1]
print('ACC:',accuracy_score(y_true, y_pred))
"""
结果
ACC: 0.75
"""
## Precision,Recall,F1-score
from sklearn import metrics
y_pred = [0, 1, 0, 0]
y_true = [0, 1, 0, 1]
print('Precision',metrics.precision_score(y_true, y_pred))
print('Recall',metrics.recall_score(y_true, y_pred))
print('F1-score:',metrics.f1_score(y_true, y_pred))
"""
Precision 1.0
Recall 0.5
F1-score: 0.666666666667
"""
## AUC
import numpy as np
from sklearn.metrics import roc_auc_score
y_true = np.array([0, 0, 1, 1])
y_scores = np.array([0.1, 0.4, 0.35, 0.8])
print('AUC socre:',roc_auc_score(y_true, y_scores))
"""
AUC socre: 0.75
"""
回归指标理解
# coding=utf-8
import numpy as np
from sklearn import metrics
# MAPE需要自己实现
def mape(y_true, y_pred):
return np.mean(np.abs((y_pred - y_true) / y_true))
y_true = np.array([1.0, 5.0, 4.0, 3.0, 2.0, 5.0, -3.0])
y_pred = np.array([1.0, 4.5, 3.8, 3.2, 3.0, 4.8, -2.2])
# MSE
print('MSE:',metrics.mean_squared_error(y_true, y_pred))
# RMSE
print('RMSE:',np.sqrt(metrics.mean_squared_error(y_true, y_pred)))
# MAE
print('MAE:',metrics.mean_absolute_error(y_true, y_pred))
# MAPE
print('MAPE:',mape(y_true, y_pred))
"""
MSE: 0.287142857143
RMSE: 0.535857123815
MAE: 0.414285714286
MAPE: 0.14619047619
"""
## R2-score
from sklearn.metrics import r2_score
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
print('R2-score:',r2_score(y_true, y_pred))
R2-score: 0.948608137045
from sklearn.metrics import r2_score
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
print('R2-score:',r2_score(y_true, y_pred))
## R2-score: 0.948608137045
转载:https://blog.csdn.net/qq_45722145/article/details/115682039