sklearn에서 GridSearch와 비슷한 작업을하려고합니다. 1, 10 및 100에 해당하는 C를 제외한 모든 매개 변수가 고정 된 3 가지 모델의 목록을 얻고 싶습니다. 각 모델에서. 나는 다음과 같은 두 가지 기능을 가지고있다.파이썬에서 sklearn에서 GridSearch를 재생하지 못했습니다.
def params_GridSearch(dic_params):
keys, values = dic_params.keys(), dic_params.values()
lst_params = []
for vs in itertools.product(*values):
lst_params.append({k:v for k,v in zip(keys,vs)})
return lst_params
def models_GridSearch(model, dic_params):
models = [ model.set_params(**params) for params in params_GridSearch(dic_params) ]
return models
그런 다음 모델을 만들고 매개 변수 사전을 지정하십시오.
from sklearn.svm import SVC
model = SVC()
dic = {'C': [1,10,100]}
방금 정의한 함수를 사용하여 모델을 생성하십시오.
models = models_GridSearch(model, dic)
그러나, 결과는 3 회 반복되고 (마지막 매개 변수를 사용하여, 즉, 100)과 동일한 모델이다. 일부 앨리어싱이 계속 발생하는 것 같습니다.
안녕, 단지와 같은 추가 정보 : 클래스이
패스가 나는'randomizedSearchCV'과 일을'grid.predict()를 사용'이다 'grid.best_estimator_.predict()'와 동일합니다. sklearn은'.best_estimator_' 속성이 존재하면 모델이 훈련되었다고 가정하기 때문입니다. 그렇지 않으면 훈련되지 않았으므로 예측하기가 어렵습니다. 그리하여'grid.predict()'는'.best_estimator_' 객체에 직접 인스턴스를 생성합니다. 실제로이 논리가'gridSearchCV'에 대해서도 일어나는지 모르겠습니다. – Nacho