我在 Python 中使用 Scikit-Learn 进行文本分类。我的分类器目前正在对所有内容做出错误的预测(我被愚弄了一段时间,因为当 75% 的标签为错误时,它报告“75% 的准确率”),所以我试图找出问题所在。
目前,我正在SVC(kernel='precomputed')
手动执行和计算 Gram 矩阵,然后将其传递给fit()
and predict()
。Gram 矩阵的入口 $G_{ij}$ 是内核 $K(d_i, d_j)$,其中 K 表示内核函数,d_i 是第 i 个文档。
对于我的核函数,Gram 矩阵项没有被归一化,即有些大于 1。我需要应用核归一化吗
$$
K'(d_i, d_j) = \frac{K(d_i, d_j)}{\sqrt{K(d_i, d_i) \times K(d_j, d_j)}}
$$
让它在 0 和 1 之间?还是 SVM 不在乎?