파생변수 생성 - Feature Engineering
·
Data Analysis
머신러닝 모델을 만들기 전, 단순히 주어진 데이터만 사용하는 것은 부족할 수 있습니다.예를 들어:생년월일 이 있다고 가정을 하면 그대로 사용이 가능할까?승선 인원 이 있는데, 이걸 혼자인지 여부, 가족 수 같은 의미 있는 값으로 바꾸면 더 좋지 않을까?이처럼 기존 변수로부터 새로운 의미 있는 변수를 만들어내는 작업이바로 파생변수 생성(Feature Engineering)입니다. 이 과정은 모델 성능을 극적으로 개선할 수 있으며, 데이터 분석의 핵심이라 해도 과언이 아닙니다. 파생변수 생성 패턴 1. 날짜/시간 파생변수예시: SibSp(형제자매 수), Parch(부모자녀 수) → 가족 수 변수 생성df['FamilySize'] = df['SibSp'] + df['Parch'] + 1 # 자기 자신 포함 ..
범주형 변수 인코딩 - Label, One-Hot, Ordinal
·
Data Analysis
실제 데이터에는 "남성", "여성" 이나 "서울", "부산" 처럼 문자형(범주형) 데이터가 자주 존재합니다.하지만 머신러닝 모델은 오직 숫자만 입력으로 처리할 수 있기 때문에, 범주형 데이터를 수치형으로 변환하는 과정이 필요합니다.이를 인코드(Encoding)이라고 하며, 데이터 전처리에서 중요한 단계입니다. 왜 인코딩이 필요한가?위에서 말했다 싶이 머신러닝 모델은 오직 숫자만 입력으로 처리할 수 있기 때문에 문자열을 직접 모델에 넣을 수가 없습니다.예를 들어 gneder="남성"은 수치적 연산 불가한 셈입니다.그리고 범주형 변수끼리는 크기 비교가 불가능합니다. "서울" > "부산"을 같은 비교는 의미가 없습니다. 문제 상황 예시 문자열을 직접 모델에 넣을 수 없음gender = "남성"은 수치적 연..
정규화(Normalization) vs 표준화(Standardization)
·
Data Analysis
데이터 분석과 머신러닝을 할 때, 서로 다른 범위와 단위를 가진 수치형 데이터가 섞여 있을 경우 문제가 발생합니다.예를 들어나이: 0 ~ 100연봉: 2,000,000 ~ 100,000,000이렇게 단위가 다른 두 변수를 그대로 모델에 넣으면 큰 값이 더 중요한 변수처럼 작용하게 되어 모델이 편향될 수 있습니다.이 문제를 해결하는 대표적인 방법이 바로 정규화(Normalization) 와 표준화(Standardization)입니다. 만일 거리 기반 알고리즘을 개발한다고 했을 때, KNN & KMeans 등은 변수의 스케일에 민감합니다.문제 상황예시거리 기반 알고리즘KNN, KMeans 등은 변수의 스케일에 민감기울기 폭주/소실딥러닝 학습 시 큰 수치로 인해 오차 급증 또는 학습 멈춤모델 성능 왜곡회귀분석..
이상치(Outliers) 탐지와 처리 방법
·
Data Analysis
데이터 셋을 분석할 때 평균값이 지나치게 크거나 작게 나오는 경우가 있습니다.이는 종종 이상치(Outiers) 때문입니다. 예를 들어, 나이 데이터에 250살이 들어있거나, 월 소득이 1억원인 샘플이 있을 수 있습니다.이런 이상치는 단순한 입력 오류일 수도 있고, 극단적인 케이스일 수도 있지만,그 존재만으로도 분석 결과를 심각하게 왜곡시킬 수 있습니다. Structural Cause: 이상치가 발생하는 원인원인예시입력 오류설문 응답 시 2살을 22살로 잘못 입력단위 혼동연봉을 만 단위로 적어야 하는데 억 단위로 적음실제 극단적 상황재벌, 슈퍼노인 등 특이 케이스수집 과정의 오류센서 오작동, 크롤링 오류 등(등등 더 다양한 원인 발생할 수도 있습니다.) 만일 위와 같은 이유로 발생한 이상치를 방치 했을 때..
결측치(Missing Values) 처리
·
Data Analysis
결측치란?데이터 분석에서는 데이터가 완전한 경우가 거의 없습니다.예를 들어 "누군가 설문을 제출했지만 나이를 안 적었다", "센서가 잠깐 오작동해서 온도가 기록되지 않았다."등 수많은 이유로 인해 결측치는 자연스럽게 발생합니다. 이 결측치를 제대로 처리하지 않으면 모델 성능이 급격히 떨어지고, 분석 결과가 왜곡되는 치명적인 문제가 생깁니다. 결측치가 발생하는 대표적인 이유는 다음과 같습니다.(이 외에도 다양한 이유가 있습니다.)원인예시입력 누락사용자가 설문 항목을 건너뜀수집 오류센서 고장, API 응답 없음시스템 마이그레이션 문제새로운 시스템에 값이 안 옮겨짐의도적 생략민감 정보 (수입 등) 미기재 만일 위와같은 원인으로 결측치가 발생했는데 무시하고 분석할 경우 다음과 같은 오류 및 실패가 발생할 수 있..
Hypothesis Test란?
·
Data Analysis
가설 검정 모집단에 대해 가설이 통계적으로 유의한지 표본을 통해 알아보는 것 질문에 대한 2개의 대립되는 가설을 세우고, 수집한 데이터를 통해 참 or 거짓 판단 귀무가설 (Null Hypothesis) (H0) 데이터를 수집하기 전, 사실이라고 믿는 가설 ex) 변화가 없다 (기존의 상태), 차이가 없다, 다르지 않다, 음성이다 등등 수학적으로 = 기호 포함 대립가설 (Alternative Hypothesis) 우리가 사실이라고 증명하고 하는 가설 귀무가설과 대립 (귀무 가설과 겹치지 않는다) ex) 변화가 있다, 차이가 있다, 다르다, 양성이다 등등 수학적으로 = 기호 포함 X 1종 오류(Type I Error) vs 2종 오류(Type II Error) Type I Error 귀무가설 참 → 잘못 ..
데이터 분석가의 역할 (Data Analyst)
·
Data Analysis
데이터 시대, 데이터 분석가의 역할 (Data analyst) 누구나 적은 비용으로 데이터를 분석할 수 있는 시대입니다. 최근 몇 년간 데이터 저장 및 처리 비용이 엄청나게 낮아지면서 생성되는 데이터의 종류, 양이 무척이나 다양해졌습니다. 금융 생산관리 마케팅 등의 산업 분야를 시작으로 데이터 분석의 효용성과 가치는 점차 확대되고 있고, 많은 기업들이 유사한 서비스 제품 기술을 이용해 경쟁함에 따라 데이터 분석을 통한 혁신과 가치창출은 중요한 경쟁력이 되었습니다. 데이터 분석가란? 데이터 분석가는 조직이 더 나은 비지니스 의사결정을 할 수 있도록 데이터를 사용해 돕는 역할을 합니다. 수많은 데이터를 정리하고, 유용한 정보를 추출하고 데이터 분석에 기초하여 결정을 내려서 인사이트를 도출해 전달합니다. 데이..
EDA의 개념과 데이터 분석
·
Data Analysis
EDA (Exploratory Data Analysis)란? - 탐색적 데이터 분석 - 벨연구소의 수학자 '존튜키' 가 개발한 데이터 분석 과정에 대한 개념으로, 데이터를 분석하고 결과를 내는 과정에 있어서 지속적으로 해당 데이터에 대한 '탐색과 이해'를 기본으로 가져야 한다는 것을 의미 실무에 있어 새로운 프로젝트에 들어갈 때 가장 중요하게 생각하는 것이 '왜? (Why?)' 라고 생각한다. 그래야 기획단계부터 사로 이해가 잘 되고, 피드백을 하며 소통하여 결과의 질을 높게 향상시킬 수 있다. 처음 로우데이터(Row-Data)를 접할 때부터 이 데이터를 잘 이해하고 파악한 다음, 어떤 결과를 만들어낼지 'feature(col)'로 필터해보고, 다른 feature로 해본 후 데이터를 여러 측면으로 쪼개고..