brunch

You can make anything
by writing

C.S.Lewis

by HRKIM Dec 15. 2024

Cursor AI로 선형회귀분석 실시하기

합격률에 미치는 요인 및 합격률 예측하기

들어가며


 현대 사회에서 데이터 분석은 의사결정과 문제해결에 필수적인 역할을 하고 있으며, 최근 생성형 AI의 발전은 데이터 처리 및 분석 방식에 큰 혁신을 가져왔습니다. 이번 "Cursor AI와 HRA" 매거진에서는 Cursor AI를 활용하여 이상석(2023)의 『데이터 드리븐 리포트』(pp.251~268)에 소개된 선형회귀분석 내용을 재현하고, 더 나아가 Streamlit 라이브러리를 활용해 합격률을 예측하는 간단한 애플리케이션을 구현해 보았습니다.


1. 데이터 소개: Kaggle_Graduate Admission2


 Graduate Admission2 데이터셋은 미국 대학원 입학 가능성을 예측하기 위한 다양한 변수를 담고 있습니다. GRE 점수, TOEFL 점수, 학부 GPA(CGPA), 연구 경험 여부, 추천서(LOR), 자기소개서(SOP) 점수 등 여러 요인을 통해 대학원 합격 확률을 모델링 및 예측할 수 있습니다.


https://www.kaggle.com/datasets/mohansacharya/graduate-admissions


 본격적인 분석에 들어가기에 앞서, 생성형 AI를 활용한 EDA(탐색적 데이터 분석)를 진행해 보았습니다. 먼저 Kaggle 데이터 URL을 ChatGPT에 제공하고 데이터의 특징을 설명하도록 요청했습니다. 이를 통해 데이터에 대한 개요와 특성을 파악하였습니다.


1. EDA(Exploratory Data Analysis) 실시하기


1) 데이터 불러오기


 분석의 첫 단계는 데이터 불러오기입니다. 예를 들어, 아래와 같은 프롬프트를 사용해 CSV 파일 로딩 코드를 생성형 AI에 요청할 수 있습니다.


C:/Pdata/Admission_Predict.csv를 탑재해줘


이 프롬프트 결과로, Pandas를 활용한 CSV 파일 읽기 코드를 제안받을 수 있습니다.



2) 데이터 훑어보기1_판다스 프로파일링 파일을 탑재하고 생성형AI와 대화하기


 데이터 로딩 후, 판다스 프로파일링을 통해 본격적인 EDA를 진행할 수 있습니다. 아래와 같이 간단한 프롬프트를 입력해 봅니다.


판다스 프로파일링을 실시해줘


 그 결과 생성형 AI는 프로파일링 리포트 html 파일을 생성하는 코드를 작성해 줍니다. 데이터 훑어보기2에서 처럼 Cursor AI에서 판다스 프로파일링 리포트를 바로 볼 수 있게 하는 코드를 제시해주기도 하는데, 기호에 따라 Html 파일을 통한 판다스 프로파일링, Cursor AI에서 직접 보는 판다스 프로파일링을 선택적으로 진행하시면 됩니다.



 판다스 프로파일링 html 파일이 생성(파일은 코드가 있는 분석파일이 있는 폴더에 저장됩니다.)되었으면 아래 화면과 같이, 생성형 AI 채팅창 상단에 있는 [+Add context] 버튼을 클릭한 후에 검색 창에 파일명을 검색하고 검색결과 나타나는 파일을 클릭하여 생성형 AI에 해당 파일을 탑재합니다. 



 판다스 프로파일링 리포트.html 파일을 탑재한 후에는 아래와 같이 프롬프트를 입력하여 EDA를 실시하였습니다.


판다스 프로파일링 리포트 파일을 보고, 전처리(이상치 처리 등) 방법과 이 데이터를 통해 어떤 인사이트를 얻을 수 있고 이를 위해 어떤 분석 방법을 사용해야 하는지 설명해줘.


 프롬프트 입력결과 생성형 AI는 전처리 방법, 분석 기법, 그리고 얻을 수 있는 시사점에 대해 상세히 설명해 줍니다.



3) 데이터 훑어보기2_판다스 프로파일링 파일 직접 살펴보기


 판다스 프로파일링 리포트를 Cursor AI 내에서 직접 표시할 수도 있습니다. 이를 통해 전체 데이터의 개요, 종속변수 특성, 독립변수와 종속변수 간 상관관계 등 다양한 정보를 손쉽게 파악할 수 있습니다. 사용자는 Data에 대한 특징을 직접 살펴보며, 궁금한 점은 텍스트를 긁어서 생성형 AI에 입력한 프롬프트 제시한다든지, 화면을 캡처한 후 생성형 AI 채팅창에 Ctrl + V를 눌러 이미지를 탑재하고 질문을 하는 방법을 등을 사용하여 생성형 AI와 협력을 통한 EDA를 실시할 수 있습니다.



4) 열 이름 변경


 데이터 변수명에 공백이 많거나 복잡할 경우, 이를 간단히 변경하는 것도 가능합니다. 예를 들어, 생성형 AI에 다음과 같이 요청합니다.


각 변수명을 볼 수 있도록 코드를 짜줘.


해당 코드를 실행하여 나타나는 변수명을 복사해 생성형 AI에 다시 붙여 넣고,                        


<변수명 붙여넣기>

열 이름을 간단하게 수정해줘


라고 하면, 생성형 AI가 직관적이고 간결한 변수명으로 변경하는 예시 코드를 제시합니다.



