绘制python中的线和散点图

我目前正在从Coursera( https://www.coursera.org/learn/ml-foundations/lecture/6wD6H/visualizing-predictions-of-simple-model-with-matplotlib)开始我的机器学习课程.该课程使用Graphlab创建框架,用于学习和分配课程.我不想使用Graphlab,而是使用pandas,numpy用于赋值.

在课程中,教师创建了一个回归模型,然后他使用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的完全初学者.我想使用免费资源,如熊猫和scikit.我在Ipython中使用了以下来做同样的事情:

建立回归模型

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

但是,输入预测代码时出现以下错误:

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all()

因此,我无法产生教师所做的所需结果(即上图所示的图像).谁能帮我吗?

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

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

最佳答案 我怀疑这里的问题是Pandas OLS模型无法理解GraphLab的SArray.尝试首先将SFrames train_data和test_data转换为Pandas Dataframe – 以下内容适用于我:

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