在python中绘制线和散点图

Posted

技术标签:

【中文标题】在python中绘制线和散点图【英文标题】:plotting line and scatter plot in python 【发布时间】:2016-03-19 20:47:47 【问题描述】:

我目前正在学习 Coursera (https://www.coursera.org/learn/ml-foundations/lecture/6wD6H/visualizing-predictions-of-simple-model-with-matplotlib) 的机器学习课程。该课程在课程中使用 Graphlab Create 框架进行学习和作业。我不想使用Graphlab,而是使用pandasnumpy 进行分配。

在课程中,讲师创建了一个回归模型,然后他使用matplotlib展示了预测:

建立回归模型

sqft_model = graphlab.linear_regression.create(train_data, target='price', features=['sqft_living'],validation_set=None)

然后预测代码如下:

plt.plot(test_data['sqft_living'],test_data['price'],'.',
        test_data['sqft_living'],sqft_model.predict(test_data),'-')

结果是:

在上图中,蓝点是测试数据,绿线是简单回归的预测。 我是编程和 python 的初学者。我想使用免费资源,例如 pandas 和 scikit。我在Ipython 中使用了以下功能:

建立回归模型

from pandas.stats.api import ols
sqft_model = ols(y=train_data['price'], x=train_data['sqft_living'])

但是,我在输入预测代码时收到以下错误:

ValueError:Series 的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()

因此,我无法按照讲师的要求(即上图所示)产生预期的结果。谁能帮帮我?

请找到以下链接下载数据:

https://onedrive.live.com/redir?resid=EDAAD532F68FDF49!1091&authkey=!AKs341lbRnuCt9w&ithint=folder%2cipynb

【问题讨论】:

嗨@Drjnker ...我在输入预测代码时收到以下错误:ValueError:系列的真值不明确。使用 a.empty、a.bool()、a.item()、a.any() 或 a.all()。 问题可能出自您的train_data 吗? 谢谢@Drjnker..我会检查> 同时,你能告诉我什么意思:一个系列的真值是模糊的......? 您必须在系列上寻找条件,但 python 不知道您是否想要“系列不为空”、“系列的元素为真”或“所有元素的系列是真实的“..这就是为什么它给你a.emptya.all()......虽然它在你的代码中没有多大意义(从我坐的地方) 【参考方案1】:

我怀疑这里的问题是 Pandas OLS 模型无法理解 GraphLab 的 SArray。尝试先将 SFrame train_datatest_data 转换为 Pandas Dataframe - 以下对我有用:

df_train = train_data.to_dataframe()
model = old(y=df_train['price'], x=df_train['sqft_living'])

【讨论】:

嗨,谢谢你的帮助......当我输入上面的命令时,我得到: AttributeError: 'DataFrame' object has no attribute 'to_dataframe'.. 我错过了什么......谢谢! This might help 但我不知道你的数据是什么类型。 @Drjnker..我提供了 Onedrive 链接(上面已编辑)来下载我正在使用的数据和代码文件,..你能检查一下..

以上是关于在python中绘制线和散点图的主要内容,如果未能解决你的问题,请参考以下文章

100天精通Python(可视化篇)——第82天:matplotlib绘制不同种类炫酷散点图参数说明+代码实战(二维散点图三维散点图散点图矩阵)

可视化实验十:利用Python绘制棒图散点图

可视化实验十:利用Python绘制棒图散点图

python绘制折线图和散点图

Python数据分析:折线图和散点图的绘制

python matplotlib绘制 3D图像专题 (三维柱状图曲面图散点图曲线图合集)