作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试处理泰坦尼克号数据集。数据具有分类值,因此我使用 labelEncoder 将数据更改为数字,而不是文本。之前:
PassengerId Survived Pclass Sex Age SibSp Parch Fare Embarked
0 1 0 3 male 22.00 1 0 7.2500 S
1 2 1 1 female 38.00 1 0 71.2833 C
2 3 1 3 female 26.00 0 0 7.9250 S
之后:
PassengerId Survived Pclass Sex Age SibSp Parch Fare Embarked
0 1 0 3 1 22.00 1 0 7.2500 2
1 2 1 1 0 38.00 1 0 71.2833 0
2 3 1 3 0 26.00 0 0 7.9250 2
这是代码:
from sklearn.preprocessing import LabelEncoder
labelencoder_X = LabelEncoder()
data['Embarked'] = labelencoder_X.fit_transform(data['Embarked'])
data['Sex'] = labelencoder_X.fit_transform(data['Sex'])
现在,因为乘客的性别具有同样的重要性,所以我想使用oneHotEncoder。据我了解,数据应如下所示:
PassengerId Survived Pclass Male Female Age SibSp Parch Fare Embarked
0 1 0 3 1 0 22.00 1 0 7.2500 2
1 2 1 1 0 1 38.00 1 0 71.2833 0
2 3 1 3 0 1 26.00 0 0 7.9250 2
如何编写代码来执行此操作?我尝试对 oneHotEncoder 使用类似的方法:
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
labelencoder_X = LabelEncoder()
data['Embarked'] = labelencoder_X.fit_transform(data['Embarked'])
data['Sex'] = labelencoder_X.fit_transform(data['Sex'])
onehotencoder = OneHotEncoder()
data['Embarked'] = onehotencoder.fit_transform(data['Embarked'].values.reshape(-1,1))
但它只是返回相同的结果。我该如何修复它?我是 Scikit 和 ML 的新手,我希望我做得正确。
最佳答案
这就是你可以做到的。
import pandas as pd
from sklearn.preprocessing import OneHotEncoder
# Sample data
Sex
0 1
1 0
2 0
3 1
# OneHotEncoder
result = OneHotEncoder().fit_transform(df['Sex'].reshape(-1, 1)).toarray()
# Appending columns
df[['Female', 'Male']] = pd.DataFrame(result, index = df.index)
# Resulting dataframe
df
Sex Female Male
0 1 0.0 1.0
1 0 1.0 0.0
2 0 1.0 0.0
3 1 0.0 1.0
关于machine-learning - 如何为泰坦尼克号数据集定义 oneHotEncoder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56378173/
我试图通过从两个变量中提取特定信息来从 kaggle 上的泰坦尼克号数据集创建一个特征变量,但我不知道如何对其进行编码。我想合并“Sex”变量和“Parch”变量。我想要的是,如果乘客是有 child
我正在尝试运行一个简单的MapReduce程序,该程序计算男性和女性的平均年龄。当我尝试执行它时,它给了我Class Not Found Exception(泰坦尼克类)。我发现许多问题都提供了相似的
我是一名优秀的程序员,十分优秀!