gpt4 book ai didi

python - 属性错误 : 'Series' object has no attribute 'to_coo'

转载 作者:行者123 更新时间:2023-12-05 07:04:01 26 4
gpt4 key购买 nike

我正在尝试使用 sklearn 模块中的朴素贝叶斯分类器来对电影评论是否正面进行分类。我使用一袋词作为每条评论的特征,以及一个附有评论的情绪评分的大型数据集。

df_bows = pd.DataFrame.from_records(bag_of_words)
df_bows = df_bows.fillna(0).astype(int)

此代码创建了一个如下所示的 pandas 数据框:

   The  Rock  is  destined  to  ...  Staggeringly  ’  ve  muttering  dissing
0 1 1 1 1 2 ... 0 0 0 0 0
1 2 0 1 0 0 ... 0 0 0 0 0
2 0 0 0 0 0 ... 0 0 0 0 0
3 0 0 1 0 4 ... 0 0 0 0 0
4 0 0 0 0 0 ... 0 0 0 0 0

然后我尝试使用此代码将此数据框与每条评论的情绪相匹配

nb = MultinomialNB()
nb = nb.fit(df_bows, movies.sentiment > 0)

但是我得到一个错误提示

AttributeError: 'Series' object has no attribute 'to_coo'

这就是 df 电影的样子。

    sentiment                                               text
id
1 2.266667 The Rock is destined to be the 21st Century's ...
2 3.533333 The gorgeously elaborate continuation of ''The...
3 -0.600000 Effective but too tepid biopic
4 1.466667 If you sometimes like to go to the movies to h...
5 1.733333 Emerges as something rare, an issue movie that...

你能帮忙吗?

最佳答案

当您尝试拟合您的MultinomialNB 模型时,sklearn 的例程会检查输入df_bows 是否稀疏。如果是,就像在我们的例子中一样,需要将数据框的类型更改为 'Sparse'。这是我修复它的方式:

df_bows = pd.DataFrame.from_records(bag_of_words)

# Keep NaN values and convert to Sparse type
sparse_bows = df_bows.astype('Sparse')

nb = nb.fit(sparse_bows, movies['sentiment'] > 0)

Pandas 文档链接:pandas.Series.sparse.to_coo

关于python - 属性错误 : 'Series' object has no attribute 'to_coo' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63021328/

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