SVM(或其他 ML 模型)的预测准确度在多大程度上取决于特征的编码方式?
How much prediction accuracy of SVM (or other ML models) depend on the way features are encoded?
假设对于给定的 ML 问题,我们有一个特征:这个人拥有哪辆车。我们可以通过以下方式之一对这些信息进行编码:
- 为每辆车分配一个id。创建一列 'CAR_POSSESSED' 并将功能 ID 作为值。
- 为每辆汽车制作列,并根据所考虑的样本是否拥有该汽车输入 0 或 1。列将像 "BMW_POSSESSED"、"AUDI_POSSESSED".
在我的实验中,当尝试使用 SVM 时,第二种方式比第一种方式执行 很多 更好。
编码方式如何影响模型学习,是否有研究过编码影响的资源?或者我们是否需要进行点击和试验来检查它在哪里表现最好?
第一种方法的问题是您使用任意数字来表示特征(例如 BMW=2 等)并且 SVM 会认真对待这些数字,就好像它们是有顺序的:例如它可能会尝试使用 CAR_OWNED>3 的案例进行预测。
所以第二种方式更好
第 2.1 章分类特征:
http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf
如果您搜索 "svm Categorical Features"
,您会找到更多
假设对于给定的 ML 问题,我们有一个特征:这个人拥有哪辆车。我们可以通过以下方式之一对这些信息进行编码:
- 为每辆车分配一个id。创建一列 'CAR_POSSESSED' 并将功能 ID 作为值。
- 为每辆汽车制作列,并根据所考虑的样本是否拥有该汽车输入 0 或 1。列将像 "BMW_POSSESSED"、"AUDI_POSSESSED".
在我的实验中,当尝试使用 SVM 时,第二种方式比第一种方式执行 很多 更好。
编码方式如何影响模型学习,是否有研究过编码影响的资源?或者我们是否需要进行点击和试验来检查它在哪里表现最好?
第一种方法的问题是您使用任意数字来表示特征(例如 BMW=2 等)并且 SVM 会认真对待这些数字,就好像它们是有顺序的:例如它可能会尝试使用 CAR_OWNED>3 的案例进行预测。 所以第二种方式更好
第 2.1 章分类特征:
http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf
如果您搜索 "svm Categorical Features"
,您会找到更多