сохранить cv_results _ ['params'] из сетки поиска как CSV - PullRequest
0 голосов
/ 19 февраля 2020

Я хотел бы сохранить свои оценки и параметры, используемые в моем сеточном поиске, в виде CSV-файла. Проблема в том, что все параметры сохраняются в одном столбце. Вот пример:

param_grid=dict(batch_size=batch_size, epochs=epochs)

grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1, cv=3)
grid_result = grid.fit(x_train, y_train, validation_data=(x_test, y_test), callbacks=[es])

means = grid_result.cv_results_['mean_test_score']
stds = grid_result.cv_results_['std_test_score']
param = grid_result.cv_results_['params']

exportfile='/Users/test.csv'
with open(exportfile, 'w', newline='') as file:
    writer = csv.writer(file)
    for mean, stdev, param in zip(means, stds, params):
        writer.writerow([mean, stdev, param])

Вывод параметра выглядит примерно так:

{'batch_size': 40, 'epochs': 1000}

но я хочу уменьшить его до:

40, 1000

1 Ответ

0 голосов
/ 19 февраля 2020

Если params = {'batch_size': 40, 'epochs': 1000}, тогда выполните

list(params.values()), и это будет [40, 1000].

Если params - это массив хэшей, то есть: [{'batch_size': 40, 'epochs': 1000}, {'batch_size': 30, 'epochs': 1100}], тогда вы можете сделать это:

list(map(lambda p: list(p.values()), params)) это приведет к: [[40, 1000], [30, 1100]]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...