如果我的因变量,例如结果(y),是由以下方式定义的,请问有人可以解释一下吗?
y = K1*F1 + K2*F2 + ... + Kn*Fn + E
对于n个特征,其中K – 系数,F – 特征(包括分类和连续型),E – 误差
那么,K1*F1
是否表示单个特征的结果?
回答:
简短回答:是的,就是这个意思(如果不考虑E
的话)。
详细回答:请看我在Jupyter上刚做的代码。
如你所见,我生成了带有一些“噪声”的数据,然后用sklearn.linear_model.LinearRegression
进行拟合。然后我得到了系数(和截距),你可以看到回归实际上是x.coeff+intercept,这也就是你的K1*F1
,如果我没理解错的话
from sklearn.linear_model import LinearRegressionimport numpy as npfrom matplotlib import pyplot as pltnoise = 2lr = LinearRegression()x, y = [], []i=0while i<10: for j in range(np.random.randint(1,5)): x.append(i) y.append(i+np.random.rand()*noise+(noise/2)) i+=np.random.rand()%matplotlib inlineplt.scatter(x, y)x = np.asarray(x).reshape(-1, 1)y = np.asarray(y).reshape(-1)lr.fit(x,y)plt.plot(x, np.multiply(x, lr.coef_[0])+lr.intercept_)