KNeighborsClassifier对象没有属性“append”

2024-10-01 00:23:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试向保存的pickle文件(KNN分类器对象)添加新的编码和名称,但无法追加

 # Save the trained KNN classifier
    if os.path.getsize(model_save_path) > 0:  
        if model_save_path is not None:
            with open(model_save_path, 'rb') as f:
                unpickler = pickle.Unpickler(f)
                clf = unpickler.load()


        newEncodings = X, y
        clf.append(newEncodings)

        with open(model_save_path,'wb') as f:
            pickle.dump(clf, f)
    
    else:
        if model_save_path is not None:
            with open(model_save_path, 'wb') as f:
                 pickle.dump(knn_clf, f)

获取错误:

'KNeighborsClassifier' object has no attribute 'append'

有没有办法做到这一点


Tags: pathnonemodelifissaveaswith
1条回答
网友
1楼 · 发布于 2024-10-01 00:23:34

根据您希望对新数据执行的操作,您可以:

再训练一次:

clf.fit(X, y)

或者只是做一些预测:

clf.predict(X)

如果需要使用新旧数据对其进行培训,请执行以下操作:

clf.fit(Xold+X, yold+y)

某些分类器具有以下方法,可帮助您对新添加的数据进行增量拟合:

估计器。集合参数(n\u估计器=110,warm\u start=True)

估计量.部分拟合(…)

KNeighborsClassifier似乎支持warm_start=True参数 所以你应该试试:

clf.set_params(warm_start=True)
clf.fit(newX, newy)

相关问题 更多 >