전체 글
-
머신러닝 파이프라인 완벽 가이드: 프로젝트 성공의 핵심 워크플로우카테고리 없음 2025. 7. 3. 23:54
머신러닝 파이프라인이란?머신러닝 파이프라인은 데이터 수집부터 모델 배포까지의 전체 과정을 체계적으로 관리하는 자동화된 워크플로우입니다. 마치 공장의 생산라인처럼 각 단계가 순차적으로 연결되어 있어, 효율적이고 일관된 머신러닝 개발을 가능하게 합니다.왜 파이프라인이 중요할까요?1. 재현성 보장동일한 결과를 언제든지 다시 만들어낼 수 있습니다실험 결과의 신뢰성을 높입니다2. 자동화를 통한 효율성반복적인 작업을 자동화하여 시간을 절약합니다휴먼 에러를 최소화합니다3. 협업 개선팀원들과 일관된 방식으로 작업할 수 있습니다코드의 가독성과 유지보수성이 향상됩니다머신러닝 파이프라인의 7단계 워크플로우1단계: 문제 정의 및 목표 설정모든 머신러닝 프로젝트의 출발점입니다. 명확한 문제 정의 없이는 성공적인 프로젝트를 기대..
-
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)을 선택해 분할트리 구조로 데..
-
mysql 기본 NULL 처리 함수들Programing Language/SQL 2025. 6. 17. 11:09
COALESCE (표준 SQL) sqlCOALESCE(col1, col2, '기본값') -- 첫 번째 non-NULL 값 리턴COALESCE(amount, 0) -- amount가 NULL이면 0IFNULL (MySQL 전용) sqlIFNULL(amount, 0) -- amount가 NULL이면 0IFNULL(customer_name, '미등록') -- NULL이면 '미등록'ISNULL / IS NULL sql-- 조건문에서WHERE amount IS NULL -- NULL 체크WHERE amount IS NOT NULL -- NOT NULL 체크SELECT ISNULL(amount) -- NULL이면 1, 아니면 ..
-
mysql 실무 적용 코딩 (월별 리텐션 분석)Programing Language/SQL 2025. 6. 17. 10:55
상황 : oo님 우리 회사 2025년 1~5월까지 월별 리텐션 분석 자료 부탁해요..asap 1단계 설계리텐션 비중 : 월 방문자 수/첫 월 방문자 수 단계고객별 첫 방문 월고객별 월 데이터 셋팅첫 월, 기준 월, 월 간 gap, 첫 월 유저 수, 기준 월 유저 수, 리텐션 비율 sql 쿼리 작성-- inner join with cust_first_month as ( --고객별 첫 방문 월 select cust_id , min(date_format(order_date, '%Y-%m')) first_ym from orders group by cust_id), cust_orders as ( --고객별 월 데이터 셋팅 select cust_id , date_format(o..
-
MySQL 데이터 타입 변환 ( cast)Programing Language/SQL 2025. 6. 17. 10:30
sql-- 숫자 변환CAST(amount AS SIGNED) -- 정수CAST(amount AS DECIMAL(10,2)) -- 소수점CAST(amount AS UNSIGNED) -- 양의 정수-- 문자열 변환 CAST(user_id AS CHAR) -- 문자열CAST(user_id AS CHAR(10)) -- 길이 지정-- 날짜 변환CAST('2025-01-15' AS DATE) -- 날짜CAST('2025-01-15 14:30:00' AS DATETIME) -- 날짜시간CAST('2025-01-15 14:30:00' AS TIME) -- 시간