[英]Convert Pandas Dataframe to numpy for sklearn
我是python和sklearn的新手。 我有一个庞大数据集的熊猫数据框。 我希望它用于sklearn后勤预测。
我尝试了以下内容
data_np = data.astype(np.int32).values
但不行。 我想利用数据集中的不同功能,如'Pclass',“Age”,“Sex”等......
我想转换整个数据,以及单列说数据[“Age”] sklearn numpy格式。 任何帮助。
像“Sex”和“Embarked”这样的分类变量需要进行一次热编码才能在LogisticRegression
模型中使用它们。 使用pandas,您可以使用get_dummies(data['Sex'])
。
这里有一个完整的教程,专门针对同一数据集讨论此问题:
这是一个常见问题。 主要原因是缺乏对numpy的熟悉。
要将数据['Sex']的功能转换为颠簸数组,请使用以下代码。
from sklearn.preprocessing import LabelEncoder
enc = LabelEncoder()
label_encoder = enc.fit(p_train['Sex'])
print "Categorical classes:", label_encoder.classes_
integer_classes = label_encoder.transform(label_encoder.classes_)
print "Integer classes:", integer_classes
x_train = label_encoder.transform(p_train['Sex'])
x_test = label_encoder.transform(p_test['Sex'])
x_train = x_train[:,np.newaxis]
x_test = x_test[:,np.newaxis]
在这里,我们基本上将“男性”和“女性”分类数据转换为0和1的整数类。这是必需品sclera期望一切都是浮动的。 np.newaxis用于将x_train的形状从(n_features,)转换为(n_features,1)。 否则,在拟合模型时,您将遇到另一个不兼容形状的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.