데이터·데이터전처리 8

[데이터전처리 08] - Feature Engineering vs Data Cleansing, 용어 정리

안녕하세요. 데이터 요리사, 루나입니다. Feature Engineering, Data Cleaning 다 비슷비슷해보이는데요. 어떤 차이점이 있을까요? 1 Feature Engineering Feature Engineering을 우리말로 번역하면 '특징 공학'이라고 할 수 있습니다. Feature라는 것이 일반적으로 학습할 때 사용할 데이터 중 독립변수(X)에 해당하는 데이터를 의미하죠? Feature Engineering은 주어진 Feature를 변형하여 타겟(종속변수, Y)값을 더 잘 설명할 수 있도록 변환하는 것이 목표입니다. Feature가 의미가 있으려면 Feature(X)는 모델의 Target(Y)과 올바른 관계가 형성되어야합니다. 예를 들어 선형모델의 경우, 종속변수와 독립변수간의 선형 관..

[데이터 전처리 07] - 데이터의 누수"Data Leakage"를 바로 잡자!

안녕하세요. 데이터 요리사, 루나입니다. 데이터 누수(Data leakage) 현상은 학습모델에 성능을 높이기 위해서 며칠 밤샘하다가 이것저것하다가 저지르기 쉬운 현상 중 하나입니다. 모델의 성능이 갑자기 너무 좋아졌다? 한번에? 갑자기? 이래도 되는거야? 데이터 누수를 한 번 의심해보세요. 데이터 누수를 막기 위해서는 대단한 수식이 적용된 전처리기법을 적용해야하는 것도 아니고, 닭이 먼저냐 데이터의 인과관계를 깊이있게 고민하는 과정이 필요합니다. 1 예제로 이해하기(1)! - Target leakage 캐글의 유명한 대회중 하나인 Bike sharing demand의 데이터를 예로 들어볼께요. 이 대회는 워싱턴 DC의 Capital Bikeshare 프로그램에서 사용할 자전거 대여 수요량을 얼마나 잘 ..

[데이터 전처리 05] - 데이터는 그냥 합칠 수 있는게 아니다, "데이터 통합" 제대로 정리하기

안녕하세요. 데이터 요리사, 루나입니다. 데이터 분석은 다양한 기관에서 수집한 데이터를 하나로 모아서 진행하기도 하고, 동일 기관이라도 여러 개의 파일, 테이블로 나누어서 관리하기 때문에 다양한 소스에 존재하는 데이터를 합치는 작업이 필요합니다. 데이터는 어떻게 합칠 수 있을까요? 데이터 통합에 대해서 알아봅시다. 1 데이터 병합(merge)과 조인(join) 데이터를 통합하는 방법은 크게 병합(merge)하는 방법과 조인(join)의 방법이 있습니다. 먼저 병합과 조인이 어떤 식으로 데이터를 합치는지 정리해볼께요. 1) 데이터 병합 여러 개의 데이터 파일이 있는 경우, column(열)을 결합 하거나 row(행)을 결합하는 작업 기업의 상반기 데이터 A와 하반기 데이터 B가 다른 파일에 저장된 경우, ..

[데이터 전처리 04] - 데이터가 너무 많아 분석하기 힘들다면? "데이터 축소"

안녕하세요. 데이터 요리사, 루나입니다. 데이터는 많으면 많을 수록 좋은거 아닌가요? 빅데이터가 있어야 좋은 성능을 낼 수 있다던데, 데이터 축소가 왠말인가요? 1 개념 잡기 일반적으로 데이터가 부족해서 데이터 분석이 제대로 안되는 경우가 많은 것은 사실이에요. 그렇다고 데이터 양이 너무 많으면요, 방대한 양의 데이터를 분석하기 위해서는 많은 시간이 소요될 뿐만 아니라 실용적이지 못하거나 분석이 불가능할 수도 있습니다. 우리 글을 쓸 때도, 말을 할 때도 마찬가지자나요. 주절주절 똑같은 말을 늘어놓는 것보다는 핵심만 간단히 하는 것이 훨씬 더 효과적인 것처럼요. 데이터도 역시 원본 데이터가 가지고 있는 의미는 최대한 보존하면서 축소된 데이터 셋을 만드는 과정이 필요합니다. 이렇게 함으로써 데이터 저장과 ..

쉽지만 실수하기 쉬운 데이터 분할! - 예비법, 교차검증, 부트스트랩까지 완벽 정리

안녕하세요. 데이터 요리사, 루나입니다. 머신러닝에서 데이터는 자산입니다. 머신러닝 알고리즘 개발자는 자산을 운용하는 사람이 되겠네요. :) 데이터가 많다많다 하지만 실제로 데이터 분석할 때 보면 데이터가 한 없이 부족합니다. 아니 쓸만한 데이터는 부족합니다. ㅠㅠ 그렇기 때문에 데이터 분할은 정말 계획적으로 잘~ 해야하는데요. 우선 개념부터 정리해보겠습니다. 1 학습용 데이터 vs 테스트용 데이터 그리고 검증용 데이터 우리가 가지고 있는 데이터가 100이라면 보통 70~80%는 학습과정에서 사용하고, 나머지는 모델을 평가하는데 사용합니다. 학습과정에서 사용하는 데이터를 학습용 데이터(Training set), 평가 과정에서 사용하는 데이터를 테스트용 데이터(Test set)이라고 합니다. 머신러닝을 시..

[데이터 전처리 02] - 머신러닝에서 가장 중요한(?) 데이터 전처리(2) - 이상치(Outlier) 처리

안녕하세요. 데이터 요리사, 루나입니다. 수집한 데이터가 비어있는(결측치) 경우도 있는가 하면, 말도 안되는 이상한 값이 들어있는 경우도 있죠. 겨울철의 기온값이 40도가 넘는 값이 들어있다던지, 매출값이 비정상적으로 튀는 금액이 들어있다던지요. 이상치도 결측치와 마찬가지로 값을 삭제하거나 치환하여 데이터 분석에 유의미한 결과를 도출 할 수 있도록 전처리를 해주어야합니다. 하지만 결측치의 경우는 값이 비어있어서 찾는 방법이 수월했던 반면, 이상치는 값이 엉뚱한 값으로 채워져있어서 찾아내는 것이 쉽지 않습니다. 해당 도메인에 대한 지식이 있다면 쉽게 임계값(threshold)을 기준으로 처리해줄 수도 있겠지만, 그렇지 않은 경우에는 난감하죠. 이상치(Outlier)를 판단하는 방법에 대해서 정리해보겠습니다..

[데이터 전처리 01] - 머신러닝에서 가장 중요한(?) 데이터 전처리, 결측치 처리

안녕하세요. 데이터 요리사, 루나 입니다. 머신러닝은 인간이 한땀한땀 정리해준 수많은 데이터를 학습하기 때문에 학습시 사용하는 데이터가 얼마나 잘 가공되어있느냐에 따라 성능의 차이가 천차만별로 다를 수 있습니다. 데이터가 아무리 많이 수집되어있더라도 똥같은 데이터를 입력하면 똥같은 결과가 나올 수 밖에 없으니까요. 데이터 전처리과정에서 해야할 일은 어떤 데이터를 사용하느냐, 어떤 모델을 사용할 것이냐에 따라 다양합니다. 이미지일 수도 있고, 텍스트일 수도 있고, 수치형 데이터일 수도 있구요. 이번 글에서는 데이터 전처리 과정 중 '결측치 처리 방법'에 대해서 정리해보겠습니다. 1 결측치 처리란? 결측치라고 하는 것은 '데이터가 없다'는 것입니다. 일반적인 프로그래밍을 작성할 때 null 값을 참조하게 되..

[통계 기초 정리] - 데이터 분석을 할 때 꼭 알아야하는 통계 개념'만' 정리

안녕하세요. 데이터 요리사, 루나입니다. 데이터 분석을 할 때 자주 등장하는 통계용어에 대해 정리해보았습니다. ('파이썬으로 배우는 통계학 교과서(한빛미디어)'를 참조하여 내용을 정리했습니다. 자세한 설명은 포함되어있지 않습니다.) 1 통계를 알아야하는 이유? 통계란 무엇인가? 표본(현재 가지고 있는 데이터)을 분석해서 모집단(아직 가지고 있지 않은 데이터)을 이해하는 활동 가지고 있는 데이터를 설명: 데이터를 정리 요약(평균값 등) → 기술통계 모르는 데이터의 예측과 추측: 과거의 데이터를 분석하여 미래의 데이터를 예측(예: 판매량 예측) → 추측통계 2 표본(=샘플, Sample)을 얻는 과정 샘플링(표본추출): 모집단(호수 안에 살고 있는 모든 물고기)에서 표본(잡은 물고기)을 얻는 활동 (단순) ..

LIST