[英]plotting line and scatter plot in 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
使用了以下来做同样的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()
因此,我无法产生教师所做的所需结果(即上图所示的图像)。 谁能帮我吗?
请找到以下链接下载数据:
我怀疑这里的问题是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'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.