【问题标题】:TimeSeries NLP: Using ARIMA with CountVectorizerTimeSeries NLP:将 ARIMA 与 CountVectorizer 结合使用
【发布时间】:2020-09-17 01:10:17
【问题描述】:

我正在练习从 Yahoo Finance 导出的关于 DJIA 价格的 kaggle 新闻标题数据集:https://www.kaggle.com/aaron7sun/stocknews#Combined_News_DJIA.csv

关于 NLP 与 TimeSeries 的讨论并不多,我尝试使用 this article's code 使用 CountVectorizer() 但不成功。我想知道是否有人有任何资源或建议?

我下面的代码基于上面数据集中的标题:

def modeller(vect, X_tr, y_tr, X_te):
    X_train_dtm = vect.fit_transform(X_tr.unstack())
    X_test_dtm = vect.fit_transform(X_te.unstack())
    X_tr_arima = [x for x in X_train_dtm]
    print('done with count vectorizer. now modelling.')
    model = ARIMA(X_tr_arima, order=(1,1,1))
    print('done modelling. now fitting')
    model_fit = model.fit(X_tr_arima, y_tr)
    y_hat = model.predict(x_te_arima)
    return y_hat

vect = CountVectorizer(stop_words='english')
X_train, X_test, y_train, y_test = X.iloc[0:100], X.iloc[100:X.shape[0]], y[0:100], y[100:len(y)]
modeller(vect, X_train, y_train, X_test)

输出(来自 ARIMA 行的错误):

ValueError: setting an array element with a sequence.

【问题讨论】:

    标签: scikit-learn arima countvectorizer


    【解决方案1】:

    我遇到了同样的问题,我可以使用这种方法解决它。 尝试改变

    from pmdarima.pipeline import Pipeline
    

    from pmdarima.pipeline import Pipeline as arimaPip
    

    【讨论】:

      猜你喜欢
      • 2021-12-15
      • 1970-01-01
      • 2019-12-18
      • 2020-08-18
      • 2016-02-07
      • 2019-01-09
      • 1970-01-01
      • 2022-08-07
      • 2017-12-14
      相关资源
      最近更新 更多