machine-learning - 如何处理机器学习算法中的定性数据

标签 machine-learning neural-network data-analysis

假设我尝试使用神经网络来预测我的运行需要多长时间。我有很多过去运行的数据。我计划跑多少英里、海拔(山丘)的总变化、温度和天气:晴天、阴天、下雨或下雪。

我对如何处理最后一条数据感到困惑。对于其他一切,标准化后我可以正常输入,但对于天气我不能这样做。我最初的想法是有 4 个额外的变量,每个变量对应一种天气类型,输入时根据具体情况输入 1 或 0。

这是解决这种情况的好方法吗?我还应该尝试其他方法吗?

最佳答案

您有一个具有四个级别的分类变量。

对此类值进行编码的一种非常典型的方法是为每个值使用单独的变量。或者,更常见的是“n-1”编码,其中使用少一个标志(第四个值表示全部为 0)。

n-1 编码用于需要数字输入的技术,包括逻辑回归和神经网络。对于较大的“n”值,那么这是一个糟糕的选择。问题在于它创建了许多稀疏数据的输入;稀疏数据是高度相关的。更多的输入意味着网络中有更多的自由度,从而使网络更难训练。

就您而言,此特定输入只有四个值。将其分为三个变量可能是合理的。

关于machine-learning - 如何处理机器学习算法中的定性数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38733121/

相关文章:

python - 如何将相同类别的列置于 Pandas 数据框中的单个标题下?

python - 为什么我无法使用随机森林找到最低平均绝对误差?

machine-learning - SageMaker 在部署时未能为容器提取模型数据存档 tar.gz

numpy - 数据集中模式的随机化

lua - Torch/Lua,哪种神经网络结构适合小批量训练?

artificial-intelligence - 在神经网络中,偏差是否会改变激活函数的阈值?

python - Matplotlib:在 3D 条形图中格式化 x 轴上的日期

python - 非常高的验证,同时缓慢增加训练

matlab - Octave 中的 Fitnet 功能模拟

python - 在 python 中的 pandas 中匹配数据帧之间的行