机器学习经典算法:分类模型性能评估 --- 准确度(Accuracy)

正文

在将算法模型部署到生产环境之前,全面评估模型性能是确保其可靠性和实际应用价值的重要步骤。通常,我们会将原始数据集划分为训练数据和测试数据,其中训练数据占70%~80%,用于构建和优化模型,测试数据占20%~30%,用于评估模型在未见数据上的泛化能力。这种划分方法能够有效检测模型是否过拟合或欠拟合,确保其在真实场景中的表现。除此之外,根据具体需求,还可以进一步引入验证数据集,用于调优超参数和选择最佳模型,以避免测试数据过早泄露导致评估结果偏差。在数据划分时,应确保随机性和分布一致性,例如在分类任务中保持不同类别的比例(分层抽样),以提高评估结果的准确性和可信度。

关于 Train-Test 的分割方法

①通过按比例随机进行自划分
np.random.seed(666)
shuffle_index = np.random.permutation(len(X))
train_index = shuffle_index[:int(len(shuffle_index)* .8)]
test_index  = shuffle_index[int(len(shuffle_index)* .8):]


Train_X = X[train_index]
Train_Y = Y[train_index]

Test_X = X[test_index]
Test_Y = Y[test_index]
②scikit-learn中的train_test_split
from sklearn.model_selection import train_test_split
Train_X,Test_X,Train_Y,Test_Y = train_test_split(X,Y,test_size= 0.2,random_state=666)

分类效果评估

分类准确度(accuracy) 是评估分类模型性能的常用指标之一,它衡量的是模型在测试集上预测结果与真实标签一致的比例。具体来说,分类准确度的计算公式为:
Accuracy=sum(Ypredict==Ytest)len(Ytest) \text{Accuracy} = \frac{\text{sum}(Y_{\text{predict}} == Y_{\text{test}})}{\text{len}(Y_{\text{test}})} Accuracy=len(Ytest)sum(Ypredict==Ytest)

其中,YpredictY_{\text{predict}}Ypredict是模型预测的标签,YtestY_{\text{test}}Ytest 是真实的标签,len(Test_y)是测试集的样本数量。准确度的值通常介于0和1之间,值越高表示模型预测越准确。
在使用scikit-learn时,计算分类准确度非常简单,库中提供了封装好的函数accuracy_score(),直接传入预测值和真实标签即可获得准确度:

from sklearn.metrics import accuracy_score
accuracy = accuracy_score(Test_Y, Y_predict)

这样可以快速而便捷地评估模型在测试集上的表现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倪桦

有帮助的话请杯咖啡吧,谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值