본문 바로가기

데이터 기본

(11)
데이터 정리: 5가지 대표적인 차원 축소 기술 (Dimensionality Reduction) 데이터 분석에서 많은 양의 데이터를 처리할 때, 데이터의 차원을 축소하고 중요한 특성을 선택하는 것은 매우 중요한 작업이다. 이를 통해 모델의 복잡성을 줄이고 계산 효율성을 향상시키며, 더 나은 모델 성능을 달성할 수 있기 때문이다. 다루어야 할 내용이 적지 않기 때문에, 본 글에서는 '데이터 차원 축소'에 대해서 우선 다루겠다. 이후의 글에서는 데이터 정리의 다른 방법인 '특성 선택'에 대해서 적어보겠다. 데이터 차원 축소 기술 (Dimensionality Reduction Techniques) 아래 표는 대표적인 5가지 데이터 차원 축소 방법에 대한 요약이다. 기술 설명 필요성 예시 PCA (주성분 분석) 고차원 데이터의 주요 특성을 추출하여 데이터를 낮은 차원으로 투영하는 기술 데이터의 차원을 줄여..
데이터 변환: 정규화, 표준화 및 집계 기술 데이터 분석에서 데이터의 특성을 조정하거나 변환하는 것은 매우 중요한 일이다. 단순한 분석 작업의 경우, 있는 데이터를 그대로 쓰면 된다. 하지만 데이터의 양이 늘어나고 복잡해질수록 있는 데이터를 그대로 쓰면 인사이트를 얻기 어려울 수 있다. 그럴 때 사용할 수 있는 게 주어진 데이터를 왜곡이 발생시키지 않는 범위 내에서 적절하게 변환시켜 주는 방법이다. 이러한 데이터 변환 기술은 데이터의 품질을 향상하고 분석 결과를 개선하는 데 도움이 된다. 이번 글에서는 데이터 변환의 세 가지 기술인 정규화, 표준화 및 집계에 대해 알아보려고 한다. 얼마 전에 알아본 '데이터 정제: 중복 제거, 누락 값 처리, 이상 값 처리 기술'과 마찬가지로 개념을 잡기 위한 얕게 다뤄보려 한다. 정규화 (Normalization..
데이터 정제: 중복 제거, 누락 값 처리, 이상 값 처리 기술 데이터 분석을 위해 데이터를 사용할 때 데이터의 품질은 매우 중요하다. 데이터에는 종종 중복된 값, 누락된 값 또는 이상 값이 포함되어 있을 수 있으며, 이러한 데이터 오류는 분석 결과를 왜곡시킬 수 있다. 따라서 데이터를 정제하여 데이터 품질을 향상하는 것은 데이터 분석 작업에서 매우 중요한 단계이다. 이번 글에서는 데이터 클리닝 또는 정제를 위한 주요 기술인 중복 제거, 누락 값 처리 및 이상 값 처리에 대해 개념 위주로 쉬운 예와 함께 다뤄보겠다. 중복 제거 (Duplicate Removal) 중복된 데이터는 분석 결과를 왜곡시킬 수 있으므로 중요한 요소이며, 매우 빈번하게 발생된다. 이러한 중복된 데이터를 제거하는 과정은 데이터 정제의 첫 번째 단계이다. 예를 들어, 고객 데이터베이스에서 중복된 ..
K-폴드 교차검증법: 움파룸파의 "A thousand fold!!" 얼마 전 영화 Wonka에서 휴 그랜트가 연기한 움파룸파가 부르는 노래가 있었다. 움파룸파 송이라고 불리는 중독성이 있는 노래였다. 그중에서 휴 그랜트가 강조해서 반복했던 단어가 있는데, “A thousand folds! (천 배!!)”였다. 도둑맞은 카카오에 대해서 천 배로 값아야 한다는 의미였는데, 뜬금없지만 나는 ‘K-폴드 교차 검증 방법' (K-fold Cross Validation)이 생각 났다. Til I've paid my friends back a thousand fold! A thousand fold?! You gotta be kidding me! I repeat A thousand fold! 생각이 난 김에 K-폴드 교차 검증 방법에 대해서 알아보자. 샘플링에서 관련 내용이 나올 수도 ..
데이터 샘플링: 왜, 언제 해야 하는가 지난 글(데이터 샘플링: 통계적 및 비통계적 샘플링 방법)을 쓰고 난 후에, 샘플링이 왜 필요한지에 대한 감이 잘 오지 않을 것 같아 그 필요성 및 어떻게, 언제 사용되는지 추가로 글을 쓰기로 했다. 했던 말들의 반복도 조금 있겠지만, 샘플링의 중요성은 무시할 수 없다. 특히 데이터 분석은 여러 단계를 거친 후에야 실질적인 인사이트를 도출해 낼 수 있는데, 이때 데이터 샘플링은 대부분의 단계들에 선행하는 매우 중요한 단계 중 하나이다. 데이터 샘플링은 왜 필요할까 데이터 샘플링이 왜 필요한지 당연할 수도 있는 것들이지만 되짚어 보자. 시간 및 비용 제약 극복 : 대규모 데이터를 다룰 때, 샘플링을 하면 시간과 비용을 절약할 수 있다. 데이터 사이즈가 커질 수록 전체 데이터를 모두 수집하고 분석하는 것은 ..
데이터 샘플링: 통계적 및 비통계적 샘플링 방법 데이터 샘플링(표본추출)은 많은 양의 데이터를 대상으로 분석 작업 수행 시, 전체 데이터가 아닌 일부를 ‘샘플(표본)’로 선택하여 전체 데이터를 대표하게 하는 작업이다. 이 샘플링은 처리할 데이터의 양이 많을 때 반드시 필요한 중요한 단계이다. 샘플링은 통계에서 나온 개념이다. 사실 통계가 나온 중학교 2학년 때부터 수학이 싫어졌던 경험이 있는 사람으로서, 자세한 내용은 별로 관심이 없다. 하지만 자세한 내용을 모른다고 분석 업무를 못하는 건 아니니, 이런 게 있다고 아는 정도로 이해하고 넘어가자. 데이터 샘플링 방법은 크게 통계적 기법을 기반으로 한 샘플링과, 비통계적 기법을 기반으로 한 샘플링이 있다. 샘플링 종류 방법 장점 단점 데이터 분석에서의 사용빈도 통계적 단순 랜덤 모집단에서 무작위 추출 편..
데이터 구조: 배열, 목록 및 테이블 데이터 구조는 컴퓨터 프로그램에서 데이터를 저장, 구성 및 액세스 할 때 데이터를 구성하는 방식을 의미한다. 데이터 분석 업무를 하다 보면, 다양한 데이터 구조를 사용하여 대규모 데이터 세트를 저장, 처리 및 분석하게 되며, 상황에 맞게 적절한 데이터 구조를 선택해야 한다. 그래야 최적화된 속도와 결과를 얻을 수 있다. 이번 글에서는 일반적으로 사용되는 세 가지 데이터 구조(배열, 목록 및 테이블)를 살펴보고 데이터 분석의 맥락에서 각각의 차이점과 예시에 대해서 알아보려 한다. 또한, 아직 다른 글에서 다루지 않은 R 과 Python의 코딩들도 예시로 보여주려 하니, 대략적인 감을 잡는 참조용으로만 보길 바란다. 각 언어별로 데이터 구조에 대한 용어가 약간 상이할 수 있으며, 코딩 방법도 다른데, 구체적..
데이터 유형: 숫자, 범주 및 순서 데이터의 이해 다양한 유형의 데이터(data type)를 이해하는 것은 데이터 분석의 결과를 정확하게 해석하는 데 중요한 요소이다. 실무를 하다 보면 어이없는 에러의 원인이 데이터 유형에 대한 무지인 경우가 적지 않다. 그러니 나중에 에러의 원인을 찾느라 고생하기 전에 데이터 유형에 대해 잘 알아보자. 아래 글을 통해 세 가지 주요 데이터 유형(숫자형, 범주형 및 순서형)을 살펴보고 각 데이터 유형이 데이터 분석에 미치는 영향을 더 잘 이해하는 데 도움이 되도록 예시들과 함께 알아보자. 데이터유형 정의 예시 숫자형 (Numeric) 연속 (Continuous) 나이, 키, 몸무게, 급여 등과 같이 정의된 범위 내에서 모든 값을 가지는 유형 신장(cm), 급여($) 등 이산 (Discrete) 가족의 자녀 수, 집의 방..