Skip to content

boostcampaitech7/level2-competitiveds-recsys-01

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏠📊 LV.2 RecSys 프로젝트 : 수도권 아파트 전세가 예측 모델

🏆 대회 소개

특징 설명
대회 주제 네이버 부스트캠프 AI-Tech 7기 RecSys level2 - Competitive Data Science
대회 설명 아파트의 주거 특성, 금융 지표 등 다양한 데이터를 바탕으로 수도권 아파트의 전세가를 예측하는 AI 알고리즘 대회
데이터 구성 train.csv, test.csv, sample_submission.csv ,subwayInfo.csv , interestRate.csv, schoolInfo.csv, parkInfo.csv 총 일곱 개의 CSV 파일
평가 지표 Mean Absolute Error (MAE)로 실제 전세가와 예측 전세가 간의 오차 측정

🥈 대회 결과

Private, Public Leader Board 2위 스크린샷 2024-10-24 오후 8 08 28


💻 팀 구성 및 역할

박재욱 서재은 임태우 최태순 허진경
EDA, Feature Engineering, DL Modeling EDA, Feature Engineering, DL Modeling EDA, Feature Engineering, ML Modeling EDA, Feature Engineering, ML Modeling EDA, Feature Engineering, ML Modeling

🏠📊 프로젝트 개요

개요 설명
주제 이 대회의 목적은 아파트 전세가 예측을 통해 부동산 시장의 정보 비대칭성을 해소하는 데 기여하는 것입니다. 2022년 기준 한국 가구의 51.9%가 아파트에 거주하며, 아파트는 한국에서 주거 문화의 중심이자 주요 자산 증식 수단입니다. 가계 자산의 70% 이상을 차지하는 중요한 자산인 아파트의 전세 시장은 매매 시장과 밀접하게 연관되어 있으며, 부동산 정책 수립과 시장 예측에 중요한 지표로 활용됩니다.
목표 주어지는 아파트의 주거 특성, 금융 지표, 공공시설 정보 등의 데이터를 활용하여 전세가를 예측하는 AI 알고리즘을 개발하는 것이 대회의 주된 목표입니다.
평가 지표 Mean Absolute Error (MAE) - 실제 값과 예측값의 평균 절대 오차 지표
개발 환경 GPU : Tesla V100 Server 4대, IDE : VSCode, Jupyter Notebook, Google Colab
협업 환경 Notion(진행 상황 공유), Github(코드 및 데이터 공유), Slack , 카카오톡(실시간 소통)

데이터셋 구성

  • train.csv : 기본적인 컬럼
컬럼명 설명
index 인덱스 번호
area_m2 면적(제곱미터)
contract_year_month 계약년월
contract_day 계약일
contract_type 계약 유형(0: 신규, 1:갱신, 2:모름)
floor 층수
built_year 건축연도
latitude 위도
longitude 경도
age 건물의 나이(contract_year_month - built_year)
  • subwayInfo.csv : 지하철역 위치 정보
컬럼명 설명
latitude 위도
longitude 경도
  • interestRate.csv : 금리 정보
컬럼명 설명
year_month 연월
interest_rate 금리
  • schoolInfo.csv : 학교 정보
컬럼명 설명
schoolLevel 초등학교, 중학교, 고등학교 여부
latitude 위도
longitude 경도
  • parkInfo.csv : 공원 정보
컬럼명 설명
latitude 위도
longitude 경도
area 면적

타임라인

📅 2024.10.01 ~ 2024.10.24
스크린샷 2024-10-24 오후 2 56 59

🕹️ 프로젝트 실행

디렉토리 구조

📦 level2-competitiveds-recsys-01
├── 📁code
│   ├── cnn_mlp.py
│   ├── tabtransformer_main.py
│   ├── main.py
│   ├── 📁features
│   │   ├── README.md
│   │   ├── clustering_features.py
│   │   ├── count_features.py
│   │   ├── deposit_features.py
│   │   ├── distance_features.py
│   │   └── other_features.py
│   ├── 📁handler
│   │   ├── cnn_mlp_datasets.py
│   │   ├── feature_engineering.py
│   │   └── preprocessing.py
│   ├── 📁models
│   │   ├── 📁DL_tabtransformer
│   │   │   ├── dataset.py
│   │   │   ├── tabtransformer.py
│   │   │   └── trainer.py
│   │   ├── CombinedModel.py
│   │   ├── SeedEnsemble.py
│   │   ├── SpatialWeightMatrix.py
│   │   ├── XGBoostWithSpatialWeight.py
│   │   ├── inference.py
│   │   └── model.py
│   └── 📁utils
│       ├── common_utils.py
│       └── constant_utils.py
├── 📁data
│   ├── interestRate.csv
│   ├── parkInfo.csv
│   ├── sample_submission.csv
│   ├── schoolinfo.csv
│   ├── subwayInfo.csv
│   ├── test.csv
│   ├── train.csv
│   └── 📁transaction_data
│       ├── test_transaction_3.txt
│       ├── train_transaction_3.txt
│       └── valid_transaction_3.txt
└── 📁result
│   ├── mae
│   ├── submission
├── README.md
└── requirements.txt

Installation with pip

  1. pip install -r requirements.txt 실행

  2. Unzip train, dev, test csv files at /data directory

  3. Upload sample_submission.csv at /data directory

  4. Execute main.py to run solution model

    • main.py 실행 시 Spatial Weight Matrix 생성에 소요되는 시간을 고려해 미리 생성해둔 Spatial Weight Matrix 사용

    Execute cnn_mlp.py to run CNN + MLP combined model

    Execute tabtrasformer_main.py to run TabTransformer model

About

level2-competitiveds-recsys-01 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published