2016-12-30 83 views
0

我嘗試使用ARIMA模型在gridSearchCV功能,但它返回我該如何使用估計不sklearn進行模型管道

「類型錯誤:無法複製對象‘’(類型):它似乎並沒有被一個scikit學習估計,因爲它沒有實現「get_params」的方法。 「

import numpy as np 
import pandas as pd 
from sklearn.grid_search import GridSearchCV 
from statsmodels.tsa.arima_model import ARIMA 
df_original = pd.DataFrame({"date_col": ['2016-08-01', '2016-08-02', '2016-08-03', '2016-08-04', '2016-08-05', 
              '2016-08-06', '2016-08-07', '2016-08-08', '2016-08-09', '2016-08-10', 
              '2016-08-11'], 
           'sum_base_revenue_cip': [1, 2, 7, 5, 1, 2, 5, 10, 9, 0, 1]}) 
    df_original["sum_base_revenue_cip"] = np.log(df_original["sum_base_revenue_cip"] + 1e-6) 
    df_original_ts = df_original.copy(deep=True) 
    df_original_ts['date_col'] = pd.to_datetime(df_original['date_col']) 
    df_original_ts = df_original_ts.set_index('date_col') 
    print df_original_ts 

    estimator = ARIMA(df_original_ts,order=(1,1,0)) 
    params = { 
     'order': ((2, 1, 0), (0, 2, 1), (1, 0, 0)) 
    } 
    grid_search = GridSearchCV(estimator, 
           params, 
           n_jobs=-1, 
           verbose=True) 
    grid_search.fit(df_original_ts) 
+0

西蒙的回答其實是正確的。我認爲做點3比較容易,我找到了一個與之相關的鏈接。 http://machinelearningmastery.com/grid-search-arima-hyperparameters-with-python/ –

回答

0
  1. 你可以找到一個sklearn包裝它
  2. 你可以寫你自己的BaseEstimator繼承和滿足所有對...的要求例如sklearn估計器。所有參數必須在init的簽名中明確提及。
  3. 您可以滾動自己的gridsearch循環瀏覽參數。