gpt4 book ai didi

python - Cloud ML 引擎和 Scikit-Learn : 'LatentDirichletAllocation' object has no attribute 'predict'

转载 作者:太空宇宙 更新时间:2023-11-03 15:43:10 26 4
gpt4 key购买 nike

我正在实现简单的 Scikit-Learn Pipeline 以在 Google Cloud ML Engine 中执行 LatentDirichletAllocation。目标是根据新数据预测主题。下面是生成管道的代码:

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.decomposition import LatentDirichletAllocation
from sklearn.model_selection import train_test_split
from sklearn.pipeline import Pipeline
from sklearn.datasets import fetch_20newsgroups

dataset = fetch_20newsgroups(shuffle=True, random_state=1,
remove=('headers', 'footers', 'quotes'))
train, test = train_test_split(dataset.data[:2000])

pipeline = Pipeline([
('CountVectorizer', CountVectorizer(
max_df = 0.95,
min_df = 2,
stop_words = 'english')),
('LatentDirichletAllocation', LatentDirichletAllocation(
n_components = 10,
learning_method ='online'))
])

pipeline.fit(train)

现在(如果我理解正确的话)预测我可以运行的测试数据的主题:

pipeline.transform(test)

但是,当将管道上传到 Google Cloud Storage 并尝试使用它通过 Google Cloud ML Engine 生成本地预测时,我收到错误消息,提示 LatentDirichletAllocation 没有属性 predict .

gcloud ml-engine local predict \
--model-dir=$MODEL_DIR \
--json-instances $INPUT_FILE \
--framework SCIKIT_LEARN
...
"Exception during sklearn prediction: " + str(e)) cloud.ml.prediction.prediction_utils.PredictionError: Failed to run the provided model: Exception during sklearn prediction: 'LatentDirichletAllocation' object has no attribute 'predict' (Error code: 2)

也可以从文档中看到缺乏预测方法,所以我想这不是解决这个问题的方法。 http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.LatentDirichletAllocation.html

现在的问题是:要走的路是什么?如何在带有 Google Cloud ML Engine 的 Scikit-Learn 管道中使用 LatentDirichletAllocation(或类似的)?

最佳答案

目前,流水线的最后一个估计器必须实现predict方法。

关于python - Cloud ML 引擎和 Scikit-Learn : 'LatentDirichletAllocation' object has no attribute 'predict' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51480706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com