在我的一次练习中,我遇到了这个错误,试图找到这个数据维度的解决方案,但没有成功。
ValueError : 查询数据维度必须匹配训练数据维度
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.datasets import load_iris
data=load_iris().data
target=load_iris().target
df_data=pd.DataFrame(data,columns=['sepal_length','sepal_width','petal_length','petal_width'])
df_target=pd.DataFrame(target,columns=['target'])
data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data',
sep=',',
skiprows =0,
names=['Sepal length' , 'Sepal width' , 'Petal length' , 'Petal width' , 'Class' ]
)
X = data.drop(columns=['Class']).values
Y = data['Class']
Y = Y.replace({'Iris-setosa':1 ,'Iris-versicolor':2 ,'Iris-virginica':3})
Y = Y.values
model = KNeighborsClassifier(n_neighbors=3)
model.fit(X_train,Y_train)
predicted= model.predict([1,2,3]])