KNN近邻算法聚类练手项目(python)

这个练手项目比较简单,发出来大家共勉

很简单,适合数据挖掘小白来练练手
大家可以用简单的聚类和降维算法进行处理,可以参考这一篇
我原来写的一篇
部分数据集截图:
在这里插入图片描述
分为check和study集。这篇blog我使用KNN的算法,而且效果也确实比简单的层次和kMeans效果更好。
其中有一点点预处理的方法,因为数据集简单我觉得也没必要费很大的劲r。

算法思路

简单说一下我的思路,所有的代码和效果图在gitee上,我用的是jupyter notebook
gitee地址

(1)首先进行数据的观察,画出对每个属性画出散点图,发现1,5,6,7属性和标签相关性较大,在进行方差的相关性分析,
画出柱状图,如code.html中所示,发现1,6,7散度比较大,具有较大的特征相关性。

(2)所以用PCA降维的方法降到3维,我先用层次聚类进行分析,发现可以达到0.808的NMI。

(3)然后我尝试用KNN在进行分析,首先没有进行降维处理,发现只有0.661的NMI评分,说明有一些特征相关性不明显的
特征在影响聚类效果,于是我再次进行PCA降维到3维处理。同时调整KNN参数发现当KNN参数为2时达到最好的0.808。
此时的剩余信息量在82%-83%。

(3)于是我根据剩余信息量判断应该可以进一步进行降维,于是尝试降到2维,并且画出对应的散点图,如code.html中图所示
发现点之间的距离比较大,调整KNN参数将n_clusters=3时有最好的效果达到0.8354,得到我所实验得到的最好评分结果。

这给项目确实不难,适合数据挖掘入门的小伙伴,大佬们不喜勿喷
共勉~~~~~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值