Код Python застрял без ошибок в SVC с Scikit-Learn - PullRequest
0 голосов
/ 18 декабря 2018

Я тестирую модель SVC в Scikit-Learn с другими параметрами.Я вложил в циклы для диапазонов, которые я хочу проверить.Однако есть странная проблема.После определенного количества циклов код просто застрял там, ничего не печатая.Независимо от того, сколько времени я оставлю это.

params_c = [0.1, 1, 10, 100]
params_kernel = ['poly', 'rbf', 'sigmoid']
params_gamma = [0.3, 0.5, 2, 5]
params_degree = [2, 5]

for c in params_c:
    for kernel in params_kernel:
        for gamma in params_gamma:
            for degree in params_degree:

                params = {
                        'c': c,
                        'kernel': kernel,
                        'gamma': gamma,
                        'degree': degree
                        }
                print(params)
                if kernel != 'poly':
                    model = SVC(C = params['c'], kernel = params['kernel'], gamma = params['gamma'])
                    break #no need to iterrate for degree
                else:
                    model = SVC(C = params['c'], kernel = params['kernel'], gamma = params['gamma'], degree = params['degree'])


                model.fit(X_train, y_train)
                y_predictions = model.predict(X_test)

Приведенный выше код выдает следующее:

{'c': 0.1, 'kernel': 'poly', 'gamma': 0.3, 'degree': 2}
{'c': 0.1, 'kernel': 'poly', 'gamma': 0.3, 'degree': 5}
{'c': 0.1, 'kernel': 'poly', 'gamma': 0.5, 'degree': 2}
{'c': 0.1, 'kernel': 'poly', 'gamma': 0.5, 'degree': 5}
{'c': 0.1, 'kernel': 'poly', 'gamma': 2, 'degree': 2}
{'c': 0.1, 'kernel': 'poly', 'gamma': 2, 'degree': 5}

Первые итерации занимают более или менее несколько секунд (<10 секунд).Затем, после последнего, который вы видите на <code>print, он зависал без дальнейшей печати более часа (через час я просто остановил терминал).

Я попытался увеличить подробное значение, чтобы получитьнекоторые идеи из SVC, но нет никакой полезной информации.

Есть идеи, что происходит?

...