2016-02-13 1647 views

回答

2

目标值是您想要预测的值。岭回归实际上可以预测每个实例的更多值,而不仅仅是一个。 coef_包含用于预测每个目标的系数。这也与您训练模型以分别预测每个目标相同。

让我们来看看一个简单的例子。我将使用LinearRegression而不是Ridge,因为Ridge会缩小系数的值并使其更难理解。

首先,我们创建一些随机数据:

X = np.random.uniform(size=100).reshape(50, 2) 
y = np.dot(X, [[1, 2, 3], [3, 4, 5]]) 

前三的X实例是:

[[ 0.70335619 0.42612165] 
[ 0.2959883 0.10571314] 
[ 0.33868804 0.07351525]] 

的目标y这些实例是

[[ 1.98172114 3.11119897 4.24067681] 
[ 0.61312771 1.01482915 1.41653058] 
[ 0.55923378 0.97143708 1.38364037]] 

通知,即y[0] = x[0]+3*x[1],y[1] = 2*x[0] + 4*x[1]y[2] = 3*x[0] + 5*x[1](这就是我们用矩阵乘法创建数据的方式)。

如果我们现在符合线性回归模型

clf = linear_model.LinearRegression() 
clf.fit(X, y) 

coef_ s为:

[[ 1. 3.] 
[ 2. 4.] 
[ 3. 5.]] 

这正是我们用于创建数据的公式匹配。