python - 在不拟合模型的情况下进行预测 (knn)
问题描述
当我knn.fit(x_tr,y_tr)
在下面的代码中注释并运行时,它给出了一个错误NotFittedError: This KNeighborsClassifier instance is not fitted yet. Call 'fit' with appropriate arguments before using this method.
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
代码,knn
实例会将经过训练的参数/信息存储在self
. 这就是程序知道的原因。
有关更多详细信息,请在何时knn.predict
触发。
- 它首先调用
neigh_dist, neigh_ind = self.kneighbors(X)
(sklearn\neighbors\_classification.py
第 175 行) - 接下来,它调用
check_is_fitted(self)
(sklearn\neighbors\_base.py
第 585 行)
推荐阅读
- node.js - React Typescript 与 Webpack webpack.config.ts 文件已经存在,mkdir
- ios - 带有标识符的 App ID 不可用
- python - 继承父类构造函数中创建的属性
- rest - 需要一些有关 REST API 的 JWT 身份验证的信息
- matlab - matlab 创建一个结果表以从多个数组中的数据导出到 csv
- r - rstudio - 在数据帧中创建计数器,该计数器根据值或新 ID 的变化进行重置
- firebase - 配置根项目“firebase_auth”时出现问题
- python - 用python中的搭配字典替换文本文件中的所有搭配
- x86 - MASM v6.11 - 准备就绪时敲击键
- python - 如何让我的 python 脚本在我的 GPU 上运行