我有一个具有分类变量 class 的数据集,我正在尝试解决回归问题
我不知道是否应该在整个数据集上构建模型并将变量 class 视为输入变量之一,还是应该为每个类构建一个完全不同的模型。
什么是通用规则,可以帮助我在两种方法之间做出决定。
这是我的数据外观的一个示例
+------------+----+-----+-----------------+
| Class | X1 | X2 | Speed |
+------------+----+-----+-----------------+
| Class1 | 12 | 123 | 10 |
| Class2 | 14 | 120 | 32 |
| Class3 | 15 | 34 | 12 |
| . | . | . | . |
| . | . | . | . |
| . | | | |
| Class 300 | 23 | 13 | 45 |
+------------+----+-----+-----------------+
Class
是输入类别变量,我大约有300个类。输出变量为Speed
。我正在尝试使用变量Class
,X1
,X2
来预测速度。
我应该分别为每个Class
建立一个模型。因此,当我知道输入类型为Class1
时,我将选择为Class1
构建的模型。当输入类型为Class2
时,我将使用为Class2
构建的模型,依此类推。同样,Class
变量中的值可以重复,意味着Class1
可以出现4倍,Class2
可以出现8倍,等等
我在想的另一种方法是将Class
本身作为变量包含在内,并仅构建一个模型。
我不知道哪种是正确的方式
答案 0 :(得分:1)
没有公认的正确方法。大多数人会告诉您尝试两种方法,然后使用最适合您数据的方法。不过,请注意以下几点:
每个类是否都有足够的数据点来构建准确的模型?如果不是这样,将所有类(或类似的类)组合在一起可能是更好的方法。
如果确实需要组合类,那么如果其他任何参数的规模都不相同,则可能需要规范化数据。 (请参阅Feature scaling作为参考。)
在不了解数据性质的情况下很难说更多话。