데이터 전처리: 데이터 준비의 핵심 탐색 — SitePoint
이 기사에서는 데이터 전처리가 무엇인지, 왜 중요한지, 데이터를 정리, 변환, 통합 및 축소하는 방법을 살펴보겠습니다.
데이터 전처리 데이터 분석과 머신러닝의 기본 단계입니다. 이는 데이터 기반 노력의 성공을 위한 발판을 마련하는 복잡한 프로세스입니다.
기본적으로 데이터 전처리에는 정제되지 않은 원시 데이터를 통찰력 있는 분석 및 모델링에 적합한 구조화되고 일관된 형식으로 변환하는 다양한 기술이 포함됩니다.
이 중요한 준비 단계는 데이터에서 귀중한 지식과 지혜를 추출하고 다양한 영역에 걸쳐 의사 결정 및 예측 모델링을 지원하기 위한 중추입니다.
데이터 전처리의 필요성은 실제 데이터에 내재된 불완전성과 복잡성으로 인해 발생합니다. 다양한 소스에서 획득되는 경우가 많은 원시 데이터는 누락된 값, 이상치, 불일치 및 노이즈로 가득 차 있는 경향이 있습니다. 이러한 결함은 분석 프로세스를 방해하여 도출된 결론의 신뢰성과 정확성을 위험에 빠뜨릴 수 있습니다. 더욱이, 다양한 채널에서 수집된 데이터는 규모, 단위, 형식이 다양할 수 있으므로 직접적인 비교가 어렵고 오해의 소지가 있을 수 있습니다.
데이터 전처리에는 일반적으로 데이터 정리, 데이터 변환, 데이터 통합 및 데이터 축소를 포함한 여러 단계가 포함됩니다. 아래에서 이들 각각을 차례로 살펴보겠습니다.
데이터 정리 데이터의 오류, 불일치, 부정확성을 식별하고 수정하는 작업이 포함됩니다. 데이터 정리에 사용되는 일부 표준 기술은 다음과 같습니다.
이러한 각 데이터 정리 기술을 차례로 논의해 보겠습니다.
누락된 값을 처리하는 것은 데이터 전처리의 필수적인 부분입니다. 누락된 데이터가 있는 관찰은 이 기법으로 처리됩니다. 결측값을 처리하는 세 가지 표준 방법, 즉 결측값이 있는 관찰(행) 제거, 통계 도구를 사용하여 결측값 대치, 기계 학습 알고리즘을 사용하여 결측값 대치에 대해 논의하겠습니다.
사용자 정의 데이터 세트를 사용하여 각 기술을 시연하고 각 방법의 출력을 설명하며 누락된 값을 개별적으로 처리하는 모든 기술을 논의합니다.
누락된 값을 처리하는 가장 간단한 방법은 누락된 값이 있는 행을 삭제하는 것입니다. 이 방법은 필수 데이터가 포함된 행을 제거하여 데이터 세트에 영향을 미칠 수 있으므로 일반적으로 권장되지 않습니다.
예제를 통해 이 방법을 이해해 봅시다. 연령, 소득, 교육 데이터로 맞춤형 데이터 세트를 만듭니다. 일부 값을 NaN(숫자 아님)으로 설정하여 누락된 값을 도입합니다. NaN은 유효하지 않거나 정의되지 않은 결과를 나타내는 특수 부동 소수점 값입니다. NaN을 사용한 관찰은 Pandas 라이브러리의 dropna() 함수를 사용하여 삭제됩니다.
위 코드의 출력은 다음과 같습니다. 출력은 테두리가 있는 테이블 형식으로 생성되지 않습니다. 아래와 같이 출력을 더 쉽게 해석할 수 있도록 이 형식으로 제공하고 있습니다.
원본 데이터 세트
정리된 데이터 세트
누락된 값이 있는 관측치는 정리된 데이터세트에서 제거되므로 누락된 값이 없는 관측치만 유지됩니다. 정리된 데이터 세트에는 행 0과 4만 있음을 알 수 있습니다.
누락된 값이 있는 행이나 열을 삭제하면 데이터 세트의 관측치 수가 크게 줄어들 수 있습니다. 이는 기계 학습 모델의 정확성과 일반화에 영향을 미칠 수 있습니다. 따라서 이 접근 방식은 데이터 세트가 충분히 크거나 누락된 값이 분석에 필수적이지 않은 경우에만 주의해서 사용해야 합니다.
이는 이전 데이터에 비해 누락된 데이터를 처리하는 더 정교한 방법입니다. 누락된 값을 평균, 중앙값, 모드 또는 상수 값과 같은 일부 통계로 대체합니다.
이번에는 일부 누락된(NaN) 값이 포함된 연령, 소득, 성별, 결혼 상태 데이터가 포함된 사용자 지정 데이터 세트를 만듭니다. 그런 다음 Pandas 라이브러리의 fillna() 함수를 사용하여 누락된 값을 중앙값으로 대치합니다.