해결된 질문
작성
·
401
0
먼저 강의 감사합니다.
강좌와 책의 예제인 자전거 수요예측을 보고 몇가지 질문이 생겼습니다.
1. 만약 독립변수가 모두 범주형이면 전부 원-핫 인코딩을 하고 회귀분석하는 방법이 올바른지 궁금합니다.
2. 최적 하이퍼파라미터를 찾기위해 GridSearchCV를 사용하는데 데이터의 크기가 크면 시간이 오래 걸린다고 알고있습니다.
이때 먼저 설정하고 추후에 세부적인 하이퍼 파라미터값을 바꾸면 좋다고 질문/답변에서 보았는데
혹시 회귀분석 알고리즘별로 GridSerarchCV를 사용해 먼저 설정할 값과 추후에 세부적으로 설정할 파라미터 값을 알고싶습니다!
3. 하이퍼 파라미터의 최적값을 찾았다는 가정하에 랜덤포레스트보다 그래디언트부스트트리가 더 성능이 좋을까요?
4. 회귀분석에서 모델을 평가 하는 지표는 MSE, RMSE, R-squared, MAE 정도로 알고있습니다.
혹시 강사님께서 보실때 '성능이 좋은 모델'의 위 4개의 지표의 기준이 있을까요?
감사합니다.
답변 2
2
안녕하십니까,
1. 전부 다 원-핫 인코딩을 하실 필요는 없습니다. 원-핫 인코딩을 한다고 성능이 무조건 향상되지 않습니다.
다만 레이블 인코딩을 하였을때 성능이 저하되는것 같은 의심이 든다면 원-핫 인코딩을 수행하면서 결과를 비교한 후 적용 여부를 결정하는 것이 좋습니다.
2. 난이도가 있는 질문이군요. 먼저 선형 회귀(리지,라쏘, 엘라스틱넷)를 사용하신다면, 알파값이 가장 중요한 파라미터 입니다. 이 밖에도 여러 파라미터가 있지만 개인적으로는 알파값을 제외하고는 Default값을 선호합니다.
회귀 트리의 경우는 너무 많은 파라미터가 있어서 사실 뭐라 말씀드리기가 어렵습니다. XGBoost나 LightGBM은 파라미터가 너무 많아서 우선 순위를 정해서 먼저 튜닝하기가 애매합니다. 저도 처음에는 XGBoost 튜닝할 때 먼저 max_depth나 min_child_weight와 같은 트리 구조에 관련된 파라미터 부터 튜닝을 한뒤에, learning_rate, reg_alpha등과 같은 파라미터를 튜닝했지만, 이제는 이게 맞는 순서인지 확신이 들지 않습니다.
XGBoost, LightGBM 사용시 경연대회 목표가 아니라면 너무 하이퍼 파라미터에 집중하지 않는 것이 나을 수 있습니다. 적당히 튜닝해도 성능이 나옵니다.
3. 반드시 그렇지는 않습니다. 랜덤 포레스트가 그래디언트 부스팅 보다 좋은 데이터 세트가 있을 수 있습니다. 몇년전 기억이긴 합니다만 Forest cover type 예측 모델의 경우 랜덤 포레스트가 GBM보다 좋은 성능이 나온적이 있습니다. 랜덤 포레스트 역시 좋은 모델이 가능합니다.
4. 질문을 제가 정확히 이해 하지 못했습니다.
'성능이 좋은 모델'의 위 4개의 지표의 기준이라면 오류값 관련한 MAE, MSE, RMSE는 모두 값이 작아야 하고, R2는 값이 1에 가까우면 됩니다만 이걸 의미하신는건 아닌것 같습니다만 만약 이 4개의 지표중에 어떤걸 주로 적용하느냐는 질문으로 대신한다면
A. RMSE나 RMSL(Log)E를 일반적으로 회귀 성능 지표로 적용합니다. R2도 보조 지표로 사용합니다. R2도 좋은 지표이지만 R2가 1에 가깝다고 반드시 예측 오류가 100%로 적어진다고 보장할 수 없기 때문에 보조 지표로 사용합니다.
감사합니다.
0