"Python中的ValueError: 找到不一致样本数量的输入变量:[75,1]代表什么?"

2024-09-30 01:29:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在Youtube上浏览“编写我们的第一个分类器-机器学习食谱5”机器学习视频。我遵循了这个例子,但不确定为什么我不能让代码运行。在

注意:这不是KNN分类器的最终代码。这是初始测试阶段。在

#implementing KNN Classifier without using import statement
import random

class ScrappyKNN():
    def fit(self, X_train, Y_train):
        self.X_train=X_train
        self.Y_train=Y_train

    def predict(self, X_test):
        predictions=[]
        for row in X_test:
            label = random.choice(self.Y_train)
            predictions.append(label)

            return predictions

from sklearn.datasets import load_iris
iris=load_iris()
X=iris.data 
Y=iris.target 

from sklearn.cross_validation import train_test_split

X_train,X_test,Y_train,Y_test=train_test_split(X,Y,test_size=0.5)

clf=ScrappyKNN()
clf.fit (X_train,Y_train)
predictions_result=clf.predict(X_test)

from sklearn.metrics import accuracy_score

print(accuracy_score(Y_test,predictions_result))

我得到了错误“ValueError:发现输入变量的样本数不一致:[75,1]”。我认为在这个列表中有一些大小不一致的地方,因为训练和测试数据集从150个样本中分割成75个样本(我使用了test_size=0.5)。我真的被困在这件事上了。你能告诉我这个错误是什么意思吗。我搜索了堆栈溢出的类似答案,但不幸的是,无法找出导致此错误的原因。我对使用Python开发机器还是个新手学习。可以有人帮我吗?在

这是完整的Stacktrace

^{pr2}$

Screenshot of code


Tags: fromtestimportself机器iris分类器错误

热门问题