处理scikit-learn MLPClassifier的分类类标签

我有一个手写数据集用于分类,其类别是从a-z。如果我想使用MLPClassifier,我想我不能直接使用这些分类类别,因为scikit-learn中的MLP实现只能处理数值类别。因此,这里应该采取什么适当的措施呢?将这些类别转换为从1到28的编号,这样做有意义吗?如果没有,scikit-learn是否提供了特殊的编码机制来处理这种情况的类标签(我猜这里不适用独热编码)?

谢谢


回答:

您可能需要预处理数据,因为scikit-learn只能处理数值。在这种情况下,我想要预测交易的货币。货币以ISO代码表示,因此使用LabelEncoder将其转换为数值类别(即:1, 2, 3…):

#导入LabelEncoder对象from sklearn.preprocessing import LabelEncoder#定义类别列my_encoder = LabelEncoder()my_class_currency = np.array(my_encoder.fit_transform(my_data['currency'])).reshape(-1,1)#创建一个“字典”,以便在获得输出后将类别翻译成实际值my_class_decoder = list(np.unique(my_data['currency']))

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注