
【초보자용】 CSV를 넣기만 하면 회귀/분류 분석 리포트를 자동 생성하는 Python 도구
요약
CSV 파일과 목적 변수만 입력하면 회귀 및 분류 분석 리포트를 자동으로 생성해 주는 Python 도구를 소개합니다. 데이터 분포, 특성 중요도, 모델 평가 지표를 시각화 및 텍스트 파일로 즉시 출력하여 데이터 분석 입문자의 편의성을 높였습니다.
핵심 포인트
- CSV 파일 기반의 자동화된 머신러닝 분석 리포트 생성
- 목적 변수 분포 및 특성 중요도 시각화 기능 제공
- 회귀 및 분류 모델의 주요 평가 지표 자동 산출
- Pandas, Scikit-learn 등 표준 라이브러리 활용
서론
"CSV 파일을 분석하고 싶지만, 무엇부터 시작해야 할지 모르겠어……"
그런 경험 없으신가요?
- 결측치 (Missing Value) 처리 매번 번거로움
- 범주형 변수 (Categorical Variable) 처리에서 막힘
- 일단 머신러닝 (Machine Learning)을 시도해보고 싶음
- 특성 중요도 (Feature Importance)를 빠르게 확인하고 싶음
그래서 이번에,
CSV 파일과 목적 변수(Target Variable) 이름만 전달하면 분석 리포트를 자동 생성하는 Python 도구
를 만들었습니다.
이 도구를 사용하면,
- 목적 변수의 분포
- 특성 중요도 (Feature Importance)
- 회귀 (Regression) / 분류 (Classification) 모델의 평가 지표
를 자동으로 출력할 수 있습니다.
이 기사에서 할 수 있는 것
예를 들어 다음과 같은 명령어를 실행하는 것만으로……
python report.py housing.csv price --problem_type regression
다음 3개의 파일이 자동 생성됩니다.
*_distribution.png
*_feature_importance.png
*_analysis_report.txt
즉,
"일단 데이터 분석 결과부터 보고 싶다"
를 최속으로 실현할 수 있습니다.
대상 독자
이 기사는 이런 분들을 위한 것입니다.
- Python 초보자
- 머신러닝 (Machine Learning)을 공부하기 시작한 사람
- CSV 분석을 편하게 하고 싶은 사람
- 데이터 분석의 첫걸음을 내딛고 싶은 사람
필요 라이브러리
사전에 아래 라이브러리를 설치해 주세요.
pip install pandas numpy matplotlib seaborn scikit-learn
샘플 CSV를 만들어 보자
실제로 구동하면서 테스트해보고 싶은 분들을 위해,
샘플 데이터 생성 코드도 준비했습니다.
회귀용 데이터 (주택 가격)
make_housing.py
로 저장해 주세요.
import pandas as pd
import numpy as np
np.random.seed(42)
...
실행:
python make_housing.py
분류용 데이터 (고객 이탈 예측)
make_churn.py
로 저장해 주세요.
import pandas as pd
import numpy as np
np.random.seed(42)
...
분석 도구 본체
아래 내용을 report.py
로 저장해 주세요.
report.py (클릭하여 펼치기)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
...
※ Zenn에서는 코드가 너무 길기 때문에 접어두었습니다.
실제로 실행해 보기 (회귀 편)
python report.py housing.csv price --problem_type regression
실행 결과
Loading data from housing.csv...
Data shape: (200, 9)
Splitting data into train/test (80/20)...
...
출력되는 파일
1. 분포 그래프
*_distribution.png
목적 변수가 어떻게 분포되어 있는지 확인할 수 있습니다.
2. 특성 중요도 그래프
*_feature_importance.png
"어떤 특성이 효과적인가"를 시각적으로 확인할 수 있습니다.
막대가 길수록 중요합니다.
3. 텍스트 리포트
*_analysis_report.txt
=== Regression Metrics ===
Mean Squared Error (MSE): 12456789012.3456
Root Mean Squared Error (RMSE): 111567.89
...
지표의 의미
- MSE: 오차의 크기
- RMSE: MSE를 이해하기 쉽게 만든 것
- R²: 예측 정밀도 (1에 가까울수록 좋음)
분류 편도 실행 가능
python report.py churn.csv churn --problem_type classification
분류 시 출력 예시
Accuracy: 0.8250
Balanced Accuracy: 0.8123
F1 Score (macro): 0.8012
지표의 의미
- Accuracy: 정확도 (Accuracy)
- Balanced Accuracy: 불균형에 강한 정확도 (Balanced Accuracy)
- F1 Score: 정밀도 (Precision)와 재현율 (Recall)의 균형
초보자분들은,
먼저 Accuracy만 확인해도 괜찮습니다.
주의하기 쉬운 포인트
커스터마이징 팁
모델을 변경하기
from xgboost import XGBRegressor
으로 변경해 보기.
테스트 사이즈를 변경하기
test_size=0.3
등으로 변경 가능.
SHAP으로 고도화된 특성 분석(Feature Analysis) 하기
import shap
을 사용하면,
더욱 고도화된 특성 분석이 가능합니다.
주의사항
요약
이 도구를 사용하면,
- CSV를 넣기만 하면 됨
- 회귀 (Regression) / 분류 (Classification) 모두 대응
- 특성 중요도 (Feature Importance)도 자동 표시
- 결측치 보완 (Imputation)까지 자동
이라는 형태로,
상당히 간편하게 데이터 분석을 시작할 수 있습니다.
"우선 분석 결과부터 보고 싶다"
라고 생각하는 초보자에게는 매우 편리합니다.
꼭 가지고 계신 CSV 파일로 시도해 보세요!
Happy Analyzing! 🐍
Discussion

AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn ML의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기