为什么scikitlearn支持向量机分类器运行这么长时间而占用的CPU却这么少?

2024-04-20 11:09:54 发布

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

我正在执行python2.7.10中的scikit learn SVM分类器(SVC),它已经运行了2个多小时了。我已经用pandas.read_csv对数据进行了预处理,然后运行

clf = SVC(C = 0.001, kernel = 'linear', cache_size = 7000, verbose = True)
clf.fit(X_train, y_train)

我有使用R在H2O中运行分类器(随机森林和深层神经网络)的经验,而且它们从不花这么长时间!我正在运行的机器有16gbram和i7,每个内核有3.6ghz。taskmonitor告诉我python正在使用8.6gb的RAM,但是,只有CPU的13%。我不太明白为什么这么慢,甚至不使用所有资源。在

我的数据有12000000行和22列,sklearn只给了我一行:

[LibSVM]

这是正常的行为还是我应该多看看?有人能发布一个完成的svc的详细信息吗? 另外,除了降低C参数,我还能做些什么来加快速度吗?使用更少的行并不是一个真正的选择,因为我想对算法进行基准测试,如果使用不同的训练数据,它们将无法进行比较。最后,有人能解释一下为什么我的资源很少被使用吗?在


Tags: csv数据pandasread分类器train资源scikit