分类模型评估指标

分类模型评估指标:

混淆矩阵:
混淆矩阵是一种用来呈现算法性能的矩阵,它的每一行代表真实的分类,每一列代表预测的分类。

分类模型评估指标_第1张图片
True Positive(TP):真正类。
False Negative(FN):假负类。
False Positive(FP):假正类。
True Negative(TN):真负类。

准确率(Accuracy):
准确率是指模型正确地预测样本的比例:
A c c u r a c y = T P + T N T P + F N + F P + T N Accuracy = \frac{TP+TN}{TP+FN+FP+TN} Accuracy=TP+FN+FP+TNTP+TN

准确率是分类模型最常用的指标,在sklearn中,调用分类模型的score函数计算出的评估指标就是准确率。

精准率(Precision):
精确率用于评估测试是True的样本里,有多少真正是True
P r e c i s i o n = T P T P + F P Precision = \frac{TP}{TP+FP} Precision=TP+FPTP
如果只考虑预测结果的正确性,可以使用精确率这一指标。

召回率(Recall):
召回率是指在实际标记为True的样本中,预测为True的比例是多少。

R e c a l l = T P T P + F N Recall = \frac{TP}{TP+FN} Recall=TP+FNTP
假设我们需要考虑预测结果与整体样本的匹配度,那么召回率就比较适合评估。

F1分数:
F1分数是精确率和召回率的调和值,它接近于两个分数中较小的一个,所以精确率和召回率接近时,F值最大。
2 F 1 = 1 P r e c i s i o n + 1 R e c a l l \frac{2}{F1} = \frac{1}{Precision} + \frac{1}{Recall} F12=Precision1+Recall1
F1分数适合用于既要考虑精确率也要考虑召回率的场景。

K折交叉验证:

训练集(Train Set)和:测试集(Test Set):
训练集用来训练模型或确定模型参数的数据集,测试集用来验证模型的准确的数据集。

划分条件:
训练集和测试集的划分,必须同时满足训练集和测试集的交集为空集,并集为数据集两个条件。在实践中,先根据训练集的大小,从数据集中抽取训练集,然后把剩下的数据作为测试集,即可满足这个划分要求。

K折交叉验证(K-fold Cross Validation):
验证过程:
设置 k = 10,把原来的数据集随机分成10份,分别作{D1,D2…D10}
接着使用D1作为测试集,{D2 …D10}作为训练集,计算得分s1。
以此类推,
得到10个得分后,计算这组得分的平均值,作为模型的综合得分。
综 合 得 分 = ∑ i = 1 10 s i 10 综合得分 = \frac{\sum_{i=1}^{10}s_i}{10} =10i=110si

KNN模型:

K最近邻算法,它判断未知类别数据的方法,是根据未知数据最近的K条记录,统计他们的分类,来确定未知类别数据的分类。
如下图所示,正方形和三角形代表两种不同的分类,圆点代表的是未知分类的点。
KNN算法首先会确定一个K值,假设K = 3 ,那么根据其他点与圆点的距离,找出最接近圆点的三个点,三点中,两个属于三角形,一个属于正方形,根据这一结果,KNN算法认为,圆点数以三角形点的分类。
分类模型评估指标_第2张图片
在KNN算法中,参数K的设置会影响模型的效果,K值设置不同,分类结果也会不同。

你可能感兴趣的:(python,机器学习,数据挖掘)