【问题标题】:Scikit Learn Not fit error when calling LinearRegression调用 LinearRegression 时 Scikit Learn Not fit 错误
【发布时间】:2018-02-22 07:30:53
【问题描述】:

我在 Spyder 中使用此代码调用 LinearRegression:

 X = Full[predictors]
Y = Full['logerror']
X_train, X_test, Y_train, Y_test = train_test_split( X, Y, test_size=0.2, random_state=42)

X_train_val = X_train.values
Y_train_val = Y_train.values
X_test_val = X_test.values


model = LinearRegression()

LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)

pred = model.predict(X_test_val)

它显示了这个错误:NotFittedError: This LinearRegression instance is not fit ye​​t.

我应该如何解决它?

【问题讨论】:

    标签: python-3.x scikit-learn spyder


    【解决方案1】:

    你没有做任何拟合。

    model = LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
    model.fit(X_train_val, Y_train_val)
    

    会有一些代码与你的兼容。

    编辑:我认为您的代码中有更多损坏的东西(或者您隐藏了一些基于 pandas 的用法)!仔细阅读文档。

    看看the tutorial,基本的例子是:

    from sklearn import linear_model
    reg = linear_model.LinearRegression()
    reg.fit ([[0, 0], [1, 1], [2, 2]], [0, 1, 2])
    

    【讨论】:

    • 我只是缩短了代码,以便它可以集中到有错误的部分
    • 非常感谢!它有助于解决问题! :)
    • @user1314404 总的来说这很好,但.values 部分在没有任何熊猫指示的情况下看起来很奇怪(是的,前两行让我认为它是熊猫)。
    • 你确实是对的!前几行: import numpy as np import pandas as pd import math from sklearn.linear_model import LinearRegression from sklearn.cross_validation import train_test_split
    猜你喜欢
    • 2021-12-29
    • 2019-05-23
    • 2020-09-21
    • 2014-04-05
    • 1970-01-01
    • 2013-03-29
    • 1970-01-01
    • 2017-04-17
    • 2018-05-05
    相关资源
    最近更新 更多