KNeighborsClassifier - ValueError:查询数据维度必须匹配训练数据维度

时间:2021-05-28 08:56:10

标签: python scikit-learn google-colaboratory

我在 Google Colab 工作。 我正在使用朴素贝叶斯分类器运行以下代码,但没有收到错误消息。

# Naive Bayes

from sklearn.naive_bayes import GaussianNB # εισαγωγη της κλασης GaussianNB

gt_test = GT_test.reshape(-1, 1) # αναστροφη πινακα GT_test (δημιουργια διανυσματος gt_test)  

gnb = GaussianNB() # δημιουργια του αντικειμενου (instance of a class) gnb
# εκπαίδευση αλγορίθμου Naive Bayes με χρήση των δεδομένων εκπαίδευσης του δειγματος
# και των προς εκπαίδευση δεδομένων αληθείας
# και εκτέλεση ταξινόμησης (δημιουργια πινακα με τις προβλεψεις της ταξινομησης με τον αλγόριθμο Naive Bayes)
GT_pred = gnb.fit(sample_train,GT_train).predict(gt_test)

print(GT_pred.shape) # εμφανιση μεγεθους διανυσματος προβλεψεων του ταξινομητη Naive Bayes
print(GT_pred[:20])
print(GT_test[:20])

print(f'{(GT_pred != GT_test).sum()} mistakes out of {len(GT_test)}')

然后,我使用 kNN 分类器运行以下代码并收到此消息: ValueError:查询数据维度必须匹配训练数据维度

sample_train 形状为 (700000, 2)。 GT_train 形状为 (700000,)。 gt_test 形状是 (300000, 1)。 我很难找到解决这个问题的方法。 我该如何解决?

# kNN

from sklearn.neighbors import KNeighborsClassifier

# δημιουργια του αντικειμενου (instance of a class) kNN και ορισμος του αριθμου των γειτόνων που θα ληφθεί υπόψιν για την ταξινομηση
kNN = KNeighborsClassifier(n_neighbors=3)
# εκπαίδευση αλγορίθμου kNN με χρήση των δεδομένων εκπαίδευσης του δειγματος
# και των προς εκπαίδευση δεδομένων αληθείας
# και εκτέλεση ταξινόμησης (δημιουργια πινακα με τις προβλεψεις της ταξινομησης με τον αλγόριθμο kNN)
kNN.fit(sample_train,GT_train)
GT_pred = kNN.predict(gt_test)

print(f'{(GT_pred != GT_test).sum()} mistakes out of {len(GT_test)}')

0 个答案:

没有答案