챗GPT가 프로그램 코드를 작성하여 사용자에게 제공하는 걸 넘어서서, 이제는 스스로 파이썬 코드를 실행하고 결과를 알려 주고 있습니다. 데이터 분석 관련해서는 전처리, 탐색적 데이터 분석(EDA), 시각화, 머신러닝과 딥러닝을 포괄합니다.
이러한 챗GPT의 코드 실행 기능은 유용하지만, 계산 능력의 제한으로 인해 1분 이내에 완료될 수 있는 실험에 적합합니다. 실행 시간이 1분을 초과하면 자동 중단되고 에러가 발생하기 때문입니다. 이는 사용자가 복잡한 모델이나 큰 데이터셋을 다룰 때 고려해야 할 중요한 제약사항이 됩니다.
대부분의 딥러닝 모델의 경우, 제한된 시간 내에 충분한 학습을 달성하기 어려울 가능성이 높고, 머신러닝 모델 역시 복잡도와 데이터셋 크기에 따라 어려움이 있을 수 있습니다. 따라서, 간단한 실험과 초기 모델 평가에 주로 활용하는 것이 바람직합니다.
이번 글에서는 머신러닝의 기본이 되는 회귀를 선택하여 모델을 학습시켜 보았습니다. 알고리즘은 챗GPT의 추천을 받아서 인기 있는 머신러닝 알고리즘인 랜덤 포레스트(random forest)와 XGBoost를 선택했습니다. 이들로 모델을 학습시키면서 어디까지 가능한지 확인해 보았습니다.
데이터셋은 보스턴 주택 가격(Boston Housing) 데이터셋을 사용했습니다. 506개 행, 14개 열로 이루어진 소규모 데이터셋으로, 1970년대 보스턴 지역의 주택 가격에 영향을 미칠 만한 변수 13개를 선정해 놓았습니다.
이번 글의 결과는 정밀한 조건에서 여러 번의 반복 실험을 한 것은 아니니 참고로 보아주세요.
대화 링크: https://chat.openai.com/share/8c996bc5-6149-4341-87d6-c737ada08269
랜덤 포레스트 회귀 분석
챗GPT의 GPTs에서 Data Analyst를 선택합니다. 따라서 별도의 페르소나(“너는 유능한 데이터 분석가야”)나 Custom Instructions는 설정하지 않습니다.
다음 보스턴 주택 가격 데이터셋을 업로드합니다. 링크는 읽어들이지 못하기 때문에 파일을 다운로드해서 업로드해 주어야 합니다.
내용 요약부터 시작합니다.
열 이름이 알아보기 어려워서 쉬운 표현으로 바꿉니다.
마법의 작업인 탐색적 데이터 분석(EDA)부터 진행합니다. 기술 통계 요약, 주요 변수 분포 시각화 및 분석, 변수들의 상관관계 시각화 및 관찰을 합니다. 답변 내용이 꽤 알찹니다.
주택 가격을 예측하는 회귀분석을 하려는데, 실행 제한 시간 1분을 고려하여 알고리즘을 추천해 달라고 하니 ① 선형 회귀 ② 릿지와 라쏘 회귀 ③ 결정 트리 기반 알고리즘 가운데 ③번, 그중에서도 LightGBM과 XGBoost를 추천합니다.
하지만 LightGBM은 챗GPT가 기본으로 제공하는 라이브러리 339개에 포함되지 않습니다. 약간의 시행착오를 거치고 챗GPT에게 추천을 받아서 랜덤 포레스트(random forest)로 결정