没有合适的资源?快使用搜索试试~ 我知道了~
首页机器学习分类算法实验报告.docx
机器学习分类算法实验报告.docx
需积分: 46 2.0k 浏览量
更新于2023-03-16
评论 4
收藏 602KB DOCX 举报
对于KNN,SVM,adaboost以及决策树等分类算法对数据集运行结果进行总结,代码点我博文
资源详情
资源评论
资源推荐

一、 实验任务和目标
选取若干数据集开展各类经典机器学习算法的单标记二分类(或多分
类)实验对比分析,以更深入理解各经典算法的原理和实现过程。
二、 实验要求
(1)至少选择 4 个或以上算法(其中深度学习算法为必选):CNN 或
其他深度学习算法(网络模型可自定义,也可选用经典模型)、决策树算
法(ID3/C4.5/CART 任选一种)、kNN 算法、MLP 神经网络、SVM 算法、朴
素贝叶斯方法、集成学习方法等。
(2)数据集:从 UCI/SKlearn/Kaggle 等公开数据源中选取 1~2 个合适的
数据集,不能选用过于简单的小数据集(样本规模不低于 1000),不能选
用鸢尾花/MNIST。要求整个报告中所有实验都尽量采用相同的数据集以便
横向对比算法性能。
(3)实现方式:自编 Python 程序或调用 SKlearn 函数库。要求:深度
学习算法可自选框架(Paddle-Paddle,TF,PyTorch 等均可),其余算法的

实现中至少有 1 种算法应采用自编程序实现。
(4)应对所选用算法的性能进行详细而深入的对比分析,包括关键参
数和超参数的调优对比、算法之间的性能对比、结合各算法自身特点对实
验结果的差异性做出分析和评价。
(5)性能指标至少包括:准确率(Accuracy),查准率(P),查全率
(R),F1。
(6)加分因素:采用 4 个以上算法,尽量多的采用自编程序实现算
法,有更详细的算法分析(关键参数和超参数的调优对比、算法性能优劣
的对比和原因分析),采用了丰富的性能指标,有丰富的结果可视化,在
实验中运用了其他必要的辅助性算法(如降维、特征工程等)。
三、 实验环境
软件:Python:3.7,VS Code
四、 算法介绍与实验结果分析
4.1 数据集
本实验采用的数据集是葡萄酒数据集,原始数据集共有 1599 条,经过数据
预处理(去重,去空)后剩余数据 1359 条,由于数据是多分类,且数据分布不

平衡,所以对数据进行了过采样,使用 smote 算法,处理后数据集大小为 3462
条。经过数据划分,其中分为训练集与测试集。在训练集中 2423 条数据,在测
试集中 1039 条数据。
4.2 算法
本 次 实 验 所 选 取 的 对 比 算 法 有 : KNN , 决 策 树 , 随 机 森
林,SVM,Adaboost,MLP。
本次实验采用的评价指标分别是:准确率,精度,查全率,F1。
4.2.1 KNN
原理:k 近邻法(k-nearest neighbor,k-NN)是一种基本的分类和回归方
法,是监督学习方法里的一种常用方法。k 近邻算法假设给定一个训练数据
集,其中的实例类别已定。分类时,对新的实例,根据其 k 个最近邻的训练实
例类别,通过多数表决等方式进行预测。
k 近邻算法用一句通俗的古语来说就是:“物以类聚,人以群分”。你要看一
个实例的类别,你就可以看它附近是什么类别。如下图 1 所示,当要判断绿色
实例的类别的时候,我们可以看看它的附近有哪些类,然后采取多数表决的决
策规则(红色 2 个多于蓝色 1 个),于是把绿色实例也分类为红色那一类。

图 1
参数 k 值的选择,即在训练集中,与测试集样本距离最近的前 K 个样本的标
签中出现最多的标签作为测试集的预测标签。实验是根据 k 值的不同来对比判
断效果的优劣。
实验结果:
Smote 处理前:
剩余16页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0