소개
게시글
질문&답변
2023.01.30
GridSearchCV
아 제가 잘못 얘기했네요1) GridSearchCV객체의 fit() 메소드의 인자로 x_train, y_train을 줄때 GridSearchCV객체가 알아서 최적 하이퍼 파라미터를 추론해낸다는 말은 GridSearchCV 객체 내부에서 fit 매소드의 인자로 들어온 x_train과 y_train을 다시 트레인셋과 테스트셋으로 쪼개어서 성능 평가를 진행하나요?2) 만약 1번 질문이 답변이 YES 라면, titanic_df 의 전체 레이블값과 전체 타겟값을 인자로 주면, GridSearchCV 객체 내부에서 fit 매소드를 이용하여 이 두 인자를 트레인셋과 테스트셋으로 쪼개어서 성능 평가를 진행한다는 말이 됩니다.그럼, 굳이 x_train과 y_train을 인자로 주어야 하는지요? 정확도 (scoring = "accuracy")를 극대화 할려면 위의 방식이 더 적합한 것 같습니다만...from sklearn.model_selection import train_test_split from sklearn.model_selection import GridSearchCV import random random_num = 0 fit_all = 0 fit_trains = 0 for i in range(1000): random_num = random.randint(1, 1000) X_train, X_test, y_train, y_test = train_test_split(label, target, test_size=0.2, random_state=random_num) parameters = {'max_depth':[2,3,5,10], 'min_samples_split':[2,3,5], 'min_samples_leaf':[1,5,8]} grid_dtc = GridSearchCV(dtc, param_grid=parameters, scoring="accuracy", cv=5) grid_dtc.fit(label, target) best_dtc = grid_dtc.best_estimator_ pred = best_dtc.predict(X_test) fit_all += accuracy_score(pred, y_test) grid_dtc = GridSearchCV(dtc, param_grid=parameters, scoring="accuracy", cv=5) grid_dtc.fit(X_train, y_train) best_dtc = grid_dtc.best_estimator_ pred = best_dtc.predict(X_test) fit_trains+= accuracy_score(pred, y_test) print("fit_all 평균 정확도:", np.round(fit_all/1000,4)) print("fit_trains 평균 정확도:", np.round(fit_trains/1000,4)) ------------------------------------ fit_all 평균 정확도: 0.8368 fit_trains 평균 정확도: 0.8066
- 0
- 2
- 210
질문&답변
2022.07.02
넘파이 팬시 인덱싱 질문입니다
2차원 ndarray에서의 팬시 인덱싱은 2차원 좌표계에서의 대응점에 있는 값을 반환시켜주는 것이군요... 감사합니다!
- 0
- 2
- 306