2. 선형회귀분석1_합격률에 영향을 주는 요인 파악하기


 EDA가 모두 완료되었다면, 이제부터는 본격적으로 선형회귀분석을 실시하도록 하겠습니다. 선형회귀분석은 변수들 간의 관계를 분석하여 한 변수(종속변수)를 다른 변수들(독립변수)을 통해 예측하거나 설명하는 통계 기법입니다. 이를 통해 단순히 상관관계 이상의 인과적인 패턴을 파악하거나, 새로운 데이터에 대한 예측 모델을 수립할 수 있습니다. 특히, 선형회귀분석 결과로 산출되는 회귀계수(coefficient)를 통해 각 독립변수가 종속변수에 미치는 영향력의 크기와 방향을 해석할 수 있기 때문에, 데이터를 기반으로 의사결정을 내리거나 인사이트를 도출하는 데 핵심적인 역할을 합니다. 선형회귀분석을 실시하기 위해 아래와 같이 프롬프트를 입력하였습니다.


합격률에 영향을 미치는 요인을 분석하기 위한 회귀분석을 실시해줘


 이 요청에 따라 생성형 AI는 선형회귀분석을 위한 코드를 제시해 줍니다.



 코드 실행을 통해 선형회귀분석 결과가 도출되었으며, 아래와 같이 해당 결과를 붙여넣기 한 후 '회귀분석 결과를 를 비전공자도 알기 쉽게 설명해줘'라고 요청하면 데이터 분석결과를 정말 쉽게 설명해 줍니다.



 변수별 영향도를 시각화해 달라고 추가 요청하면 아래와 같이 그 영향을 그래프로 보여주기도 하는데요. 아래 그래프에서 막대그래프 길이는 영향력의 크기를 나타내며, 방향은 영향력이 양의 방향으로 미치는지, 음의 방향으로 미치는지를 나타냅니다. 색깔의 경우 빨간색은 합격률에 통계적으로 유의미한 영향을 미치는 변수임을 나타내며, 회색은 합격률에 통계적으로 유의미한 영향을 미치지 못하는 변수임을 나타냅니다. 



3. 선형회귀분석2_합격률 예측하기 


 앞서 파악한 합격률 영향 요인을 토대로 이제 실제 예측에 활용해 보겠습니다. 이미 구축한 선형회귀모델에 새로운 지원자의 GRE, TOEFL, CGPA, 연구 경험 등의 정보를 입력하면 합격 확률을 산출할 수 있으며, 이를 통해 지원자의 가능성을 사전에 판단할 수 있습니다. Streamlit을 활용하여 이 기능을 구현하는 간단한 프로그램을 만들어보겠습니다. 다음과 같이 프롬프트를 입력해 봅니다.                        


합격률을 예측하는 Strealit 앱을 만들어줘
디자인을 이쁘게 만들어줘


 프롬프트에 따라 생성형 AI는 코드를 제시해 줍니다. strealit 라이브러리를 실행하는 코드는 Jupyter Notebook에서는 실행할 수 없습니다. 따라서 해당 코드는 Python 형식의 파일로 저장해야 합니다. 이를 위해 [File] - [New Text File]을 클릭하여 새로운 창을 열고 코드를 입력한 후, [File] - [Save As]을 클릭하여 파일의 형식을 Python 형식으로 저장합니다.



 파일을 저장한 후에는 다음과 같이 실행합니다. Streamlit 라이브러리는 실행 방법이 보통 Python 파일과 약간 다릅니다. 아래와 같이 실행을 합니다.


streamlit run 파일명.py


 실행하면 코드로 만든 프로그램이 웹을 통해 실행이 됩니다.



 아래는 Streamlit을 활용한 ‘대학원 합격률 예측 시스템’의 예시 화면입니다. 사용자는 좌측 사이드바를 통해 GRE, TOEFL 점수, 학부 성적(CGPA), 자기소개서(SOP) 점수, 추천서(LOR) 점수, 학점, 연구 경험 여부 등의 정보를 입력할 수 있으며, 시스템은 이를 바탕으로 합격 확률을 산출합니다. 이렇게 시각화되고 직관적인 웹 애플리케이션을 통해 비전공자나 관리자도 합격 가능성을 손쉽게 파악하고, 결과를 의사결정에 반영할 수 있습니다. 예측의 원리는 과거 데이터로부터 패턴을 학습하는 것으로, 이전 합격·불합격 사례와 GRE, TOEFL, CGPA, 연구 경험 등의 변수 사이 관계를 수학적 공식(회귀모델)으로 파악한 뒤, 유사한 조건을 가진 새로운 지원자의 합격 확률을 추정하는 방식으로 작동합니다.



나가며


 이번 "Cursor AI와 HRA" 매거진에서는 Kaggle의 Graduate Admission 데이터셋을 활용하여 대학원 합격률에 영향을 주는 요인을 파악하고, 이를 바탕으로 합격 확률을 예측하는 선형회귀모델을 구축해 보았습니다. EDA를 통해 데이터 특성을 이해하고, 선형회귀분석으로 각 변수의 중요도를 확인한 뒤, 최종적으로 Streamlit을 이용해 비전공자나 관리자도 손쉽게 활용할 수 있는 웹 애플리케이션을 구현했습니다. 이러한 예측 모델은 과거 데이터를 토대로 합격 가능성을 추정함으로써, 입학 담당자와 지원자 모두에게 유용한 의사결정 도구가 될 것입니다.




Reference

이상석. (2023). 데이터 드리븐 리포트. 한빛미디어

Sacharya, M.  Graduate admissions 2 dataset [Dataset]. Kaggle. https://www.kaggle.com/datasets/mohansacharya/graduate-admissions

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari