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

假设我正在尝试使用神经网络来预测我的跑步时间。我有过去跑步的大量数据,包括计划跑的里程数、总海拔变化(山丘)、温度以及天气:晴天、多云、下雨或下雪。

我对如何处理最后一个数据感到困惑。其他数据我可以在标准化后正常输入,但天气数据不行。我最初的想法是设置四个额外的变量,每种天气一个,并根据实际情况输入1或0。

这种方法是否合适?还有其他方法我应该尝试吗?


回答:

你有一个具有四个水平的分类变量。

编码这种值的一个非常典型的方法是为每个值使用一个单独的变量。或者,更常见的是使用“n-1”编码,其中使用少一个标志(第四个值由所有标志为0来表示)。

“n-1”编码用于需要数值输入的技术——包括逻辑回归和神经网络。对于“n”值较大的情况,这种方法是不合适的。问题在于它会产生许多稀疏数据的输入;稀疏数据具有高度相关性。更多的输入意味着网络中更多的自由度,使得网络更难训练。

在你的情况下,这个特定输入只有四个值。将其拆分为三个变量可能是合理的。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注