Python 不拟合模型进行预测(knn)

Python 不拟合模型进行预测(knn),python,machine-learning,scikit-learn,Python,Machine Learning,Scikit Learn,当我在下面的代码中注释knn.fit(x\u tr,y\u tr)并运行时,它给出了一个错误notfitteError:这个KNeighborsClassifier实例还没有安装。使用此方法之前,请使用适当的参数调用“fit”。 knn = KNeighborsClassifier(n_neighbors=1) print(knn) # knn.fit(x_tr, y_tr) # print(knn) pred = knn.predict(x_cv) acc = accuracy_score(y

当我在下面的代码中注释
knn.fit(x\u tr,y\u tr)
并运行时,它给出了一个错误
notfitteError:这个KNeighborsClassifier实例还没有安装。使用此方法之前,请使用适当的参数调用“fit”。

knn = KNeighborsClassifier(n_neighbors=1)
print(knn)
# knn.fit(x_tr, y_tr)
# print(knn)
pred = knn.predict(x_cv)
acc = accuracy_score(y_cv, pred, normalize=True) * float(100)
我的缺点是我没有在任何变量中保存
knn.fit(…)
,程序如何知道我没有安装

另外,当我在启动和安装后打印模型时,它完全相同

KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
                     metric_params=None, n_jobs=None, n_neighbors=1, p=2,
                     weights='uniform')
KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',
                     metric_params=None, n_jobs=None, n_neighbors=1, p=2,
                     weights='uniform')

如果查看
KNeighborsClassifier
code,
knn
实例将在
self
中存储经过训练的参数/信息。这就是程序知道的原因

有关详细信息,请在触发
knn.predict
时查看

  • 它首先在中调用
    neigh\u dist,neigh\u ind=self.kneighbors(X)
    sklearn\neights\\u classification.py
    (第175行)
  • 接下来,它在
    sklearn\neights\\u base.py
    (第585行)中调用
    check\u is_fitted(self)