将多分类问题化为二分类问题

2024-06-01 07:10:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用众所周知的UCI heart disease dataset做一个实验,但是没有显示出好的结果(大约58%的准确率)。你知道吗

该数据集有5个有序类,“心脏病存在水平”从0到4,其中0表示无心脏病,4表示高心脏病。问题是这个数据集非常不平衡,而且分类为0的对象比其他对象多得多。将此数据集提交给MLP,其准确率为58%,非常低。你知道吗

所以,我想把从1到4分类的所有对象组合起来,并将其转换为二元分类(例如,0=没有疾病/1=发现疾病)。我注意到这被称为one-against-all策略。因为我对ML这个世界非常陌生,我想知道如何用熊猫来做这个,或者是否有更好的工具来做这个。你知道吗


Tags: 数据对象水平分类onedataset疾病uci
1条回答
网友
1楼 · 发布于 2024-06-01 07:10:44

它很简单,当前您的y_train数据如下:[1,2,5,2,1,3,2,4,4,4,5,5,5] 您要做的是创建一个空数组binary_labels,然后遍历PD中的每一行,如果标签是1-4,您将0附加到二进制\u标签,否则您将附加1。然后向PD引入一个新列,并根据它的值设置二进制\u标签,或者用这个数组替换y\u列数据。你知道吗

此外,您还可以替换MLP中的loss函数,等等,但这就是数据的结构。你知道吗

相关问题 更多 >