본문 바로가기

Data Science & AI/Machine Learning15

Regression 손실 함수와 최적화 Supervised Learning (지도 학습)| Supervised Learning -> Input(x) 와 대응되는 target(y) 가 있는 경우데이터셋을 통해 새로운 입력(x) 가 주어졌을 때 y 를 출력하는 모델을 학습시킴모델의 출력값 y 를 prediction , 정답 y를 Label 이라고 함Y의 형태에 따라 Regression(회귀) - 실수형, Classification(분류)로 나뉨Conditional Probability Model(조건부 확률 모델)| True Distribution: 데이터는 실제 분포 P(X,Y)에서 Random sampling 된다고 가정 >  i.i.d (independent and identically distributed) 가정  :  샘플들이 서로 독립.. 2024. 12. 8.
가중치 규제 - Ridge,Lasso,Elastic Net 0.  과적합(Overfitting) 과 일반화 성능회귀분석의 성능을 평가할 때 대부분 실제값 - 예측값의 차이를 가지고 평가한다.실제값 - 예측값의 관계만 살펴보게 되면 회귀계수에 대해서 과적합이 되는 경우가 발생할 수 있다.이렇게 되면, 당연히 train 데이터 성능보다,  test 데이터에서는 성능이 잘 안 나올 수 있고, 실시간 배치 데이터를 받았을 때 성능이 나빠질 수 있다. 과적합을 방지하여 일반화 성능을 높이는 방법은 다음과 같다. 1. 학습 데이터 늘리기2. 모델의 복잡도 줄이기3. 가중치 규제(Regularization) 적용4. 드롭아웃 모델은 기본적으로 손실함수(Cost Function)을 최소화하는 방법으로 작동한다.이때, 학습데이터에 존재하는 노이즈가 과하게 모델에 반영되어, 손실.. 2024. 7. 28.
RFM 기반 군집 분석 1. RFM 분석RFM 고객 분석하기 위한 피처를 R,F,M 피처를 가지고 고객을 이해/분석하는 방법론이다.Recency : 얼마나 최근에 구매했는가 Frequency : 얼마나 자주 구매했는가 Monetary : 얼마나 많은 금액을 지출했는가 RFM 지표 도출 방법RFM 지표 도출 단위는 고객 한명이다. (customerID로 groupby)Recency(R)가장 최근 구매한 상품 구입일과 현재 기준까지의 기간# 현재 날짜 설정 current_date = pd.to_datetime('today') # Recency 계산 df['InvoiceDate'] = pd.to_datetime(df['InvoiceDate']) recency_df = df.groupby('CustomerID').InvoiceDate.. 2024. 5. 26.
K-Means Clustering 알고리즘 Clustering 알고리즘이란?레이블이 지정되지 않은 데이터 셋을 일정한 클러스터 기준으로 그룹화하는 알고리즘이다 -> Unsupervised Learning(비지도 학습)클러스터링 알고리즘은, 데이터셋이 얼마나 뭉쳐져 있는지/ 얼마나 떨어져있는지/ 비슷한 분포를 따르는지 등의 기준으로 그룹화 할 수 있다.Kmeans Clustering 알고리즘이란?데이터를 K개의 클러스터로 그룹화하는 알고리즘으로, 데이터 포인트끼리 얼마나 가까운지를 기준으로 그룹화한다.클러스터의 중심점(Centroid)을 가지고, 클러스터를 할당하거나 중심점을 업데이트 하는 방식으로 작동한다. 핵심 아이디어할당 단계(cluster assignment step) :  K 개의 클러스터를 할당업데이트 단계(move centroid st.. 2024. 5. 11.
KNN 알고리즘 모델 적용 - 하이퍼 파라미터(k값, 가중치) KNN 알고리즘 KNN(최근접 이웃) 알고리즘은 지도 학습 알고리즘으로, 가장 가까운 이웃들의 정보를 사용하여 새로운 데이터 포인트를 분류 또는 회귀하는 알고리즘이다. (개념에 대한 설명은 아래 포스팅을 참고)https://datapilots.tistory.com/101 [ML]K-NN 알고리즘K-Nearest Neighbor : KNN , 최근접 이웃 개요 휘귀와 분류 모두 가능한 Memory-Based Learning 지도학습 알고리즘이다. (분류에 더 많이 사용) 이 알고리즘은, 유사한 데이터 포인트는 유사한 레이블이나 값을datapilots.tistory.com KNN 알고리즘 모델 피팅데이터 형식x : 행렬(metrix)y : 벡터(vector) 간단한 알고리즘 피팅 해보자.x1 = np.ara.. 2024. 5. 4.
[ML]KNN 알고리즘 K-Nearest Neighbor : KNN , 최근접 이웃개요휘귀와 분류 모두 가능한 Memory-Based Learning 지도학습 알고리즘이다. (분류에 더 많이 사용)이 알고리즘은, 유사한 데이터 포인트는 유사한 레이블이나 값을 갖는 경향이 있다는 아이디어에 의존한다.즉, 새로운 데이터가 주어졌을 때, 거리 기반으로 가장 가까운 K개의 이웃 데이터들을 찾아서 이 데이터의 클래스 또는 값을 예측하게 된다.    가운데 동그라미(새로운 데이터 포인트)가 네모 카테고리로 분류되어야 하는 것인지,세모 카테고리로 분류되어야 하는지 k개의 이웃 개수에 따라 결정된다.Memory-Based Learning(Instance - Based - Learning)K-Nearest Neighbors(KNN)는 메모리 .. 2024. 4. 7.
[ML] 임계값 설정과 평가지표 & ROC 변동 임계값 이동이 필요한 이유 분류모델에서 임계값을 이동하는 경우는 데이터셋의 클래스가 불균형할 때이다. 클래스가 더 많은 쪽으로 임계값을 이동하여, 클래스 불균형을 해소하고 예측 성능을 높일 수 있다. ( 임계값은 0.5가 default 값이다.) 분류 모델 평가지표에 대한 설명은 다음 포스팅을 참고(https://datapilots.tistory.com/41) 타이타닉 데이터로 임계값 설정에 따른 평가지표 & ROC 곡선의 변화를 살펴보자. 0. 라이브러리 임포트 & 데이터 불러오기 import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.model_selection imp.. 2024. 3. 30.
[ML] 머신러닝 평가지표 - 회귀 모델 MSE, RMSE, MAE 머신러닝 모델 평가 지표 - 회귀모델 머신러닝, 딥러닝에서 평가지표로 손실함수를 사용한다. 손실 함수의 값이 작아질수록, 모델의 예측 성능은 좋아진다. 따라서 모델의 성능을 향상하기 위해 손실함수를 최소화 해야한다. 따라서 아래와 같은 손실함수, 평가지표를 사용한다. 회귀(Regression) 모델 평가 지표 요약 아래의 평가지표는 분류(Yes/No)가 아니라, 회귀 모델. 즉 , 실수 기반의 결과에 대한 오차를 판별하는 지표이다. MSE (Mean Squared Error, 평균제곱오차) : 예측값과 실제값 간의 차이를 제곱하여 평균한 값, 오차 제곱의 평균 RMSE (Root Mean Squared Error, 평균 제곱근 오차):MSE의 제곱근으로, 예측값과 실제값 간의 차이를 평균적으로 얼마나 벗.. 2023. 9. 16.
[ML] 머신러닝 평가지표 - 분류 모델 평가지표(오차행렬) 머신러닝 모델 평가 지표 정리 1 분류(Classification) 모델 평가 지표 정확도 (Accuracy): 전체 예측 중 올바르게 예측한 비율(데이터가 불균형할 경우에는 부적절할 수 있음) 정밀도 (Precision): Positive로 예측한 샘플 중 실제 Positive인 비율을 나타내며 > FP을 최소화 재현율 (Recall):실제 Positive인 샘플 중 모델이 올바르게 Positive로 예측한 비율 > FN 최소화 F1 Score: 정밀도와 재현율의 조화 평균(정밀도와 재현율 모두 고려하는 지표) ROC 곡선 (ROC Curve) , AUC (Area Under the ROC Curve):이 모델의 분류 성능을 시각화하고 측정하는 데 사용 1. 이진 분류 평가지표- 오차행렬 개념 오차 행.. 2023. 9. 15.
[Machine Learning] 하이퍼 래퍼 XGBoost API - 위스콘신 유방암 예측 이 포스팅은 을 학습하면서 정리한 내용이다.(https://www.yes24.com/Product/Goods/69752484) 파이썬 래퍼 XGBoost(eXtra Gradient Boost) API https://xgboost.readthedocs.io/en/stable/ XGBoost는 트리 기반의 앙상블 학습에서 각광받고 있는 알고리즘이다. 분류에 있어서, 뛰어난 예측 성능을 보이며, GBM에 기반하고 있지만, GBM의 느린 시간과 과적합 문제를 해결했다. XGBoost 장점 분류/ 회기 영역에서 뛰어난 예측 성능 발휘 GBM 대비 빠른 수행 시간 자체에 과적합 규제 기능을 보유해, 과적합에 강한 내구성을 지님 max_depth 로 분할 깊이 조절 및 .. 2023. 8. 29.