Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何修复scikit机器学习中的错误?_Python_Machine Learning_Scikit Learn_Sklearn Pandas - Fatal编程技术网

Python 如何修复scikit机器学习中的错误?

Python 如何修复scikit机器学习中的错误?,python,machine-learning,scikit-learn,sklearn-pandas,Python,Machine Learning,Scikit Learn,Sklearn Pandas,我正在尝试为一个1059行4列的数据集实现机器学习,但在尝试将模型与 knn.fit(myData['RAB',myData['ETAPE'])) ValueError:找到的输入变量的数量不一致 样本:[11059] 不推荐使用警告:在0.17中不推荐将1d数组作为数据传递 并将在0.19中提高ValueError。使用以下两种方法重塑数据: 如果您的数据具有单个特征,则X.Reformate(-1,1)或X.Reformate(1,-1) 如果它包含一个样本。还有,我如何定义多个 预测变量

我正在尝试为一个1059行4列的数据集实现机器学习,但在尝试将模型与

knn.fit(myData['RAB',myData['ETAPE']))

ValueError:找到的输入变量的数量不一致 样本:[11059]

不推荐使用警告:在0.17中不推荐将1d数组作为数据传递 并将在0.19中提高ValueError。使用以下两种方法重塑数据: 如果您的数据具有单个特征,则X.Reformate(-1,1)或X.Reformate(1,-1) 如果它包含一个样本。还有,我如何定义多个 预测变量

from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 

plt.style.use('ggplot') 

myData=pd.read_csv('sabmin.csv', sep=';')
print(myData.shape)
knn = KNeighborsClassifier(n_neighbors=6) 
knn.fit(myData['RAB'], myData['ETAPE']) 
形状的输出为:

(1059,4)

如何定义多个预测变量

from sklearn import datasets
from sklearn.neighbors import KNeighborsClassifier
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt 

plt.style.use('ggplot') 

myData=pd.read_csv('sabmin.csv', sep=';')
print(myData.shape)
knn = KNeighborsClassifier(n_neighbors=6) 
knn.fit(myData['RAB'], myData['ETAPE']) 

根据sklearn的预期形状,您做错了

在这里:

看起来你给了一个序列作为输入,一个作为输出。可能不是您想要的,因为sklearn将把它作为一个1059尺寸的样本。sklearn的错误输出与我的猜测一致

很难知道你到底在做什么,但你至少需要从(11059)调整到(1059,1)。但我也希望你能利用更多的栏目,但我不知道

或者,您可以更早地创建一个numpy矩阵以使其更简单(
myData.as_matrix()
)(我更喜欢使用sklearn的numpy用户;但许多人使用pandas是因为这种基于名称的索引)

前者类似于:

knn.fit(myData['RAB'].reshape(-1, 1), myData['ETAPE'])
我真的建议阅读sklearn的文档(有史以来最好的文档之一),也可能阅读pandas&numpy的文档,以了解到底发生了什么


您可能会注意到sklearn的大量示例主要基于numpy输入。这对于初学者来说更容易,因为使用熊猫是一个更复杂的层次(数据帧、系列等等)。

根据sklearn的预期形状,您做得不对

在这里:

看起来你给了一个序列作为输入,一个作为输出。可能不是您想要的,因为sklearn将把它作为一个1059尺寸的样本。sklearn的错误输出与我的猜测一致

很难知道你到底在做什么,但你至少需要从(11059)调整到(1059,1)。但我也希望你能利用更多的栏目,但我不知道

或者,您可以更早地创建一个numpy矩阵以使其更简单(
myData.as_matrix()
)(我更喜欢使用sklearn的numpy用户;但许多人使用pandas是因为这种基于名称的索引)

前者类似于:

knn.fit(myData['RAB'].reshape(-1, 1), myData['ETAPE'])
我真的建议阅读sklearn的文档(有史以来最好的文档之一),也可能阅读pandas&numpy的文档,以了解到底发生了什么


您可能会注意到sklearn的大量示例主要基于numpy输入。这对于初学者来说更容易,因为熊猫的使用更为复杂(数据帧、系列等)。

创建后,如何将numpy矩阵与拟合模型一起使用?此外,不推荐使用重塑。因此,我最好使用numpy方法。重塑不是不推荐的。只是两种可能的用法之一。了解更多这些核心库确实是个好主意。从numpy开始,阅读如何将pandas数据转换为numpy数据。@IPPOKRATISKARAKOTSOGLOU将pandas转换为numpy使用如何在创建后将numpy矩阵与拟合模型一起使用?此外,不推荐使用重塑。因此,我最好使用numpy方法。重塑不是不推荐的。只是两种可能的用法之一。了解更多这些核心库确实是个好主意。从numpy开始,阅读如何将熊猫数据转换为numpy数据。@IPPOKRATISKARAKOTSOGLOU将熊猫转换为numpy使用