gpt4 book ai didi

python - 使用 get_dummies 将分类值转换为数字?

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

我正在制作一个简单的可重现示例来了解培训和测试的工作原理:

示例

我想根据原产地位置预测年龄:

import pandas as pd

# create a simple dataset of people
data = {'Name': ["John", "Anna", "Peter", "Linda","John","John","John"],
'Location' : ["Paris","Paris","Paris","Paris", "New York", "Berlin", "London"],
'Age' : [24, 23, 21, 24,36,34,36]
}

df = pd.DataFrame(data)

在下面的这一部分,城市名称有问题,因此我决定使用虚拟变量,但 get_dummies 的行不正确。我认为它需要将 NameLocation 字符串都转换为虚拟变量,这就是我尝试过的,但正确的方法是什么?

from sklearn.model_selection import train_test_split
X = df.drop('Age', axis=1)
y = df['Age']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20)

from sklearn.svm import SVC
svclassifier = SVC(kernel='linear')
X_train = pd.get_dummies(df.columns) #<---- here is the issue probably
svclassifier.fit(X_train, y_train)
y_pred = svclassifier.predict(X_test)

最佳答案

您没有定义您的特征 (X) 和目标 (y)。您的 X 是您的模型学习预测目标 y 的地方。由于您的功能是分类的名称位置,因此您需要使用像 get_dummies 这样的自动编码器。

from sklearn.model_selection import train_test_split
#features
X = pd.get_dummies(df[['Name','Location']])

#Target
y = df['Age']

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.20)

from sklearn.svm import SVC

svclassifier = SVC(kernel='linear')
svclassifier.fit(X_train, y_train)
y_pred = svclassifier.predict(X_test)

关于python - 使用 get_dummies 将分类值转换为数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58609802/

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