Pycaret 设置用于一种热编码

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

我遇到了 Pycaret 中分类变量的一种热编码问题。问题是,即使设置了我的分类变量,管道也会对分类变量应用标准化,而且我不知道我做错了什么。

首先,使用下面的代码一切正常:

from pycaret.classification import *
from pycaret.datasets import get_data
import pandas as pd
import numpy as np
import seaborn as sns
dataset = get_data('income')
dataset.dtypes

直到我开始设置并且

exp_clf01 = setup(  data = dataset
                  , target = 'income >50K'
                  , session_id = 123
                  , numeric_features = ['age','education-num','capital-gain','capital-loss','hours-per-week']
                  , categorical_features = ['workclass','education','marital-status','occupation','relationship','race','sex','native-country']
                 )
df_transformed = get_config("X_train")
df_transformed.head()

尝试查看数据框的头部后,它仅将一个热编码应用于列

race
并规范化其他分类输入,我不明白为什么。

年龄 工作班 教育 教育编号 婚姻状况 职业 其他专栏
46.0 0.303273 0.271186 11.0 0.101942 0.484643 ...
27.0 0.218620 0.412939 13.0 0.044165 0.484643 ...
33.0 0.218557 0.568315 14.0 0.448894 0.455449 ...
60.0 0.218557 0.412673 13.0 0.448894 0.484286 ...
25.0 0.218620 0.063798 6.0 0.044165 0.229692 ...

如何防止这种行为?

python python-3.x machine-learning scikit-learn pycaret
1个回答
0
投票

您需要在设置中设置参数'max_encoding_ohe',默认为25

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