2016-12-30 3 views
0

J'ai essayé d'utiliser le modèle arima dans la fonction gridSearchCV, mais il retournecomment puis-je utiliser des estimateurs non sklearn pour un pipeline modèle

« TypeError: semble ne pas être: Impossible de cloner l'objet « »(type) un estimateur scikit-learn car il n'a pas mettre en œuvre une des méthodes « 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

La réponse de simon est correcte. Je pense qu'il est plus facile de faire le point 3. et j'ai trouvé un lien à ce sujet. http://machinelearningmastery.com/grid-search-arima-hyperparameters-with-python/ –

Répondre

0
  1. Vous pouvez trouver une enveloppe de sklearn pour elle
  2. Vous pouvez écrire votre propre héritant de BaseEstimator et de rencontrer tous les exigences pour un estimateur sklearn par exemple tous les paramètres doivent être explicitement mentionnés dans la signature init.
  3. Vous pouvez lancer votre propre recherche de grille en faisant simplement défiler les paramètres.