如果一个数据集有多个不同格式的列,那么处理此类数据的最佳方法是什么?
If a dataset has multiple columns all in different formats, what would be the best approach to deal with such data?
比如说,一个数据集有像长度和宽度这样的列,可以是浮点数,它也可以有一些二进制元素(yes/no)或离散数字(类别转换成数字)。简单地将所有这些用作功能而不用担心格式(或更像是功能的性质)会是什么明智的做法?在做归一化的时候,我们能不能像对连续数一样对离散数进行归一化呢?我真的很困惑处理多种格式.....
- 是的,您可以规范化离散值。但它应该没有真正的
对学习的影响——如果你是,则需要标准化
进行某种形式的相似性测量,但事实并非如此
对于因子变量。有一些特殊情况,比如神经网络
网络,对 input\output 的规模和
权重大小(参见 'vanishing\exploding gradient' 主题)。还有它
如果您正在对数据进行聚类,那将是有意义的。
聚类使用某种距离度量,所以它是
最好让所有功能都处于同一比例。
- 分类的东西没有什么特别的,除了一些
学习方法特别擅长使用分类
特征,一些 - 擅长使用真正有价值的特征,一些擅长
两个。
我混合分类和实值特征的第一选择是使用一些基于树的方法(RandomForest 或梯度提升机)和第二个 - 人工神经网络。
此外,处理因子(分类变量)的极佳方法是将它们转换为布尔变量集。例如,如果您有一个具有五个级别(1、2、3、4 和 5)的因子,一个好的方法是将其转换为 5 个特征,其中 1 个在代表其中一个级别的列中。
比如说,一个数据集有像长度和宽度这样的列,可以是浮点数,它也可以有一些二进制元素(yes/no)或离散数字(类别转换成数字)。简单地将所有这些用作功能而不用担心格式(或更像是功能的性质)会是什么明智的做法?在做归一化的时候,我们能不能像对连续数一样对离散数进行归一化呢?我真的很困惑处理多种格式.....
- 是的,您可以规范化离散值。但它应该没有真正的 对学习的影响——如果你是,则需要标准化 进行某种形式的相似性测量,但事实并非如此 对于因子变量。有一些特殊情况,比如神经网络 网络,对 input\output 的规模和 权重大小(参见 'vanishing\exploding gradient' 主题)。还有它 如果您正在对数据进行聚类,那将是有意义的。 聚类使用某种距离度量,所以它是 最好让所有功能都处于同一比例。
- 分类的东西没有什么特别的,除了一些 学习方法特别擅长使用分类 特征,一些 - 擅长使用真正有价值的特征,一些擅长 两个。
我混合分类和实值特征的第一选择是使用一些基于树的方法(RandomForest 或梯度提升机)和第二个 - 人工神经网络。
此外,处理因子(分类变量)的极佳方法是将它们转换为布尔变量集。例如,如果您有一个具有五个级别(1、2、3、4 和 5)的因子,一个好的方法是将其转换为 5 个特征,其中 1 个在代表其中一个级别的列中。