python - 如何对 ANN 的 X 和 y 值进行 OneHotEncode?
问题描述
我正在使用蘑菇特征数据集来确定蘑菇是否有毒。我建立的模型有效,但我正在尝试使用 OneHotEncoder 作为练习编码的一种方式。我知道我们必须实例化 OneHotENcoder 类,并 fit_transform 数据帧。从那里,我们建立 X 和 y 值并像往常一样构建模型。我遇到的问题是拟合 X 和 y 值。在下面的代码中,变量 X 出现错误:“未找到丢弃”。
from sklearn.preprocessing import OneHotEncoder
ohe = OneHotEncoder()
df = ohe.fit_transform(df.iloc[:,:])
ohe.categories_
X = df.drop('class', axis=1)
y = df['class']
X = ohe.fit_transform(X)
y = one.fit_transform(y)
我希望上面的代码能够同时编码 Xs 和 ys,我想用它们来训练测试拆分并构建一个小的 ANN。任何帮助,将不胜感激。
解决方案
一个热编码器返回一个 numpy 数组而不是数据帧。
您应该首先删除目标列,然后应用一个热编码器。
exempt_cols = set(['class'])
categorical_cols = [col for col in df.columns if col not in exempt_cols]
X = df[categorical_cols]
X = ohe.fit_transform(X)
推荐阅读
- c++ - 使用 dlsym() 加载具有多态性的 C++ 类
- c# - 实体框架到 LINQ 日期搜索
- centos7 - qemu-kvm 崩溃“来自 qemu 监视器的文件结束”
- sql - 如何在 SQL Server 中提取字符串的特定部分?
- arrays - API 在检索所有记录时返回对象数组,但在过滤时仅返回单个对象
- python-3.x - FB Prophet 检测到不正确的变化点
- scala - 如何获取 Kafka 消费者(Alpakka)返回的 Map [String, String]?
- c# - 防止虚函数调用的泛型?
- apache-kafka - 是否可以仅使用消息(即使用 kafka)触发 oozie 工作流程
- sentiment-analysis - 情绪分析中的人工智能偏见