【问题标题】:Sklearn Linear Regression giving me inaccurate accurate reading?Sklearn 线性回归给我不准确的准确读数?
【发布时间】:2020-01-22 06:26:56
【问题描述】:

我有一个包含 3 个简单列的 excel 文件:单价、已售数量和总计。总计只需将单价乘以数量即可获得。所以我设置了一个简单的sklearn线性回归算法代码来预测这个值:


import numpy as np 
import pandas as pd
from sklearn import *

data = pd.read_excel("Sample.xls")[["Units", "Unit Cost", "Total"]]

predict = "Total"

X = np.array(data.drop([predict], 1))
y = np.array(data[predict])

x_train, x_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.1)
linear = linear_model.LinearRegression()
linear.fit(x_train, y_train)

acc = linear.score(x_test, y_test)

print(acc)

我运行了打印功能 3 次,结果如下:

-1.517292267629657
0.9167778505657976
0.15292336331892453

为什么我得到这个而不是 100% 的准确度?模型应该认识到预测只是第一列与第二列的乘积

【问题讨论】:

  • 你的数据集有多大?
  • 大约 50。足够模型训练了

标签: python scikit-learn linear-regression


【解决方案1】:

线性回归不起作用。使用Matplotlib绘制图形,看看是否可以为培训数据获得直线。如果您的输入是x1和x2,则输出为x1 * x2,而不是形式Ax1 + Bx2。模型是正确预测的,错误是模型应用程序本身。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-09
    • 2023-04-02
    • 2021-02-02
    • 2019-12-22
    • 2015-08-10
    • 2018-10-18
    • 2018-12-04
    • 2021-06-19
    相关资源
    最近更新 更多