【发布时间】:2019-11-30 10:29:48
【问题描述】:
我正在用众所周知的UCI heart disease dataset 做一个实验,但它没有显示出好的结果(大约 58% 的准确度)。
此数据集有 5 个有序类别,“心脏病的存在程度”从 0 到 4,其中 0 表示没有心脏病,4 表示存在严重的心脏病。问题是这个数据集非常不平衡,归类为 0 的对象比其他对象多得多。将此数据集呈现给 MLP 得到了 58% 的准确率,非常低。
所以,我想组合从 1-4 分类的所有对象并将其转换为二元分类(例如 0 = 无疾病 / 1 = 发现疾病)。我注意到这被称为one-against-allstrategy。由于我对这个机器学习世界很陌生,我想知道如何使用 pandas 来完成这项工作,或者是否有更好的工具。
【问题讨论】:
-
df['disease_found'] = df['level_presence'] > 0,然后使用“disease_found”列而不是“level_presence”。 -
并不是我认为这是解决您的低准确性问题的方法。偏差是数据固有的,您应该找到适合您的数据的算法,而不是适合您的数据以适合您的算法。
-
实际上,我正在将 MLP 与带有决策树的 Adaboost(集成)进行比较。两者的准确性都很低。
标签: python pandas machine-learning scikit-learn classification