В настоящее время я делаю проект самостоятельно. Для этого проекта я попытался сравнить результаты нескольких алгоритмов. Но я хочу быть уверен, что каждый протестированный алгоритм настроен так, чтобы давать наилучшие результаты.
Поэтому я использую перекрестную проверку и тестирую каждую комбинацию параметров и выбираю лучший.
Например:
def KMeanstest(param_grid, n_jobs):
estimator = KMeans()
cv = ShuffleSplit(n_splits=10, test_size=0.2, random_state=42)
regressor = GridSearchCV(estimator=estimator, cv=cv, param_grid=param_grid, n_jobs=n_jobs)
regressor.fit(X_train, y_train)
print("Best Estimator learned through GridSearch")
print(regressor.best_estimator_)
return cv, regressor.best_estimator_
param_grid={'n_clusters': [2],
'init': ['k-means++', 'random'],
'max_iter': [100, 200, 300, 400, 500],
'n_init': [8, 9, 10, 11, 12, 13, 14, 15, 16],
'tol': [1e-1, 1e-2, 1e-3, 1e-4, 1e-5, 1e-6],
'precompute_distances': ['auto', True, False],
'random_state': [42],
'copy_x': [True, False],
'n_jobs': [-1],
'algorithm': ['auto', 'full', 'elkan']
}
n_jobs=-1
cv,best_est=KMeanstest(param_grid, n_jobs)
Но это очень много времени. Я хочу знать, является ли этот метод лучшим или мне нужно использовать другой подход.
Спасибо за вашу помощь