[英]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.