混合分类和数值特征的机器学习算法



我有一个1000个样本的训练数据集。它包含大约50个特征,其中30个是分类特征,其余的是数值/连续特征。哪种算法最适合处理分类特征和连续特征的混合特征集?

一般来说,首选的方法是将所有的特征转换为标准化的连续特征。

  1. 对于原本连续的特征,执行标准化:x_i = (x_i - mean(x))/standard_deviation(x)。即对于每一个特征,减去该特征的均值,再除以该特征的标准差。另一种方法是将连续特征转换为范围[0,1]:x_i = (x_i - min(x))/(max(x) - min(x))。

  2. 对于分类特征,对其进行二值化,使每个值都是取0.0或1.0值的连续变量。例如,如果您有一个分类变量"gender",它可以接受MALE、FEMALE和NA的值,则创建三个二进制变量IS_MALE、IS_FEMALE和IS_NA,其中每个变量可以是0.0或1.0。然后可以像步骤1中那样执行标准化。

现在你有了所有的特征作为标准化的连续变量

标准化分类变量或离散变量(即0或1)不是一个好主意,因为标准化的输入将遵循非训练数据分布(例如0.5或0.7),而这些数据从来不是输入信号的一部分。

最新更新