MinMaxScaler + DecisionTree分类器,包含数值和分类数据

问题描述 投票:0回答:1

我想知道如何处理以下情况:

我有一个需要分析的数据集。它被标记为数据,我需要对其执行分类任务。一些功能是数字功能,而其他功能是分类功能(非标准功能),我的问题是我不知道如何处理这些分类功能。

在进行分类之前,我通常会应用MinMaxScaler。但是由于分类特征,我无法在此特定数据集中执行此操作。

我已经读过one-hot encoding,但是我不明白如何将其应用于我的情况,因为我的数据集具有一些数值特征和10个分类特征,并且一键编码会在数据框中生成更多列,并且我不知道如何准备生成的数据帧以将其发送到决策树分类器。

为了澄清这种情况,我到目前为止使用的代码如下:

y = df.class
X = df.drop(['class'] , axis=1)

from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
X = scaler.fit_transform(X)

# call DecisionTree classifier

[df具有分类功能时,出现以下错误:TypeError: data type not understood。因此,如果我应用one-hot encoding,我将获得一个包含许多列的数据框,并且我不知道DecisionTree分类器是否将了解我的数据的真实情况。我的意思是如何向分类器表示一组列属于特定功能?我是否了解整体情况错了?抱歉,这是一个令人困惑的问题,但是我是新手,我对如何处理这个问题感到非常困惑。

python pandas decision-tree
1个回答
0
投票

我没有足够的声誉来发表评论,但是请注意,决策树分类器不需要缩放其输入。因此,如果您使用的是决策树分类器,则只需使用显示的功能即可。

[如果您使用的是需要特征缩放的方法,那么您可能应该分别进行一次热编码和特征缩放-请参见以下答案:https://stackoverflow.com/a/43798994/9988333

或者,您可以使用一种处理现成的类别变量的方法,例如LGBM。

© www.soinside.com 2019 - 2024. All rights reserved.