繁体   English   中英

将Pandas Dataframe转换为numpy for sklearn

[英]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'])

这里有一个完整的教程,专门针对同一数据集讨论此问题:

http://nbviewer.ipython.org/github/ogrisel/parallel_ml_tutorial/blob/master/rendered_notebooks/04%20-%20Pandas%20and%20Heterogeneous%20Data%20Modeling.ipynb

这是一个常见问题。 主要原因是缺乏对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)。 否则,在拟合模型时,您将遇到另一个不兼容形状的错误。

要处理您的数字非数字数据,请考虑使用scikit-learn LabelEncoder ,它允许您

编码值介于0和n_classes-1之间的标签。

也可以看看:

https://stackoverflow.com/a/29187634/1569064

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM