gpt4 book ai didi

python - scikit-learn 可以处理多少文本?

转载 作者:行者123 更新时间:2023-11-30 09:56:29 26 4
gpt4 key购买 nike

我有一个情感分析任务,我需要指定 scikit 可以处理多少数据(在我的例子中是文本)。我有一个包含 2500 个观点的语料库,并且已经标记好了。我现在这是一个小语料库,但我的论文导师要求我具体论证 scikit learn 可以处理多少数据。我的顾问对 python/scikit 有疑问,她想了解有多少文本参数、功能和相关内容可以处理 scikit-learn。

最佳答案

以下是我的机器上 scikit-learn 文档分类示例的一些计时(Python 2.7、NumPy 1.8.2、SciPy 0.13.3、scikit-learn 0.15.2、使用电池供电的 Intel Core i7-3540M 笔记本电脑)。数据集有二十个新闻组;我已经对输出进行了相当多的修剪。

$ python examples/document_classification_20newsgroups.py --all_categories
data loaded
11314 documents - 22.055MB (training set)
7532 documents - 13.801MB (test set)
20 categories

Extracting features from the training dataset using a sparse vectorizer
done in 2.849053s at 7.741MB/s
n_samples: 11314, n_features: 129792

Extracting features from the test dataset using the same vectorizer
done in 1.526641s at 9.040MB/s
n_samples: 7532, n_features: 129792

________________________________________________________________________________
Training:
LinearSVC(C=1.0, class_weight=None, dual=False, fit_intercept=True,
intercept_scaling=1, loss='l2', multi_class='ovr', penalty='l2',
random_state=None, tol=0.001, verbose=0)
train time: 5.274s
test time: 0.033s
f1-score: 0.860
dimensionality: 129792
density: 1.000000

________________________________________________________________________________
Training:
SGDClassifier(alpha=0.0001, class_weight=None, epsilon=0.1, eta0=0.0,
fit_intercept=True, l1_ratio=0.15, learning_rate='optimal',
loss='hinge', n_iter=50, n_jobs=1, penalty='l2', power_t=0.5,
random_state=None, shuffle=False, verbose=0, warm_start=False)
train time: 3.521s
test time: 0.038s
f1-score: 0.857
dimensionality: 129792
density: 0.390184

________________________________________________________________________________
Training:
MultinomialNB(alpha=0.01, class_prior=None, fit_prior=True)
train time: 0.161s
test time: 0.036s
f1-score: 0.836
dimensionality: 129792
density: 1.000000


________________________________________________________________________________
Training:
BernoulliNB(alpha=0.01, binarize=0.0, class_prior=None, fit_prior=True)
train time: 0.167s
test time: 0.153s
f1-score: 0.761
dimensionality: 129792
density: 1.000000

未显示数据集加载的时间,但花费的时间不超过半秒;输入是包含文本的 zip 文件。 “提取特征”包括标记化和停用词过滤。总之,我可以加载 18.8k 个文档,并在 5 秒内对其中的 11k 个文档训练朴素贝叶斯分类器,或者在 10 秒内训练 SVM。这意味着解决 20×130k 维优化问题。

我建议您在您的计算机上重新运行此示例,因为实际花费的时间取决于很多因素,包括磁盘速度。

[免责声明:我是 scikit-learn 开发人员之一。]

关于python - scikit-learn 可以处理多少文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25985491/

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