在PyQt按钮中使用sklearn交叉验证训练

时间:2018-05-24 10:07:57

标签: python scikit-learn pyqt5 qthread

我想创建GUI以使用 QFileDialge 选择数据集文件,并使用交叉验证方法使用此数据集对SVM进行培训。

enter image description here

当数据很大并且GUI崩溃时,交叉验证会花费很多时间。因此我使用QThread进行培训。但是,当我设置作业-1的数量以使用我的CPU sklearn的所有核心时,返回以下警告并且仅使用1核心。

  

\安纳康达\ lib中\站点包\ sklearn \的外部\ JOBLIB \ parallel.py:547:   UserWarning:无法嵌套多处理支持的并行循环   线程下方,设置n_jobs = 1 ** self._backend_args)

from PyQt5.Qt import QThread
from sklearn.model_selection import cross_val_score
from sklearn import svm


class train(QThread):
    def __init__(self,data,class_):
        super().__init__()
        self.data = data
        self.cls = class_
    def run(self):
        self.score = cross_val_score(estimator=svm.SVC(), # smv
                                       X=self.ata, y=self.cls, # data
                                       cv=10, # number of partition
                                       n_jobs=-1) # all the cores in cpu

0 个答案:

没有答案