相关疑难解决方法(0)

使用matplotlib绘制sklearn LinearRegression输出

在使用numpy分隔x_values和y_values时导入文件后:

import pandas as pd
from sklearn import linear_model
from  matplotlib import pyplot 
import numpy as np

#read data
dataframe = pd.read_csv('challenge_dataset.txt')
dataframe.columns=['Brain','Body']
x_values=np.array(dataframe['Brain'],dtype=np.float64).reshape(1,-1)
y_values=np.array(dataframe['Body'],dtype=np.float64).reshape(1,-1)

#train model on data
body_reg = linear_model.LinearRegression()
body_reg.fit(x_values, y_values)
prediction=body_reg.predict(x_values)

print(prediction)
#visualize results
pyplot.scatter(x_values, y_values)
pyplot.plot(x_values,prediction)
pyplot.show()
Run Code Online (Sandbox Code Playgroud)

我将绘图作为下图,它没有显示最佳拟合线,当我打印'预测'的值时,它显示的值与'y_values'相同.

在此输入图像描述 相反,我使用以下代码.我得到了回归线.

#read data
dataframe = pd.read_csv('challenge_dataset.txt')
dataframe.columns=['Brain','Body']
x_values=dataframe[['Brain']]
y_values=dataframe[['Body']]
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

为什么会这样?

提前致谢.

python numpy matplotlib pandas

4
推荐指数
1
解决办法
7898
查看次数

标签 统计

matplotlib ×1

numpy ×1

pandas ×1

python ×1