栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Scikit学习OneHotEncoder拟合和变换错误:ValueError:X的形状与拟合期间不同

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Scikit学习OneHotEncoder拟合和变换错误:ValueError:X的形状与拟合期间不同

pd.get_dummies()
不需要使用LabelEnprer +
OneHotEnprer,它们可以存储原始值,然后在新数据上使用它们。

像下面那样更改代码将为您提供所需的结果。

import pandas as pdfrom sklearn.preprocessing import OneHotEnprer, LabelEnprerinput_df = pd.Dataframe(dict(fruit=['Apple', 'Orange', 'Pine'],        color=['Red', 'Orange','Green'],       is_sweet = [0,0,1],       country=['USA','India','Asia']))filtered_df = input_df.apply(pd.to_numeric, errors='ignore')# This is what you needle_dict = {}for col in filtered_df.columns:    le_dict[col] = LabelEnprer().fit(filtered_df[col])    filtered_df[col] = le_dict[col].transform(filtered_df[col])enc = oneHotEnprer()enc.fit(filtered_df)refreshed_df = enc.transform(filtered_df).toarray()new_df = pd.Dataframe(dict(fruit=['Apple'],        color=['Red'],       is_sweet = [0],       country=['USA']))for col in new_df.columns:    new_df[col] = le_dict[col].transform(new_df[col])new_refreshed_df = enc.transform(new_df).toarray()print(filtered_df)      color  country  fruit  is_sweet0      2        2      0         01      1        1      1         02      0        0      2         1print(refreshed_df)[[ 0.  0.  1.  0.  0.  1.  1.  0.  0.  1.  0.] [ 0.  1.  0.  0.  1.  0.  0.  1.  0.  1.  0.] [ 1.  0.  0.  1.  0.  0.  0.  0.  1.  0.  1.]]print(new_df)      color  country  fruit  is_sweet0      2        2      0         0print(new_refreshed_df)[[ 0.  0.  1.  0.  0.  1.  1.  0.  0.  1.  0.]]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/633726.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号