Machine learning 如何处理不表示数量的数字

Machine learning 如何处理不表示数量的数字,machine-learning,neural-network,artificial-intelligence,deep-learning,Machine Learning,Neural Network,Artificial Intelligence,Deep Learning,以下是我的例子: 我有一家卖二手车的大商店。 我想编写一个可以预测未来汽车销量的程序。 我想用人工神经网络来分析历史数据并解决这个问题。 有多年的销售历史 网络输入: 制造年份 制造业 颜色 传输 迈尔斯 价格 (简单一点。) 网络输出:在市场停留天数 当我试图设计神经网络时,很快就发现了一个问题。 颜色、制造和传输变量不同于其他3个变量。 假设总共有3种颜色:白色、黑色和红色。 3制造商:丰田、福特和奔驰。 3变速器:手动、自动和CVT 好的,因为“color”不是一个数字,所以我不能将“

以下是我的例子:

我有一家卖二手车的大商店。 我想编写一个可以预测未来汽车销量的程序。 我想用人工神经网络来分析历史数据并解决这个问题。 有多年的销售历史

网络输入:

  • 制造年份
  • 制造业
  • 颜色
  • 传输
  • 迈尔斯
  • 价格
(简单一点。)

网络输出:在市场停留天数

当我试图设计神经网络时,很快就发现了一个问题。 颜色、制造和传输变量不同于其他3个变量。 假设总共有3种颜色:白色、黑色和红色。 3制造商:丰田、福特和奔驰。 3变速器:手动、自动和CVT

好的,因为“color”不是一个数字,所以我不能将“color”变量作为整数输入。 将其作为字符串输入看起来也不是一个好主意。 所以,我决定给每种颜色一个“id”。白色是0,黑色是1,红色是2。 然而,红色不是黑色的两倍,红色也不是比白色更接近黑色。。。 制造和传输也存在同样的问题


我怎样才能让神经网络知道这个整数意味着一个ID,而不是连续的数字或数量?最好使用一些简单的代码。

这就是我们所说的分类变量,其中一种典型的方法避免了您所描述的问题(红色不是黑色的两倍),就是使用一种热编码,因此对于具有K个可能值的变量,您将其编码为K位长的二进制表示,比如:

v = {red, black, white}
导致

red -> [1 0 0]
black->[0 1 0]
white->[0 0 1]
等等。所以你有二进制逻辑特征“这个对象是红色的吗?”等等