如何确认KNeighborsClassifier的fit方法已执行?getattr无法判断
验证KNN分类器fit方法是否执行的几种方式
检查私有属性
_fit_X和_y
scikit-learn的KNeighborsClassifier执行fit后,会将训练特征和标签分别存在_fit_X和_y这两个私有属性中。未执行fit时访问这两个属性会触发AttributeError,执行后则能看到对应训练数据:# 执行fit后运行以下代码 print(knn._fit_X) print(knn._y)通过预测操作验证
未执行fit的KNN模型无法进行预测,调用predict会抛出NotFittedError。可以用异常捕获来判断:try: knn.predict(X_train.iloc[:1]) print("fit方法已执行") except Exception as e: print("fit方法未执行,错误信息:", e)查看
classes_属性
执行fit后,模型会生成classes_属性,存储训练数据中所有唯一的标签值。未执行fit时访问该属性会报错:print(knn.classes_)
内容的提问来源于stack exchange,提问作者Miguel_s
相关产品推荐
相关产品推荐

