【问题标题】:What is target in Python's sklearn coef_ output?Python 的 sklearn coef_ 输出中的目标是什么?
【发布时间】:2016-05-25 00:00:46
【问题描述】:

当我在 Python 中使用 sklearn 进行岭回归时,coef_ 输出给了我一个二维数组。根据documentation,它是(n_targets,n_features)。

我知道特征是我的系数。但是,我不确定目标是什么。这是什么?

【问题讨论】:

    标签: python scikit-learn regression linear-regression regularized


    【解决方案1】:

    目标是您要预测的值。岭回归实际上可以为每个实例预测更多值,而不仅仅是一个。 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.]]
    

    这与我们用于创建数据的方程完全匹配。

    【讨论】:

    • 所以我们可以称这个coef_为模型的权重?
    • 是的,你可以称它们为“权重”,尽管这个术语主要用于机器学习和与神经网络相关的领域。在线性回归中,它们通常被称为“系数”、“效果”或通常称为“参数”。
    猜你喜欢
    • 1970-01-01
    • 2020-05-28
    • 2013-12-07
    • 2021-07-07
    • 2020-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-05-06
    • 2018-04-11
    相关资源
    最近更新 更多