如何处理机器学习算法中的定性数据
How to deal with Qualitative Data in machine learning algorithms
假设我正在尝试使用神经网络来预测我的 运行 将花费多长时间。我有很多过去 运行 的数据。我在 运行 宁计划多少英里,海拔(山丘)、温度和天气的总变化:晴天、阴天、下雨或下雪。
我对如何处理最后一条数据感到困惑。对于其他一切,我可以在标准化后正常输入,但我不能为天气这样做。不过,我最初只是有 4 个额外的变量,一个用于每种类型的天气,并根据天气情况输入 1 或 0。
这是处理这种情况的好方法吗?我应该尝试其他方法吗?
您有一个具有四个水平的分类变量。
编码此类值的一种非常典型的方法是为每个值使用一个单独的变量。或者,更常见的是"n-1"编码,其中少用一个flag(第四个值全部为0表示)。
n-1 编码用于需要数字输入的技术——包括逻辑回归和神经网络。对于 "n" 的大值,这是一个糟糕的选择。问题是它创建了许多稀疏数据输入;稀疏数据高度相关。更多的输入意味着网络中更多的自由度,使网络更难训练。
在您的例子中,对于这个特定的输入您只有四个值。把它分成三个变量可能是合理的。
假设我正在尝试使用神经网络来预测我的 运行 将花费多长时间。我有很多过去 运行 的数据。我在 运行 宁计划多少英里,海拔(山丘)、温度和天气的总变化:晴天、阴天、下雨或下雪。
我对如何处理最后一条数据感到困惑。对于其他一切,我可以在标准化后正常输入,但我不能为天气这样做。不过,我最初只是有 4 个额外的变量,一个用于每种类型的天气,并根据天气情况输入 1 或 0。
这是处理这种情况的好方法吗?我应该尝试其他方法吗?
您有一个具有四个水平的分类变量。
编码此类值的一种非常典型的方法是为每个值使用一个单独的变量。或者,更常见的是"n-1"编码,其中少用一个flag(第四个值全部为0表示)。
n-1 编码用于需要数字输入的技术——包括逻辑回归和神经网络。对于 "n" 的大值,这是一个糟糕的选择。问题是它创建了许多稀疏数据输入;稀疏数据高度相关。更多的输入意味着网络中更多的自由度,使网络更难训练。
在您的例子中,对于这个特定的输入您只有四个值。把它分成三个变量可能是合理的。