黄昏ml logistic回归会引发此错误:“ NotImplementedError:无法将拦截添加到具有未知块形状的数组中”

问题描述 投票:0回答:1

您好,我是黄昏Ml的新手,我一直在尝试使用dask ml训练logistic回归模型来预测推特情绪。我已经将pandas数据框转换为dask数据框。之后,我进行了火车测试拆分。之后,我在X_train和X_test上使用了哈希向量化器。我执行了Train_X_vect.compute().shape行以检查形状,并返回了(180224, 7000),否则y_train.compute().shape返回了(180224,)每当我尝试使它们适合逻辑回归模型时,我都会收到一条错误消息:“无法将拦截添加到具有未知块的数组中”这是我的代码:

from dask_ml.feature_extraction.text import HashingVectorizer
from dask_ml.model_selection import train_test_split
from dask_ml.linear_model import LogisticRegression
dask_df = dd.from_pandas(pandas_df,npartitions=4)
X_train, X_test, y_train, y_test = train_test_split(dask_df ["preprocess"], dask_df ["target"],random_state=42)
vectorizer = HashingVectorizer(n_features=7000)
vectorizer.fit(X_train)
Train_X_vect = vectorizer.transform(X_train)
Test_X_vect = vectorizer.transform(X_test)
lr = LogisticRegression()
lr.fit(Train_X_vect,y_train)

我也使用了“ fit_intercept = False”,但随后我将收到此错误:“ IndexError:索引尺寸必须为<= 2”

[请您告诉我我做错了什么,如何解决?谢谢您,先生

python nlp dask dask-ml
1个回答
1
投票

[现在LogisticRegression要求传递给它的Dask数组具有已知的块大小(请参阅Train_X_vect.chunks.shape)。将来可能会取消此限制,但与此同时,在Train_X_vect.compute_chunk_sizes()之前使用lr.fit转换为已知的块。

© www.soinside.com 2019 - 2024. All rights reserved.