为了账号安全,请及时绑定邮箱和手机立即绑定

简单的问题我没有得到预期的输出。(线性回归)

简单的问题我没有得到预期的输出。(线性回归)

守着星空守着你 2023-07-05 15:42:43
我是编程新手。代码:import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom sklearn import linear_modeldf=pd.read_csv('homeprices.csv')reg = linear_model.LinearRegression()问题1reg.fit(df[['area']],df.price)预期输出应该是LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,         normalize=False)我的输出:LinearRegression()问题2reg.predict(3300)当我使用时它给出错误"()",但是当我使用 2D 数组时"[[]]"它给了我正确的输出,但我想知道为什么当我使用唯一的括号时它没有给我输出(如视频所示)。
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

问题1:

这就是最新版本 sklearn(即 0.23)中拟合模型输出的显示方式。参数相同,但未在输出中显示。

您可以使用reg.get_params()查看参数。

问题2:

较新版本的 Scikit-learn 需要预测函数的 2D 输入,我们可以通过以下方式制作 3300 2D [[3300]]

reg.predict( [[3300]] )


查看完整回答
反对 回复 2023-07-05
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

  • 问题1:这取决于您之前可能更改过的默认参数或更改它的任何其他原因,但是您可以在以这种方式初始化线性分类器时轻松设置所需的参数:

    reg = linear_model.LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None, normalize=False)

  • 问题2: reg.predict(3300)这样传递参数给Pandas是不正确的,你可以看到讲师也更正了reg.predict([3300])youtube帖子描述中的答案


查看完整回答
反对 回复 2023-07-05
?
倚天杖

TA贡献1828条经验 获得超3个赞

尝试这个,但你应该定义你的变量并适应它们以获得所需的输出


import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

from sklearn.linear_model import LinearRegression()


df=pd.read_csv('homeprices.csv')

reg =LinearRegression()


查看完整回答
反对 回复 2023-07-05
  • 3 回答
  • 0 关注
  • 97 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信