本人机器学习的一个小作业,挺简单的。希望可以帮到一些入门的小伙伴,当个练手啦!
项目介绍,根据给定的特征来预测是女生还是男生
模型选择的是随机森林,训练集上准确率百分之百,验证集上百分之97.9。
代码分为训练模型(调参和训练)和使用模型进行预测,训练好模型后对新的数据进行的预测,并将预测的结果保存在了result.txt文件中。
软件:anaconda3—jupyter Notebook
用到的数据集 链接: https://pan.baidu.com/s/10LoGDcHDCnjNz4PQpli_Gg
提取码: s3eh
一.数据集介绍
首先介绍一下我所使用的数据集:
每条数据可视作一个长度为21的一维数组。
其中前20个数值是这条语音的20个特征值,这些特征值包括了语音信号的长度、基频、标准差等;最后一个数值是性别标记。用0表示男性、1表示女性。(如下图所示)
train.csv训练集2300条(用于模型训练,有标签)
test.csv测试集包含 800条(无标签)
二.代码
模型参数选择
随机森林的基评估器是决策树,单棵决策树的准确率越高,随机森林的准确 率也会越高,因为装袋法是依赖于平均值或者少数服从多数的原则来决定集成结 果的。但决策树很容易过拟合。所以根据参数对模型的影响大小,进行调参。
(1)调参,决策树个数的选取(画学习曲线)
结果
根据上面的结果缩小决策树个数的范围,继续调参