楼主: lausuai
414 1

[学习分享] kmeansd提取离群值 为何和教材的不一样? [推广有奖]

  • 2关注
  • 0粉丝

大专生

95%

还不是VIP/贵宾

-

威望
0
论坛币
6270 个
通用积分
7.5559
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
470 点
帖子
40
精华
0
在线时间
72 小时
注册时间
2011-11-26
最后登录
2020-8-31

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
书籍是:谢佳标老师的《游戏数据分析R语言实现》,采用kmeans提取离群值,我照着教材一遍结果不理想。求教老师,是这种方法的问题吗。我自己复制教材的code的话,结果反而理想些。麻烦看看我写的哪错了?
玩家玩牌数据样本.zip (4.5 KB) 本附件包括:
  • 玩家玩牌数据样本.csv

  1. w<-read.csv("玩家玩牌数据样本.csv",T)
  2. u<-round(apply(w[,-1],2,function(x) (x-min(x))/(max(x)-min(x))),4)
  3. u<-data.frame(u)
  4. row.names(u)<- w$用户id
  5. head(u)
  6. kmeans.result<-kmeans(u,3)
  7. centers<-kmeans.result$centers[kmeans.result$cluster,]
  8. distance<-sqrt(rowSums((u-centers)^2))
  9. outliers<-order(distance,decreasing = T)[1:5]
  10. print(outliers)
  11. rownames(u[outliers,])
  12. plot(u$玩牌局数,u$正常牌局,pch=kmeans.result$cluster,xlab="玩牌局数",ylab="正常牌局",x=aexs=F)
  13. plot(u$玩牌局数,u$正常牌局,pch=kmeans.result$cluster,xlab="玩牌局数",ylab="正常牌局",aexs=F)
  14. text(u[outliers,'玩牌局数'],u[outliers,'正常牌局'],labels=rownames(u[outliers,]),cex=1.2,col="gold")
  15. points(kmeans.result$centers[,c('玩牌局数','正常牌局')],cex=1,col=4,pch="*")
  16. points(u[outliers,c('玩牌局数','正常牌局')],cex=1.2,col="red",pch=1)
复制代码



我的结果不是很理想

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝


已有 1 人评分论坛币 收起 理由
cheetahfly + 20 精彩帖子

总评分: 论坛币 + 20   查看全部评分

沙发
cheetahfly 在职认证  发表于 2020-1-17 17:52:31 |只看作者 |坛友微信交流群
谢谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-30 20:20