请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于算法竞赛中部分数据某些维度信息缺失如何处理?

老师,你好。

最近参加了一个竞赛,竞赛主题金融系统的风险识别。因为金融系统本身的特殊性,在识别到过高风险时会自动停止交易。因此对于所给的训练数据有部分数据是没有标签的。对于这一部分数据可以采用哪些比较好的方法处理?需要用非监督学习的算法对这部分数据进行聚类吗?另外就是有些样本数据某些维度上数据缺失,为None,关于这个有什么好的处理办法吗?

辛苦老师了,十分感谢

正在回答

1回答

liuyubobobo 2018-05-10 20:33:59

1)

对,非监督学习中的方法,全部是针对没有标签的数据进行处理的。聚类分析本身是很标准的为没有标签的数据“打标签”的方式。这个课程不涉及聚类算法的内容。sklearn的官方文档User Guide里中有专门介绍聚类分析算法。传送门:http://scikit-learn.org/stable/modules/clustering.html


对于金融数据,大多应该也属于时序数据,对于时序数据本身,也有很多特殊的处理方式,甚至是一个专门的领域。有兴趣可以搜索“时间序列预测”或者“时间序列分析”(或者相应的英文:Time Series Prediction, or Time Series Forecasting, or Time Series Anlysis)来获得更多资料进行学习:)


另外,金融领域本身也属于机器学习高度应用的领域,其自身有很多自己的方法。如果要想更好的处理金融数据,深入学习金融领域特有的方式方法是非常有意义的。甚至有很多书籍只专注于金融领域的机器学习应用,比如:https://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=machine+learning+finance&rh=i%3Aaps%2Ck%3Amachine+learning+finance


不过由于我不是这个领域的专家,没有更多推荐,需要你自己探索,或者寻找这个领域的专家进行咨询,来深入了解更多内容了:)


2)

数据缺失本身也是一个很基础的数据预处理的问题。pandas的和数据缺失处理相关的模块儿,基本将最基础的处理方式罗列了出来,参见:https://pandas.pydata.org/pandas-docs/stable/missing_data.html


方式无非是:使用固定值填充;使用均值(或其他统计值)填充;使用插值法填充,等等等;或者直接扔掉有缺失值的数据;


高级一些的方式,可以使用预测分析的方式,预测缺失值进行填充;或者使用聚类分析的方式进行填充。另外,有一些方法对缺失值不敏感,可以直接使用这类方法,最典型的就是基于决策树的集成学习方法。


最后,依然是,对于缺失值,尤其是对于时序数列和金融领域,有一些其特有的方法进行处理,深入学习这些专有领域,也可以找到更多方法:)


关于这个课程后续的更多学习内容可以参考:https://coding.imooc.com/learn/questiondetail/47909.html


加油!

2 回复 有任何疑惑可以回复我~
  • 提问者 怀瑜 #1
    非常感谢老师耐心的回复。
    回复 有任何疑惑可以回复我~ 2018-05-10 20:58:11
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信