Python:Sklearn.linear_model.LinearRegression 工作很奇怪

2024-01-01

我正在尝试进行多变量线性回归。但我发现 sklearn.linear_model 的工作非常奇怪。这是我的代码:

import numpy as np
from sklearn import linear_model

b = np.array([3,5,7]).transpose() ## the right answer I am expecting
x = np.array([[1,6,9],   ## 1*3 + 6*5 + 7*9 = 96
              [2,7,7],   ## 2*3 + 7*5 + 7*7 = 90
              [3,4,5]])  ## 3*3 + 4*5 + 5*7 = 64
y = np.array([96,90,64]).transpose()

clf = linear_model.LinearRegression()
clf.fit([[1,6,9],
         [2,7,7],
         [3,4,5]], [96,90,64])
print clf.coef_ ## <== it gives me [-2.2  5  4.4] NOT [3, 5, 7]
print np.dot(x, clf.coef_) ## <== it gives me [ 67.4  61.4  35.4]

为了找到你的初始系数,你需要使用关键字fit_intercept=False构建线性回归时。

import numpy as np
from sklearn import linear_model

b = np.array([3,5,7])
x = np.array([[1,6,9],  
              [2,7,7],   
              [3,4,5]])  
y = np.array([96,90,64])

clf = linear_model.LinearRegression(fit_intercept=False)
clf.fit(x, y)
print clf.coef_
print np.dot(x, clf.coef_)

Using fit_intercept=False防止LinearRegression对象从与x - x.mean(axis=0),否则它会这样做(并使用常量偏移捕获平均值y = xb + c) - 或者等效地添加一列1 to x.

作为旁注,调用transpose一维数组上没有任何效果(它颠倒了轴的顺序,而你只有一个)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:Sklearn.linear_model.LinearRegression 工作很奇怪 的相关文章

随机推荐

  • 命名参数什么时候有用?

    C 代码中是否存在位置参数不够用的情况 我真的没有看到命名参数有任何好处 相反 我可以看到过度使用命名参数会使代码难以阅读 所以我的问题是 为什么有人会使用它们以及它如何帮助编写更好的代码 因为我确信它们不是毫无理由地实现的 这对我来说看起
  • 如何在 WSO2 APIM 中处理外部/第三方 API 的外部身份验证

    我正在使用 WSO2 APIM 2 5 0 和 IS 5 6 0 它们都是集成的并且运行良好 现在 如果我在 API 管理中加入第三方 API 并使用 oauth 令牌 我就可以访问它 但问题是如何处理具有自己的身份验证的任何外部或第三方
  • const_cast 和 UB

    5 2 11 7 注 取决于 对象的类型 写操作 通过指针 左值或指针 到由 a 产生的数据成员 const cast 抛弃 a const 限定符68 may生产 未定义的行为 7 1 5 1 本节 C 03 的措辞令我惊讶 令人惊讶的是
  • 两次时间差

    我想以 hh mm 格式显示两个时间之间的差异 第一个时间来自数据库 第二个时间是系统时间 时差每秒更新一次 我怎样才能做到这一点 目前 我正在使用两个手动时间 如果效果完美 那么我会将其实施到我的应用程序中 public class Ma
  • 将星星添加到 p 值

    我计算了多个变量均值差异的 Anova F 检验 p 值 现在我想添加 星星 来指示 p 值的显着性水平 我希望 表示 10 水平的显着性 表示 5 水平的显着性 表示 1 水平的显着性 我的数据如下所示 structure list Va
  • 如果未安装应用程序,如何获取 Facebook 应用程序链接

    如果用户点击 Facebook 应用程序中的深层链接时未安装我的应用程序 如何获取应用程序链接数据 令人惊讶的是 Facebook 关于这个问题的文档很少 我有一个深层链接https fb me 635533123230265 返回 HTM
  • 在 ASP.NET MVC 组织帐户中访问 Azure AD Graph API

    我正在尝试根据登录用户的 AD 组限制页面访问 我对以下代码有问题 var tenantId incomingPrincipal FindFirst GraphConfiguration TenantIdClaimType Value cr
  • 如何在 Eclipse 中为编辑器创建大纲视图?

    我在 eclipse 中创建了一个自定义编辑器 其大纲视图显示大纲不可用 我尝试搜索此内容 发现了以下链接 常见问题解答 如何为我自己的语言编辑器创建大纲视图 http wiki eclipse org FAQ How do I creat
  • 在 Ruby 中生成高斯(正态分布)随机数的代码

    在 ruby 中生成正态分布随机数的代码是什么 注 我回答了我自己的问题 但我会等几天再接受 看看是否有人有更好的答案 EDIT 为了搜索这个 我查看了两次搜索产生的 SO 上的所有页面 正态分布 红宝石 and 高斯 随机红宝石 蟒蛇的随
  • 使用 [NSDate date] 获取当前日期和时间

    我的系统的日期时间是 5 月 26 日 22 55 但是当我与 NSDate date 日期时间是 5 月 27 日 02 35 是因为时区的原因吗 如果是 如何解决这个问题 当我得到日期时间时 给我系统的日期并且不检查时区 NSLocal
  • yii:尝试获取非对象的属性

    嗯 我发现this https stackoverflow com questions 18335513 trying to get property of non object error in yii 但我看不到与我的错误的关系 我是新
  • Python - 从其他内部类引用内部类

    我试图从另一个内部类引用一个内部类 我都尝试过 class Foo object class A object pass class B object other A and class Foo object class A object
  • SVG - 单击不是函数[重复]

    这个问题在这里已经有答案了 我有一个这样的元素
  • AJAX更新数据库

    抱歉没有说出我的问题 实际上我想更新数据库中的数据 但现在的问题是 即使我尝试选择批准或拒绝ajax仍然不会更新 我是 ajax 新手 尝试在网络上搜索 但我的代码仍然有问题 这是我的 php 页面
  • HTML 报纸专栏

    我正在尝试使用文本块创建报纸样式的专栏 我希望文本均匀分布在两列中 这样可以对文本长度的变化做出反应 仅使用 HTML CSS 可以吗 如果不行 可以使用 javascript 吗 Thanks 两个注意事项 适用于印刷媒体的内容不适用于显
  • 数学表达式的自定义解释器

    我必须评估大量包含变量的表达式 并且我正在考虑编写一个小型自定义解释器以保持编译快速且小型 但是我对这个主题没有经验 并且有一些问题 假设我们有一个包含数学表达式和一组有限对象的文件 该文件可能如下所示 expr x y z 2 x y x
  • Flask 应用程序部署到 Heroku 时出错 at=错误代码=H10 desc="应用程序崩溃" method=GET path="/"

    在 Heroku 中部署时 示例 Flask 应用程序在 error code H10 desc App crashed method GET path 处给出错误 Flaskapp py from flask import Flask a
  • Dataframe聚合方法传递列表问题

    这可能是一个错误 但是您对此 pandas 功能有何看法 df pd DataFrame np arange 20 reshape 10 1 columns AB def f x print type x df agg f Output
  • 用于处理动态分类法的专用多面搜索引擎 - 仅有助于性能还是灵活性?

    一段时间以来 我一直在考虑如何使用类似于 eBay 的分类法和依赖于特定产品类别的属性来对典型的电子商务网站进行建模 第一次尝试是在 EAV 和 Table Per Class 数据库继承建模之间进行选择 我选择后者是因为性能 但这意味着为
  • Python:Sklearn.linear_model.LinearRegression 工作很奇怪

    我正在尝试进行多变量线性回归 但我发现 sklearn linear model 的工作非常奇怪 这是我的代码 import numpy as np from sklearn import linear model b np array 3