我想计算今天的降雨量,单位是毫米。所以我想先知道这是线性回归还是逻辑回归问题,以及如果我有包含大量实例的一些属性的数据集,该如何计算。
还有如何知道何时使用特征缩放,以及如果在必要时不使用特征缩放,我的程序会有什么影响。
我能否得到特征缩放的Java代码。
回答:
如果你要计算今天的降雨量,那么你应该选择线性回归,这最适合这个问题。
因为降雨量属于实数(R),是一个具体的值,如果你有分类问题,尤其是二元分类,那么你必须选择逻辑回归。
假设在计算今天的降雨量时有6个属性,那么你的模型应该是:
y = w(0)+x(1)w(1)+x(2)w(2)+x(3)w(3)+x(4)w(4)+x(5)w(5)+x(6)w(6)
y
是你要预测的降雨量。
其中 x(1)...x(6)
是属性,w(0)...w(6)
是你需要计算的权重。
然后你应该有一个要减少的损失函数:
现在你要计算 w(0)…w(6)。
现在使用梯度下降方法。
//实际上我没有梯度下降的图片,但我可以用这个来向你解释。theta(j)
是 w(j)
,alpha
是学习率。并且 E
是 J(theta)
,t(p)
是给定的值,其中 y(p)
是预测值,即原始的 y
。
而特征缩放是在数据过于稀疏时进行的,可以通过将所有元素除以最大元素来实现。这是为了标准化独立数据。所以先进行特征选择,然后再进行缩放。
更多关于线性回归的信息。
为什么不能在这里应用逻辑回归?
因为在逻辑回归中,我们得到的是S形曲线,这最适合二元分类。
高于0.5取1或真,低于0.5取0或假。
希望这对你有帮助。