본문 바로가기

분류 전체보기339

[Mini Project] 9. 모델링 및 피쳐(파생변수) 선택 🌿 모델링 진행사항 모델링 협업 팀원이 간략히 골목/비골목 상권을 나누어서 모델링을 진행한 결과가 RMSE가 낮음을 확인했다. 따라서 골목/비골목 상권별로 모델을 각각 진행하기로 했다. 현재 모든 피쳐를 살려 모델링하면 RMSE(시작점)는 약 49906.78 이다. 여기서 피쳐 엔지니어링을 거쳐 모델 성능을 개선하여 RMSE를 낮춰보기로 했다. 1. 파생변수 브레인스토밍 의사결정트리 기반 앙상블 모델인 LGBM을 쓸 예정이라, 정규화(로그변환, 표준화 변환), 스케일링(min-max등)은 필요하지 않다고 한단했다. 다음 스텝으로 피쳐를 하나씩 살펴보며 어떤 의미를 가진 데이터인지, 결합하여 의미있는 파생변수를 도출할 여지가 있는지를 살피고 아래와 같이 브레인스토밍 과정을 기록했다. 2. 각 파생변수가 모.. 2023. 9. 18.
[중고차 가격 예측(2)] EDA 가장 먼저 분석을 시작하려고, 데이터를 로드한 다음엔 무엇을 해야할까? 지난 시간에 pandas_profiling에서 살펴본 바와 같이 각 피쳐와 피쳐간 관계를 기반으로 분석을 시작해야한다. 전체적인 EDA의 흐름을 거듭 익혀보자. 🚕 EDA의 시작은 피쳐 이해 ✔ 1. Feature 체크 - id : 샘플 아이디 | title : 제조사 모델명 | odometer : 주행 거리 - location : 판매처(나이지리아 도시) | isimported : 현지 사용 여부 - engine : 엔진 종류 | transmission : 트랜스미션 종류 - fuel : 연료 종류 | paint : 페인트 색상 | year : 제조년도 | target : 자동차 가격 피쳐의 구성과 각 항목의 의미를 잘 파악해야 다.. 2023. 9. 17.
[중고차 가격 예측(1)] pandas_profiling 을 이용한 피쳐 요약 확인 🥑 pandas_profiling 라이브러리 다운로드 !pip install -U pandas-profiling 데이터 분석 및 탐색을 위한 Python 라이브러리 데이터프레임을 기반으로 하여 데이터의 통계적 요약과 시각화, 데이터 품질 평가 등을 자동화하여 데이터를 빠르게 이해하고 데이터 분석 프로세스를 가속화하는데 도움을 주어, 소개한다 구체적으로 다음과 같은 기능이 있다. 👉 데이터 개요 및 통계 요약 : 각 열에 대한 통계 요약(평균, 중앙값, 표준편차 등) 👉 데이터 품질 평가 : nan 값의 비율과 중복된 레코드의 수를 확인하고, 이상점을 감지 👉 시각화 : 데이터에 대한 다양한 시각화 그래프 생성 👉 상관관계 분석 : 열 간의 상관관계 분석 및 시각화 👉 변수간 관계 탐색 👉 보고서 생성 :.. 2023. 9. 17.
[해외 부동산 월세 예측(2)] One-Hot Encoding & Ridge Regression Library Import import os import numpy as np import random from sklearn.preprocessing import OneHotEncoder from sklearn.linear_model import Ridge Data pre-processing : One-Hot Encoding 명목형 변수의 경우 값들 각각을 새로운 컬럼으로 만들고 👉 원래 해당하던 값에는 1을, 아닐 경우 0을 부여 이중 For 문을 쓴 이유 : One Hot Encoder가 Test 데이터로부터 Fitting되는 것은 Data Leakage이므로, Test 데이터에는 Train 데이터로 Fitting된 One Hot Encoder로부터 transform만 수행되어야 한다! # 질적 컬.. 2023. 9. 15.
[해외 부동산 월세 예측(1)] 기본적인 EDA 연습 Data Load 8692개의 데이터 ID : 샘플 별 고유 ID 부동산 관련 정보 해당 건물이 위치한 위도와 경도(단, 지도 api를 이용하여 추가정보를 활용할 수 없음) target: monthlyRent(us_dollar) : 1달러를 단위로 하는 월세 가격 기본적인 EDA ▶︎ 질적 변수와 양적 변수 확인 # 질적 변수 qual_df = total_df[['propertyType', 'suburbName']] # 양적 변수 quan_df = total_df.drop(columns = ['propertyType', 'suburbName']) ▶︎ 결측치, 행과 컬럼 구성, 데이터타입 / 통계량 확인 ▶︎ 시각화 1) 양적 변수 분포 확인 : 히스토그램 quan_df.hist(bins = 100, f.. 2023. 9. 15.
[프로젝트 스터디] 회귀 문제 평가 지표 LightGBM은 효율적인 부스팅 알고리즘을 사용하는 머신러닝 라이브러리이다. 본 세미 프로젝트는 회귀 문제에 해당하니 LightGBM으로 모델 학습하고, 평가 지표를 설정하는 방법을 찾아보기로 했다. LightGBM의 평가 지표 종류(회귀문제) LightGBM은 LightGBMRegressor 클래스를 사용하여 회귀 모델을 학습한다. 회귀 문제에서 사용되는 평가지표는 데이터 특성에 따라 선택할 수 있으니, 적절한 평가 지표로 모델 성능을 평가, 비교하여 최적의 모델을 선택해야 한다. 🥑 평균 제곱 오차 (MSE) 예시 from lightgbm import LGBMRegressor from sklearn.metrics import mean_squared_error # LightGBM 회귀 모델 생성 및 .. 2023. 9. 14.
[프로젝트 스터디] Feature Scaling (Min-Max scaling) 👉 이 포스팅에서는.. 프로젝트를 진행하며, 다양한 데이터로 피처를 생성하다보니, 서로 다른 범위와 척도를 가졌다는 부분이 걱정이 되었다. 이와 관련하여 스케일링에 대해 스케일링하고, 프로젝트에 적용할 방안을 고민해보기로 했다 - 해당 포스팅에서는 피처 스케일링의 기본적인 개념과 예제를 통해 다양한 스케일링 법을 익혀본다. 라이브러리는 사이킷런을 사용한다. 🧐 Feature Scaling이란? 값들을 동일한 범위와 척도내에 넣는 것으로, 하나의 변수가 다른 변수에 의해 영향력을 발휘하지 못하는 것을 막는 방법이다 🧐 Scaling이 왜 필요할까? 대부분의 경우 데이터 셋은 각각의 규모(magnitude), 단위, 범위가 매우 다를 것이다 대부분의 머신러닝 알고리즘은 두 데이터 간 거리를 측정시, 유클리디.. 2023. 9. 14.
[Mini Project] 8. Feature Engineering (이상치와 분포 탐색) 🥑 오늘의 목표_Featrue Engineering 최종데이터의 주요 컬럼을 면적으로 나누어서, 면적당 n의 수의 개념으로 스케일링 시도 전체 컬럼을 3개 파트로 나누어서 각자 피쳐 엔지니어링을 간단히 시도해보기로 했다. 또한, 상권을 골목상권과 비골목상권(발달상권 등)으로 나누어 분석을 진행하기로 했다. 나는 아파트 단지수와 세대수, 배후지 아파트 단지수와 세대수를 담당했다. 아파트 관련 컬럼은 다음과 같으며, 배후지 데이터는 골목상권에만 존재한다. cols_gol = ['아파트_단지_수', '아파트_가격_1_억_미만_세대_수', '아파트_가격_1_억_세대_수', '아파트_가격_2_억_세대_수', '아파트_가격_3_억_세대_수', '아파트_가격_4_억_세대_수', '아파트_가격_5_억_세대_수', '아.. 2023. 9. 13.
[프로젝트 스터디] Feature Engineering Feature Engineering 이란? 모델을 학습시키기 위해 데이터에서 유용한 특징(피쳐, 변수)을 추출하거나 변형하는 과정 제대로 수행하면 모델의 성능을 향상시키고, 예측 또는 분류 작업을 더 정확하게 수행할 수 있음! 일반적으로 Feature Engineering은 데이터 전처리의 일부로 고려됨 문제의 성격과 데이터 종류에 따라 다양한 기술과 전략을 사용하며, 경험과 도메인 지식이 중요한 역할을 한다 🥑 Feature Engineering 종류 ✔ 의미있는 정보 추출 데이터에서 의미있는 정보를 추출하거나, 도메인 지식을 활용하여 새로운 피쳐를 생성 예를 들어, 날짜에서 요일이나 시간대를 추출하거나 / 텍스트 데이터에서 중요한 키워드를 추출 ✔ 차원 축소 데이터의 차원을 줄이거나 중요한 피처만 선.. 2023. 9. 13.
728x90