带有naivebayes分类器的With open()语句需要长时间

2024-04-20 15:03:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含3483行、460K个字符和65K个单词的csv文件,我正试图使用这个语料库在scikitlearn中训练NaiveBayes分类器。在

问题是,当我使用下面的语句时,花费的时间太长(1小时没有完成)。在

from textblob import TextBlob
from textblob.classifiers import NaiveBayesClassifier 
import csv 

with open('train.csv', 'r') as fp:
    cl = NaiveBayesClassifier(fp, format="csv") 

你猜我做错什么了吗?在

提前谢谢。在


Tags: 文件csvfromimport分类器语句单词语料库
2条回答

这个库有问题。在

它记录在以下链接中:

https://github.com/sloria/TextBlob/pull/136

https://github.com/sloria/TextBlob/issues/77

小故事:图书馆不能很好地处理大型数据集。在

我不完全确定文本blob库,但也许这有助于-

在对数据集中的文本进行矢量化和转换后,我编写了以下代码,用原始文本数据训练多项式朴素贝叶斯模型。在

from sklearn.feature_extraction.text import TfidfTransformer
import pandas as pd
from sklearn import model_selection
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.metrics import accuracy_score

#import dataset
url = ("C:\\Users\\sidharth.m\\Desktop\\Project_sid_35352\\Final.csv")
documents = pd.read_csv(url)

array = documents.values

x = array[0:, 1]

y= array[0:, 0]


count_vect = CountVectorizer()
X_train_counts = count_vect.fit_transform(x)

tfidf_transformer = TfidfTransformer()
X_train_tfidf = tfidf_transformer.fit_transform(X_train_counts)

model=MultinomialNB().fit(X_train_tfidf, y)

predicted = model.predict(X_train_tfidf)

acc = accuracy_score(y, predicted)
print(acc)

相关问题 更多 >