【Python机器学习】分类向量——数字可以编码分类变量

在adult数据集的例子中,分类变量被编码为字符。一方面可能会有拼写错误,但另一方面,它明确的将一个变量标记为分类变量。无论是为了便于存储还是因为数据的手机方式,分类变量通常被编码为整数。

假设adult数据集中的人口普查数据是利用问卷收集的,workclass的回答会被记录为0、1、2、3等。现在该列包含数字0到8,而不是"private"这样的字符串。如果要观察数据集的表格,很难一眼看出这个变量应该被视为连续变量还是分类变量。但是如果知道这些数字表示的是就业状况,那么很明显它们是不同的状态,不应该用单个连续变量来建模。

pandas的get_dummies函数将所有数字看作是连续的,不会为其创建虚拟变量。为了解决这个问题,可以使用scikit-learn中的OneHotEncoder,指定哪些变量是连续的、哪些变量是离散的,也可以将数据框中的数值列转换为字符串。

为了说明这一点,我们创建一个两列的DataFrame对象,其中一列包含字符串,另一列包含数字:

python 复制代码
demo_df=pd.DataFrame({'Tnteger Feature':[0,1,2,1],
                      'Categorical Feature':['socks','fox','socks','box']})
display(demo_df)

使用get_dummies只会编码字符串特征,不会改变整数特征:

python 复制代码
pd.get_dummies(demo_df)

如果想为"Integer Feature"这一列创建虚拟变量,可以使用columns参数显式地给出想要编码的列,于是两个特征都会被当作分类特征处理:

相关推荐
Ronin-Lotus18 小时前
深度学习篇---ShuffleNet网络结构
人工智能·深度学习
hansang_IR18 小时前
【题解 | 两种做法】洛谷 P4208 [JSOI2008] 最小生成树计数 [矩阵树/枚举]
c++·算法·dfs·题解·枚举·最小生成树·矩阵树定理
yueyuebaobaoxinx18 小时前
AI + 机器人:当大语言模型赋予机械 “思考能力”,未来工厂将迎来怎样变革?
人工智能·语言模型·机器人
scott19851218 小时前
世界模型的典型框架与分类
人工智能·计算机视觉·生成式·世界模型
LeeZhao@18 小时前
【项目】多模态RAG必备神器—olmOCR重塑PDF文本提取格局
人工智能·语言模型·自然语言处理·pdf·aigc
补三补四18 小时前
贝叶斯向量自回归模型 (BVAR)
android·算法·数据挖掘·数据分析·回归
二闹18 小时前
告别程序崩溃!Python异常处理的正确打开方式
后端·python
keeper_zdl18 小时前
GitLabCI/CD自动化构建与联调实战
python·架构
Pocker_Spades_A18 小时前
Trae + MCP : 一键生成专业封面
人工智能·mcp·蓝耘
幂简集成explinks19 小时前
GPT-Realtime 弹幕TTS API:低延迟秒开集成实战
人工智能·后端·算法