提高SVM(低规格pc)的性能时间

时间:2017-10-09 22:36:06

标签: python-3.x performance machine-learning scikit-learn svm

低规格笔记本电脑用户(Intel Core i3 CPU M 380 @ 2.53GHz,2.0 GB RAM)

我有40,000行数据,其中277列用于机器学习预测,代码如下:

import numpy as np
import pandas as pd
from sklearn import svm
from sklearn import preprocessing
from sklearn.model_selection import train_test_split, cross_val_score, KFold

temp1 = pd.read_csv("dataset_feature_vector_champion_number_dummy.csv")
dataset_champion_number = temp1.iloc[:,0:276]
target = temp1['winner']

SVM = svm.SVC() #still blank

def tenfold_cross_validate(classifier_name, dataset, target):
    validate = KFold(len(target), 10, shuffle=False, random_state=None)
    score = cross_val_score(classifier_name, dataset, target, cv=validate)
    print(score)
    print("mean score: %s" % (str(np.mean(score))))

tenfold_cross_validate(SVM, dataset_champion_number, target)

我在IPYNB上运行它并没有显示任何结果。只有弃用警告导致我使用" cross_validation"之前" model_selection"。

我切换到Notepad ++并在CMD上运行它,对于初学者我只使用了20行整个数据集。它显示结果(当然,duh)

然后我转回真实的数据集,3个小时仍然没有结果...

下一步我试图只使用1/10的数据集,但仍然没有得到我想要的结果。

所以,除了我的低规格笔记本电脑......我能用任何其他手段即兴创作代码吗?

  1. SVR和SVC的比较如何?
  2. 哪个内核更好更快?
  3. 我还有另一种Naive Bayes的方法,我还没有尝试过这种方法,它也会遇到这种问题吗?
  4. 请注意,我有6个功能,另一个有150列,其余只有11列。如果我必须减少我的每个功能的数据集,我可以根据我的质量数据选择减少25.000,如果我被强迫减少10-15万......
  5. 如果有这个帮助,我可以借用4GB RAM的笔记本电脑,i5
  6. 对于最糟糕的情况,我愿意花费最多24小时执行时间,使用2种预测方法和6种特征数据集。

0 个答案:

没有答案