Data Analysis
-
KNN(K-Nearest Neighbors) 알고리즘 완벽 가이드Data Analysis/기계학습(Machine Learning) 2025. 7. 2. 23:25
개요KNN(K-Nearest Neighbors)은 머신러닝의 가장 직관적이고 간단한 알고리즘 중 하나입니다. "유유상종"이라는 속담처럼, 비슷한 특성을 가진 데이터들은 비슷한 결과를 가질 것이라는 가정에 기반합니다.KNN 알고리즘이란?KNN은 게으른 학습(Lazy Learning) 알고리즘으로, 별도의 훈련 과정 없이 새로운 데이터가 들어올 때 기존 데이터와의 거리를 계산하여 가장 가까운 K개의 이웃을 찾아 예측을 수행합니다.주요 특징비모수적(Non-parametric): 데이터의 분포에 대한 가정이 없음인스턴스 기반 학습: 모든 훈련 데이터를 메모리에 저장지연 학습: 예측 시점에 계산 수행작동 원리1. 거리 계산새로운 데이터 포인트와 모든 훈련 데이터 간의 거리를 계산합니다.유클리드 거리 (가장 일반적..
-
랜덤포레스트(Random Forest) 완벽 가이드: 숲으로 보는 머신러닝Data Analysis/기계학습(Machine Learning) 2025. 6. 30. 16:39
중요한 결정을 내려야 한다면, 한 명의 전문가 의견을 듣는 것과 여러 명의 전문가 의견을 종합하는 것 중 어느 것이 더 신뢰할 만할까요? 대부분 후자를 선택할 것입니다. 랜덤포레스트는 바로 이런 "집단 지성"의 개념을 머신러닝에 적용한 알고리즘입니다.랜덤포레스트란?랜덤포레스트는 앙상블(Ensemble) 학습법의 대표적인 예시로, 여러 개의 의사결정트리(Decision Tree)를 결합하여 예측 성능을 향상시키는 알고리즘입니다. 이름 그대로 "무작위로 만든 숲"이라는 뜻으로, 수많은 나무(의사결정트리)들이 모여 하나의 숲을 이루는 구조입니다.핵심 아이디어배깅(Bagging): 원본 데이터에서 복원추출로 여러 개의 부분 데이터셋 생성랜덤 특성 선택: 각 노드에서 무작위로 선택된 특성들만 사용다수결 투표: 분..
-
🌲 Isolation Forest: 이상탐지의 새로운 패러다임Data Analysis/기계학습(Machine Learning) 2025. 6. 22. 23:02
데이터 분석을 하다 보면 이상한 데이터를 찾아야 하는 경우가 많음.신용카드 사기 거래, 시스템 해킹 시도, 제조 설비 이상 등 우리 주변에는 탐지해야 할 이상값들이 넘쳐남.이런 이상값을 효과적으로 찾아내는 Isolation Forest 알고리즘에 대해 알아보자.🤔 Isolation Forest란?Isolation Forest는 이상탐지(Anomaly Detection)를 위한 비지도 학습 알고리즘핵심 아이디어는 매우 직관적!"이상한 데이터는 정상 데이터보다 쉽게 고립(isolation)된다"마치 파티에서 혼자만 다른 옷을 입고 온 사람이 금방 눈에 띄는 것처럼, 이상값은 적은 분할로도 다른 데이터와 분리됨 ⚙️ 작동 원리1️⃣ 랜덤 분할데이터를 무작위로 특성(feature)을 선택해 분할트리 구조로 데..
-
B3C 플랫폼 분석 리텐션 개념Data Analysis/데이터분석(Data Analysis) 2025. 6. 17. 10:07
리텐션이란? 특정 기간에 가입한 고객들이 이후에도 계속 서비스를 이용하는 비율 1. 기본 리텐션 (N일 후 재방문율)예시: 1월 가입자들의 1개월 후 리텐션 sql-- 1월 신규 가입자 중 2월에도 활동한 비율with jan_new_users as ( select customer_id from users where date_format(join_date, '%Y-%m') = '2025-01'),feb_active_users as ( select distinct customer_id from user_activity where date_format(activity_date, '%Y-%m') = '2025-02')select count(distinct j.custom..
-
[데이터 분석]데이터분석에서 가장 많이 시간이 걸리는 작업, 데이터 클리닝Data Analysis/데이터분석(Data Analysis) 2021. 3. 14. 18:49
데이터 클리닝 데이터분석 과정을 크게 데이터 수집, 데이터 클리닝, 데이터 분석, 데이터 시각화 이렇게 4단계로 나눌 수 있습니다. 오늘은 원하는 데이터가 있다는 전제 하에 데이터 클리닝에 대한 글을 정리하고자 합니다. 데이터 클리닝 데이터 클리닝이란, 목적에 맞는 분석을 하기위해서 데이터를 그에 맞게 정리하는 작업을 의미합니다. 최신 통계 분석 기법과 머신러닝 방법론을 사용하기위해서는 거기에 맞는 데이터 셋이 필요합니다. 즉, 데이터를 정리하는 과정인 데이터 클리닝을 제대로 하지 않으면 그 다음 단계인 데이터 분석으로 넘어가지 못 합니다. 실제로 현업 데이터분석가는 데이터 분석 업무보다는 데이터를 정리하는 일에 많은 시간을 사용합니다. 전체 업무 중 70~80%를 데이터 클리닝에 사용하고 있습니다. 이..
-
코로나 바이러스(COVID-19)로 조건부확률 이해하기Data Analysis/베이지안 통계학(Bayesian statistics) 2020. 10. 19. 11:49
코로나 바이러스(COVID-19)로 조건부확률 이해하기 이 글은위니버스님의 [전 국민을 코로나 진단키트로 검사하지 않는 수학적 이유 | 조건부확률] 동영상을 참고하여 정리하는 자료입니다. 전 국민을 코로나 진단키트로 검사하지 않는 수학적 이유 전염병 확산 방지 전염병이 인류를 위협할 때, 진단 키트 활용해서 발병 유무를 확인할 수 있음 전염병 진단 키트의 성능? 불행하게도 100% 완벽한 진단 키트를 만들어내기는 어려움 의문1. 진단 키트의 검사 결과를 얼만큼 신뢰해야할까? 의문2. 전 국민(전수조사)를 대상으로 진단 검사를 하면 전염병 확산 방지에 도움이 될까? 의문1. 진단 키드의 검사 결과를 얼만큼 신뢰해야할까? 1. 양성과 음성의 의미를 정확하게 이해하기 우리는 상황을 매우 단순하게 보는 경향이 ..
-
데이터 살펴보기 : 상자그림(Box plot) 그리기Data Analysis/데이터분석(Data Analysis) 2020. 9. 24. 14:32
데이터 살펴보기 상자그림(Box plot) 그리기 상자그림 연속형 변수의 특성이 요약된 그래프 연속형 변수의 전체적인 모습을 한 눈에 파악하기 아웃라이어 등의 이상치를 바로 확인 할 수 있음 Code # df_movie의 변수 살펴보기 names(df_movie) [1] "영화명" "관객수" "매출액" "상영횟수" # 관객수의 히스토그램 그리기 관객수 = movie$관객수 boxplot(관객수, main = "히스토그램") 여러 상자그림 Code # df의 변수 살펴보기 names(df) [1] "age" "sex" "bmi" "children" "smoker" "region" "charges" # 관심변수를 그룹변수 기준으로 Box plot 그리기 # 지역별 청구금액의 상자금액 그리기 # 관심변수: 청..
-
데이터 살펴보기 : 히스토그램(Histogram) 그리기Data Analysis/데이터분석(Data Analysis) 2020. 9. 24. 14:12
데이터 살펴보기 히스토그램(histogram) 그리기 히스토그램 연속형 데이터를 이용하여 자료의 분포나 흐름 등을 파악하기 주어진 연속형 데이터를 적당한 구간으로 나누어, 구간별 빈도수를 나타낸 그래프 # df_movie의 변수 살펴보기 names(df_movie) [1] "영화명", "관객수", "매출액", "상영횟수" # 관객수의 히스토그램 그리기 관객수 = movie$관객수 hist(관객수, main = "히스토그램")