关于机器学习特征顺序是否影响决策树分类效能

关于机器学习特征顺序是否影响分类效能

写作目的

环境:jupyter notebook,python 3.6.3 ,scikit-learn 0.22.2.post1
大致经过是这样的,先通过生信分析找到差异基因,然后再使用python的sk-learn模型训练随机森林时,发现即便设置了随机种子,但每次对训练测试集的预测性能都不一样,而且最为诡异的是当我重启内核再运行时,这个结果才会改变,如果我不重启内核,而是将脚本逐句运行时,这个分类器的预测性能则不会改变

尝试

1.分割出错模块
第一部分为差异基因部分,第二部分为模型部分
1.1 差异基因部分
经过多次尝试,发现差异基因都是稳定的,但莫名的排列顺序不一样,但一般特征的输入顺序不影响结果(至少我看到的部分文章说不影响),所以我觉得问题应该出在模型部分,是不是有哪部分的随机种子我漏掉了,但是转念一想。如果漏掉了随机种子,那每次运行结果肯定会不一样的呀???但我的感觉还是让我偏重于找模型出错的部分
1.2 模型部分
去掉随机种子,发现不重启内核,预测性能都改变了,这让我感觉应该不是随机种子的问题。新开了一个脚本,就不用差异基因的预测模型,发现,我去,贼稳定,一毛一样的脚本只是去掉了差异基因部分,结果我又重新回去找第一部分

最后结果

锁定在差异基因的部分,唯一区别就在排序问题了,然后我就去用降序固定下来,结果发现模型稳定下来了。我的天,打死我都不会想到原来问题出在特征的顺序问题上。这个花了我整整一天呀,天,以后得注意模型的特征输入了,特此开帖记录。新手不喜勿喷,刚学python的入门小菜鸟。不过我还是很好奇,为啥相同的数据,相同的代码,虽然输出结果是一样的,但顺序会不一样。
人生苦短,我学python。用习惯了R语言还真是不熟悉python,虽说R语言我也是菜鸡。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值