我一直在尝试在Coursera上学习机器学习课程。到目前为止,大多数引入的线性回归模型使用的变量的数值与输出具有正相关。
Input: square feet of the house
Output: house price.
但是,我正在尝试使用一些变量来实现多元回归模型,这些变量的数值与输出不成正比。
Inputs:
-what day is it (Mon,Tues..),
-what holiday is it (NewYear,Xmas..),
-what month is it(Jan,Feb),
-what time is it(0100,1300..)
Output:
-Number of visitors.
问题:
对于变量:星期几,假日,月几,我使用枚举并为每个值分配一个值。 (NewYear = 1,圣诞节= 2,依此类推)。这样做或拥有单独的变量会更好吗? (IsNewYear,IsChristmas等)
我了解到,通过在变量中应用更高的幂次幂,它可以具有更好的拟合度,这正是我对假期变量的要求。有什么方法可以让计算机自己学习最佳顺序?
我可以使用现有的C#库来为不同的变量赋予不同的幂次吗? (例如,假期为13,一天中的时间为平方)
谢谢。
最佳答案
对于变量:星期几,假日,月几,我使用枚举并为每个值分配一个值。 (NewYear = 1,圣诞节= 2,依此类推)。这样做或拥有单独的变量会更好吗? (IsNewYear,IsChristmas等)
是的,永远不要在不遵循算术的变量内编码任何顺序,因此NewYear = 1,Christmas = 2,感恩节= 3意味着Christmas =(Thanksgiving + NewYear)/ 2 ...现在您想要有。一种热门编码(例如isNewyear等)是有利的,因此您不要编码虚假知识。
我了解到,通过在变量中应用更高的幂次幂,它可以具有更好的拟合度,这正是我对假期变量的要求。有什么方法可以让计算机自己学习最佳顺序?
这就是非线性方法的作用。内核方法(内核线性回归,SVR),神经网络,回归树/林等。
我可以使用现有的C#库来为不同的变量赋予不同的幂次吗? (例如,假期为13,一天中的时间为平方)
您不应该以这种方式来考虑这一点,您不应该手工拟合幂,而应该给模型灵活性以自己拟合高阶(请参见上一点)。