gpt4 book ai didi

python - 在 scikit learn 中使用分类预测变量

转载 作者:行者123 更新时间:2023-11-30 09:32:00 26 4
gpt4 key购买 nike

这里的基本问题:

我正在尝试为信用卡违约实现一个简单的分类模型,其中我仅对输入数据使用 model.fitmodel.predict。但是,该输入数据既包含分类数据(例如年龄、已婚与否、教育水平等人口统计信息),又包含连续数据(例如信用余额)。

data.info()

<div class="output"><div class="output_area"><div class="run_this_cell"></div><div class="prompt"></div><div class="output_subarea output_text output_stream output_stdout"><pre>&lt;class 'pandas.core.frame.DataFrame'&gt;
Int64Index: 30000 entries, 1 to 30000
Data columns (total 24 columns):
LIMIT_BAL 30000 non-null float64
SEX 30000 non-null int64
EDUCATION 30000 non-null int64
MARRIAGE 30000 non-null int64
AGE 30000 non-null int64
PAY_1 30000 non-null int64
PAY_2 30000 non-null int64
PAY_3 30000 non-null int64
PAY_4 30000 non-null int64
PAY_5 30000 non-null int64
PAY_6 30000 non-null int64
BILL_AMT1 30000 non-null float64
BILL_AMT2 30000 non-null float64
BILL_AMT3 30000 non-null float64
BILL_AMT4 30000 non-null float64
BILL_AMT5 30000 non-null float64
BILL_AMT6 30000 non-null float64
PAY_AMT1 30000 non-null float64
PAY_AMT2 30000 non-null float64
PAY_AMT3 30000 non-null float64
PAY_AMT4 30000 non-null float64
PAY_AMT5 30000 non-null float64
PAY_AMT6 30000 non-null float64
default 30000 non-null int64
dtypes: float64(13), int64(11)
memory usage: 5.7 MB
</pre></div></div></div>

根据我的理解,scikit-learn 要求所有数据都是数字且连续的,或者专门编码为分类变量。数字部分不是问题,因为我的所有数据都是数字编码的(例如 0 表示已婚,1 表示未婚),但我的 3 个变量(性别、教育和婚姻)是名义/有序的,需要编码为分类变量而不是 int64 的。

如何使用 scikit-learn 的预处理模块对这 3 个变量进行编码,以将这些特征正确地输入到 Logistic 回归等模型中?

提前致谢,请原谅格式设置(请随意编辑或建议我如何正确地将 Jupyter Notebook 输出包含到 Stack Overflow 帖子中)。

最佳答案

在特征工程中,分类特征需要更多的关注,因为年龄、日期等特征很难编码。有很多方法可以通过分析、领域知识等等来对这些特征进行编码。

有一个库category_encoders,它具有许多功能,可以通过使用统计数据来编码此类特征。您可以在这里找到更多信息 http://contrib.scikit-learn.org/categorical-encoding/

这里,还有一个好东西 resource ,这将通过一个例子向您展示编码方法的使用。

关于python - 在 scikit learn 中使用分类预测变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54138191/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com