0

我在 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 不在乎?

4

1 回答 1

0

不,您不需要预先缩放向量。SVM 建模过程应该对数据的线性变换保持不变。

于 2018-03-20T02:53:35.743 回答