【问题标题】:Multiple Linear Regression 100% Accuracy多元线性回归 100% 准确度
【发布时间】:2021-02-02 10:12:54
【问题描述】:

我在多元线性回归中获得了 100% 的准确率。我正在关注去年的一个教程。他在同一个模型上没有得到 100% 的准确率,但我现在得到了。对我来说似乎很奇怪。这是我的代码。我做得对还是我的代码有问题?

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd


dataset = pd.read_csv('M_Regression.csv')
X = dataset.iloc[:, :-1].values
Y = dataset.iloc[:, :1].values

from sklearn.model_selection import train_test_split
X_train, x_test, Y_train, y_test = train_test_split(X, Y, test_size=0.3, random_state=0)

#regression
from sklearn.linear_model import LinearRegression
reg = LinearRegression()
reg.fit(X_train,Y_train)

#Prediction
y_pred = reg.predict(x_test)

print(str(y_test) + " - " + str(y_pred))

【问题讨论】:

    标签: python machine-learning linear-regression


    【解决方案1】:

    线性回归具有简单的数字,通常在大型数据集上具有 100% 的准确度。尝试使用其他数据集一次。我试过你的代码,我得到了 1.0 的准确度。

    【讨论】:

      【解决方案2】:

      要检查模型的准确性,您可以尝试打印测试样本的 r2 分数。中的一些东西:

      from sklearn.metrics import r2_score
      print(r2_score(y_test,y_pred))
      

      如果您仍然对分数有疑问。您可以尝试删除“random_state=0”,以检查您是否仍然具有多个训练/测试数据集的 100% 准确度。

      【讨论】:

      • 我删除了随机状态,但现在的值已经偏离了[[ 542.05] [ 20229.59] [162597.7 ] [134615.46] [ 23640.93] [ 61136.38] [ 64664.71] [ 93863.75] [114523.61] [ 91749.16] [144372.41] [ 15505.73] [ 73994.56] [ 0. ] [ 67532.53]] [[ 5.42050000e+02] [ 2.02295900e+04] [ 1.62597700e+05] [ 1.34615460e+05] [ 2.36409300e+04] [ 6.11363800e+04] [ 6.46647100e+04] [ 9.38637500e+04] [ 1.14523610e+05] [ 9.17491600e+04] [ 1.44372410e+05] [ 1.55057300e+04] [ 7.39945600e+04] [-1.56232766e-11] [ 6.75325300e+04]]
      • random_state 只修复了 train_test_split 将 X 打乱为 X_train 和 X_test 的方式。如果你的模型是健壮的,那么它不应该像那样发散(我猜它们是不正常的)。您是否尝试打印 r2 分数?
      • 是的,我做了并且得到了 1.0,但很难相信我是新手所以不知道。
      猜你喜欢
      • 2010-11-23
      • 2017-06-20
      • 2019-10-09
      • 1970-01-01
      • 2013-07-17
      • 2014-05-20
      • 1970-01-01
      • 2019-08-09
      • 2020-01-22
      相关资源
      最近更新 更多