본문 바로가기

Machine Learning71

[🦀 게 나이 예측(4)] Baseline Modeling(여러 모델 결과를 종합, 비교) 🧑‍💻 코드 종합 (3)까지 진행한 결과를 종합하면 모델링 베이스 라인 코드는 다음과 같다. 이번 시간에는 3개의 모델 별로 K-fold 교차 검증을 수행하고, 그 결과 점수(MAE)의 평균값을 시각화하여 비교해본다. 이렇게 1차 베이스라인 모델링 코드를 마무리한다! 1. 라벨 인코딩 # 라벨 인코딩(sex) from sklearn.preprocessing import LabelEncoder le = LabelEncoder() train['generated'] = 1 original['generated'] = 0 test['generated'] = 1 train.drop(columns = 'id', axis = 1, inplace = True) train = pd.concat([train, origina.. 2023. 9. 25.
[🦀 게 나이 예측(3)] Baseline Modeling(Hist Gradient Boosting) ------>> 기본적인 전처리 코드는 앞 포스팅과 동일하게 이어집니다. 🚀 Hist Gradient Boosting 이란? 사이킷런의 Gradient Boosting 의 변형 중 하나로, 일반 Gradient Boosting(회귀/분류)과 비교하여 효율적인 구현을 제공 대규모 데이터셋에 적합하며, 대부분의 경우 Gradient Boosting보다 빠른 학습과 예측을 제공 장점 히스토그램 기반 분할 : 데이터를 히스토그램 기반 분할을 사용하여, 연속형 특성을 빠르게 이산화하고 이산적인 값을 사용하여 분할을 수행하여 학습과 예측을 가속화 함 메모리 효율적 : 히스토그램 기반으로 데이터를 압축/저장하여 메모리 요구량이 낮아짐 병렬 처리 : 멀티코어 CPU에서 병렬 처리가 가능 빠른 학습 및 예측 : 효율적인.. 2023. 9. 24.
[🦀 게 나이 예측(2)] Baseline Modeling(Gradient Boosting) 🚀 Gradient Boosting 이란? 머신 러닝에서 사용되는 강력한 앙상블 학습 알고리즘 중 하나로, 회귀 & 분류 문제 모두 적용 가능하며 높은 예측 성능을 제공 앙상블 학습 : 여러 개의 약한 모델을 결합하여 하나의 강력한 모델을 만드는 기법 부스팅 : 부스팅(이전 모델의 오류를 보완하는 새로운 모델을 학습하는 방식으로 작동) 기법 중 하나로, 순차적으로 모델을 추가하며 이전 모델이 잘못 예측한 샘플에 가중치를 부여하여 모델의 오류를 보완함 그라디언트 : 그라디언트(기울기)를 활용하여 모델 학습. 손실 함수(MSE, MAE 등)의 기울기를 계산하여 이전 모델이 예측을 잘못한 샘플에 더 큰 가중치를 주고, 이를 모정하는 새로운 모델을 학습함 모델의 결합 : 약한 학습자(모델)의 예측에 가중치를 부.. 2023. 9. 24.
[🦀 게 나이 예측(1)] 데이터 탐색 & EDA 😀 본 예제는 kaggle 의 EDA & ML 코드의 best practice를 보며 스터디한 내용입니다. - 전체적인 코드는 이 링크로 >> https://www.kaggle.com/code/oscarm524/ps-s3-ep16-eda-modeling-submission/notebook 🦀 이번 시간에는 '게' 나이를 예측하는 것을 주제로 데이터를 탐색하고, EDA를 하는 기초적인 과정을 살펴본다 라이브러리 load import pandas as pd import numpy as np import matplotlib.pyplot as plt; plt.style.use('ggplot') import seaborn as sns import plotly.express as px from sklearn.tre.. 2023. 9. 24.
[중고차 가격 예측(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.
결정계수(coefficient of determination ) 결정계수(R-squared)란? 회귀모델의 적합도를 측정하는 지표 종속변수의 변동성을 독립변수로 설명하는 비율로, 모델이 얼마나 데이터의 변동성을 설명하는지를 나타냄 0과 1 사이의 범위를 가지며, 1에 가까울수록 모델이 데이터 변동성을 더 잘 설명하고 있음을 의미 예를 들어, 결정계수가 0.78 이라면, 모델이 종속 변수의 변동 중 약 78%를 설명할 수 있다는 것 단, 결정계수는 단일 지표로서 모델의 전반적인 성능을 평가하기에는 제한적이므로 다른 평가 지표와 함께 고려하는 것이 좋음 결정 계수 구하기 SST : (실제값 - 평균값)을 제곱한 평균 SSR : (실제값 - 예측값)을 제곱한 평균 결정 계수 구하는 코드 예시 import numpy as np SSE = np.sum((val_y - pred.. 2023. 9. 1.
728x90