我如何從我的OLS模型中獲得一個快速預測值。比如說
import statsmodels.formula.api as sm
model = sm.ls(formula="price ~ size year", data=df_c).fit()
model.predict([25,1990]) #(應回傳預測價格值)
當我運行model.predict([25,1990]),其中25是尺寸,1990是年份時,我如何得到一個預測值呢?
編輯:
我得到的錯誤是 "PatsyError: predict 要求您在從一個使用公式 api 創建的模型進行預測時使用 DataFrame
我得到的錯誤資訊是 "PatsyError: predict 要求您在從使用公式 api 創建的模型進行預測時使用 DataFrame。
由 patsy 回傳的原始錯誤資訊是。 評估因子時出錯。TypeError: list indices must be integers or slices, not str'/p>
是否有辦法直接運行model.predict([25,1990])的簡單代碼
。預先感謝你!
uj5u.com熱心網友回復:
你不能用你給的代碼做這個,因為你使用的是statsmodels.formula.api。我可以提供的最簡單的解決方案是使用一個快速字典:
import statsmodels.formula.api as sm
import pandas as pd
import numpy as np
df_c = pd.DataFrame(np.random.randn(10, 3)
df_c.columns = ['price','size','year']
model = sm.olls(formula='price ~ size year', data=df_c).fit()
model.predict({'size':25,'year':1990}) [0]
-165.2345445772976。
我創建了一個模擬資料框架來顯示它的作業原理,但你所需要的只是最后一行。model.predict({'size':25,'year':1990})[0]/code>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/326874.html
標籤:
