scikit学习LinearRegression字符串预测值

时间:2017-03-07 12:15:09

标签: python pandas scikit-learn

在使用教程完成一些课程和示例之后,我尝试创建我的第一个机器学习模型。我从这里获得了培训数据:http://www.w3resource.com/sql/subqueries/understanding-sql-subqueries.php我正在使用panda加载此csv数据。

主要问题是预测列是字符串,所有算法都与浮点数一起使用。

当然我可以用数字(0,1,2)手动映射所有字符串并使用更改的文件但是我试图找出一种方法来使用panda或scikit-learn自动替换字符串值并将它们保存在一个单独的数组中

我的代码是:

PRIMARY KEY

看到的错误是:

$data = Order::all();
$finalArray = array();
$finalArray['Original'] = $data;
if(!empty($data)){
   foreach($data as $key=>$row){
     $finalArray['Sorted'][$row->status][]  = $row;
   }
}
return $finalArray;

如何使用熊猫取代所有价值来自"姓名"整数列?

2 个答案:

答案 0 :(得分:1)

您可以使用scikit-learn' s LabelEncoder

>>> from pandas import pd
>>> from sklearn import preprocessing
>>> df = pd.DataFrame({'Name':['Iris-setosa','Iris-setosa','Iris-versicolor','Iris-virginica','Iris-setosa','Iris-versicolor'], 'a': [1,2,3,4,1,1]})
>>> y = df.Name
>>> le = preprocessing.LabelEncoder()
>>> le.fit(y)  # fit your y array
LabelEncoder()
>>> le.classes_  # check your unique classes
array(['Iris-setosa', 'Iris-versicolor', 'Iris-virginica'], dtype=object)
>>> y_transformed = le.transform(y)  # transform your y with numeric encodings
>>> y_transformed
array([0, 0, 1, 2, 0, 1], dtype=int64)

答案 1 :(得分:-1)

我建议您直接从scikit导入iris dataset - 像这样学习:

dd($content);

演示:

from sklearn import datasets

iris = datasets.load_iris()
X = iris.data
y = iris.target