【发布时间】:2018-04-28 19:49:50
【问题描述】:
我正在关注this linear regression example,但我的结果与应有的不同。问题出在绘图轴上,它们不按顺序排列。
预期:
我的结果:
缩放以查看轴:
代码:
import pandas as pd
from sklearn import linear_model
import matplotlib.pyplot as plt
#read data
dataframe = pd.read_fwf('brain_body.txt')
x_values = dataframe[['Brain']]
y_values = dataframe[['Body']]
#train model on data
body_reg = linear_model.LinearRegression()
body_reg.fit(x_values, y_values)
#visualize results
plt.scatter(x_values, y_values)
plt.plot(x_values, body_reg.predict(x_values))
plt.show()
brain_body.txt
Brain Body
3.385 44.500
0.480 15.500
1.350 8.100
465.000 423.000
36.330 119.500
27.660 115.000
14.830 98.200
1.040 5.500
4.190 58.000
0.425 6.400
0.101 4.000
0.920 5.700
1.000 6.600
0.005 0.140
0.060 1.000
3.500 10.800
2.000 12.300
1.700 6.300
2547.000 4603.000
0.023 0.300
187.100 419.000
521.000 655.000
0.785 3.500
10.000 115.000
3.300 25.600
0.200 5.000
1.410 17.500
529.000 680.000
207.000 406.000
85.000 325.000
0.750 12.300
62.000 1320.000
6654.000 5712.000
3.500 3.900
6.800 179.000
35.000 56.000
4.050 17.000
0.120 1.000
0.023 0.400
0.010 0.250
1.400 12.500
250.000 490.000
2.500 12.100
55.500 175.000
100.000 157.000
52.160 440.000
10.550 179.500
0.550 2.400
60.000 81.000
3.600 21.000
4.288 39.200
0.280 1.900
0.075 1.200
0.122 3.000
0.048 0.330
192.000 180.000
3.000 25.000
160.000 169.000
0.900 2.600
1.620 11.400
0.104 2.500
4.235 50.400
这是我第一次使用python,我认为某些模块的安装有问题,但我不知道。
【问题讨论】:
-
请发布您的代码。
-
如果问题仅在您使用
brain_body.txt时出现,您需要提供此文件。如果问题不依赖于brain_body.txt的使用,则提供一个不带它的minimal reproducible example。 -
我放了一个指向文件的链接,但我知道问题不在代码中,因为它在教师的计算机 (OSX) 中有效,但在我的计算机 (Windows) 中无效。我认为它应该是一些模块,但我不知道如何检查它们。我得到一个退出代码 0,没有堆栈跟踪。
-
为什么这个被关闭为重复?它有一个重要的区别。 Y 轴上的数字不按顺序排列 - 我今天遇到的问题相同。据称重复的问题并没有显示出这种奇怪之处。
-
我在 Y 轴上遇到了奇怪值的完全相同的问题,而不是按顺序排列。但我没有使用 Pandas 或进行线条拟合。只是绘制 x,y 值。追了几个小时大雁,终于发现了罪魁祸首:从文本文件中读取的值从来没有转换成浮点数,即x = float(linefromfile.split[0])。哦!一旦我放入 float() 转换,情节就很好了。避免使用弱类型语言的另一个原因!
标签: python matplotlib plot scatter-plot