Sci-kit学习SGD分类器Partial_Fit错误



我使用scikit-learn和SGD分类器在小批量中训练SVM。这里有一个小代码片段:

for row in reader:
        if row[0] in model.docvecs:
            TRAINING_X.append(model.docvecs[row[0]])
            TRAINING_Y.append(row[2])
        if count % 10000 == 0:
            np_x = np.asarray(TRAINING_X)
            np_y = np.asarray(TRAINING_Y)
            clf.partial_fit(np_x,np_y, np.unique(np.asarray))
            TRAINING_X = []
            TRAINING_Y = []
        count += 1

我使用partial_fit函数读取每1000个数据点,并使用np.unique()根据文档生成类标签。

然而,当我运行这个程序时,我会得到以下错误:

引发ValueError("类标签的数目必须为"ValueError:类标签的数量必须大于一个。

我有点困惑。我是否错误地生成了类标签?

partial_fit的文档显示Classes across all calls to partial_fit. Can be obtained by via np.unique(y_all), where y_all is the target vector of the entire dataset.

你似乎通过了np.unique(np.asarray),这似乎不正确。

根据程序抛出的错误,我认为目标变量中只有一个唯一的类。请使用np.unique(np_y),并获取要输入到模型中的唯一类的数量,并确保它不止一个。

此外,classes参数的值似乎不正确,它应该是np.unique(np_y)而不是np.unique(np.asarray)

相关内容

  • 没有找到相关文章

最新更新