【发布时间】:2020-02-24 19:59:58
【问题描述】:
我正在制作一个简单的可重现示例来了解训练和测试的工作原理:
示例
我想根据Location 的来源预测Ages:
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 的行不正确。我认为它需要将Name 和Location 字符串都转换为虚拟变量,这就是我尝试过的,但正确的方法是什么?
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)
【问题讨论】:
标签: python pandas machine-learning scikit-learn svm