gpt4 book ai didi

python - ValueError : Target is multiclass but average ='binary' . 请选择另一个平均值设置

转载 作者:行者123 更新时间:2023-11-30 09:04:36 40 4
gpt4 key购买 nike

我正在使用组合在一起的推文训练和测试数据集。 (combi = train.append(测试,ignore_index=True)。

训练 csv 手动标记了情绪:-1、0 和 1(基本上是负面、中性和正面),而测试则没有。

我希望代码使用逻辑回归来输出 f1 分数,但出现问题:使用 f1_score(yvalid, Prediction_int):

我的代码如下:

from sklearn.feature_extraction.text import CountVectorizer
bow_vectorizer = CountVectorizer(max_df=0.90, min_df=2, max_features=1000, stop_words='english')
bow = bow_vectorizer.fit_transform(combi['tidy_tweet'])

from sklearn.feature_extraction.text import TfidfVectorizer
tfidf_vectorizer = TfidfVectorizer(max_df=0.90, min_df=2, max_features=1000, stop_words='english')
tfidf = tfidf_vectorizer.fit_transform(combi['tidy_tweet'])

from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import f1_score

train_bow = bow[:1300,:]
test_bow = bow[1300:,:]

xtrain_bow, xvalid_bow, ytrain, yvalid = train_test_split(train_bow, train['label'], random_state=42, test_size=0.3)

lreg = LogisticRegression()
lreg.fit(xtrain_bow, ytrain) # training the model

prediction = lreg.predict_proba(xvalid_bow)
prediction_int = prediction[:,1] >= 0.3
prediction_int = prediction_int.astype(np.int)

f1_score(yvalid, prediction_int)

最佳答案

阅读相关documentation ,您将看到 f1_score 中参数 average 的默认值为 binary;由于这里您没有指定它,因此它采用此默认值,但这对于您的多类分类情况无效(同意,这可能是一个糟糕的设计选择)。

正如错误消息所建议的,您应该明确选择并指定文档中显示的其他可用参数之一;这是文档中带有虚拟多类数据的示例:

from sklearn.metrics import f1_score
# dummy multi-class data, similar to yours:
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 2, 1, 0, 0, 1]

f1_score(y_true, y_pred, average='macro')
# 0.26666666666666666

f1_score(y_true, y_pred, average='micro')
# 0.33333333333333331

f1_score(y_true, y_pred, average='weighted')
# 0.26666666666666666

f1_score(y_true, y_pred)
# ValueError: Target is multiclass but average='binary'. Please choose another average setting.

关于python - ValueError : Target is multiclass but average ='binary' . 请选择另一个平均值设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55810062/

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