Я реализовал поиск по сетке для регрессии logisti c, которая перебирает значения C и сообщает мне, какое значение дает наилучшую точность.
from sklearn.model_selection import GridSearchCV
#create new logistic regression
logreg = LogisticRegression(max_iter=10000)
#create a dictionary of all values we want to test for C
param_grid = {'C': np.arange(0.01, 1)}
#use gridsearch to test all values for n_neighbors
log_gscv = GridSearchCV(logreg, param_grid, cv=5)
#fit model to data
log_gscv.fit(X, y)
#check mean score for the top performing value of n_neighbors
print("best score is",log_gscv.best_score_)
#check top performing n_neighbors value
print("best params are",log_gscv.best_params_)
Затем я создал некоторый код, который позвольте мне использовать k-кратную перекрестную проверку для набора данных и дайте мне наилучшую точность, которая наблюдалась.
#Logistic regression
from sklearn.linear_model import LogisticRegression
import mglearn
import matplotlib.pyplot as plt
from sklearn.model_selection import cross_val_score
import numpy as np
#create a new KNN model
logreg = LogisticRegression(max_iter=10000)
#train model with cv of 5
cv_scores = cross_val_score(logreg, X, y, cv=5)
#print each cv score (accuracy) and average them
print("cv scores are",cv_scores)
print('cv_scores mean:{}'.format(np.mean(cv_scores)))
Теперь я не знаю, как реализовать оба из них одновременно .
То, что я хотел бы сделать, это: сделать перекрестную проверку в k раз. Затем для каждой проверки я хочу перебрать несколько значений C. Я хочу получить лучшее из C из каждой перекрестной проверки в k-кратном размере и среднее из всех лучших C перекрестных проверок.
В конце я также хочу получить лучший результат который был получен во всех проверках и во всех C.
Что-то вроде: «Лучший результат был получен в этой проверке со следующим значением C».
Я также начинающий, поэтому я бы предпочел упрощенное c объяснение.