--- license: mit language: ko tags: - regression - pytorch - xgboost - sports-car --- # 스포츠카 가격 및 성능 예측 모델 이 모델은 스포츠카의 다양한 스펙(제조사, 연식, 엔진 크기 등)을 기반으로 **가격, 마력, 제로백**을 예측하는 딥러닝 및 머신러닝 모델을 포함하고 있다. ## 프로젝트 개요 다양한 스포츠카 데이터를 분석하고, 최적의 예측 모델을 찾기 위해 다음과 같은 과정을 거쳤다. 1. 데이터 전처리 및 피처 엔지니어링 (GroupBy 활용) 2. **딥러닝(TensorFlow/Keras)** 및 **머신러닝(XGBoost)** 모델 구축 3. 하이퍼파라미터 튜닝을 통한 모델 최적화 4. 두 모델의 성능(MSE) 비교 및 최종 모델 선정 ## 모델 (Models) 이 프로젝트는 두 가지 최적화된 모델을 제공한다. | 모델 종류 | 파일명 | 주요 특징 | | :--- | :--- | :--- | | **딥러닝 (Keras)** | `best_model.keras` | ReLU 활성화 함수와 Dropout을 사용한 3-Layer 신경망 | | **머신러닝 (XGBoost)**| `xgboost-model.skops`| 하이퍼파라미터 튜닝으로 최적화된 Gradient Boosting 모델 | ### 모델 구조 (딥러닝) ![모델 구조](model.png) ## 데이터셋 (Dataset) - **데이터 출처**: [Sports Car Price Dataset on Kaggle](https://www.kaggle.com/datasets/rkiattisak/sports-car-prices-dataset/data) (예시 링크) - **타겟 변수 (예측 대상)**: `가격(원화)`, `마력`, `제로백 (0-100km)` - **주요 피처**: `제조사`, `모델`, `연식`, `엔진 크기`, `토크` 등 ## 사용 방법 이 모델을 불러와 사용하려면 `tensorflow`, `xgboost`, `scikit-learn`, `skops` 라이브러리가 필요하다. **XGBoost 모델 불러오기 및 예측** ```python import skops.io as sio # 저장소에서 모델을 직접 불러올 수 있다 (또는 다운로드 후) # loaded_model = sio.load("hf://your-hf-username/your-repo-name/xgboost-model.skops") loaded_model = sio.load("xgboost-model.skops") # 예측할 데이터를 준비한다 (전처리 및 스케일링 필요) # preprocessed_data = ... # prediction = loaded_model.predict(preprocessed_data) # print(prediction) ``` ## 최종 성능 하이퍼파라미터 튜닝 후, 두 모델의 테스트 데이터셋에 대한 평균 제곱 오차(MSE)는 다음과 같다. - **(튜닝) 딥러닝 모델 MSE**: `0.010617` - **(튜닝) XGBoost 모델 MSE**: `0.010617` 두 모델이 거의 동일한 최고 성능을 기록했으며, 이는 데이터의 특성을 각기 다른 방식으로 완벽하게 학습했음을 시사한다.