데이터 전처리란 무엇입니까? 올바르게 하기 위한 4가지 중요한 단계
게시 됨: 2021-08-06실제 데이터는 대부분의 경우 불완전하고 시끄럽고 일관성이 없습니다.
기하급수적으로 증가하는 데이터 생성과 이기종 데이터 소스의 수가 증가함에 따라 비정상적이거나 잘못된 데이터를 수집할 확률이 상당히 높습니다.
그러나 고품질 데이터만이 정확한 모델과 궁극적으로 정확한 예측으로 이어질 수 있습니다. 따라서 최상의 품질을 위해 데이터를 처리하는 것이 중요합니다. 데이터를 처리하는 이 단계를 데이터 전처리 라고 하며 데이터 과학의 필수 단계 중 하나입니다. 머신러닝, 인공지능.
데이터 전처리란 무엇입니까?
데이터 전처리 는 원시 데이터를 유용하고 이해하기 쉬운 형식으로 변환하는 프로세스입니다. 실제 데이터 또는 원시 데이터는 일반적으로 형식이 일관되지 않고 인적 오류가 있으며 불완전할 수도 있습니다. 데이터 전처리는 이러한 문제를 해결하고 데이터 분석을 수행하기 위해 데이터세트를 보다 완전하고 효율적으로 만듭니다.
이는 데이터 마이닝 및 기계 학습 프로젝트의 성공에 영향을 미칠 수 있는 중요한 프로세스입니다. 데이터 세트에서 지식을 더 빨리 발견하고 궁극적으로 기계 학습 모델의 성능에 영향을 줄 수 있습니다.
45%
데이터 과학자의 시간 중 데이터 준비 작업에 소요됩니다.
출처: 데이터나미
즉, 데이터 전처리는 데이터를 컴퓨터가 쉽게 작업할 수 있는 형태로 변환하는 것입니다. 데이터 분석 또는 시각화를 더 쉽게 만들고 데이터를 학습하는 기계 학습 알고리즘의 정확도와 속도를 높입니다.
데이터 전처리가 필요한 이유는 무엇입니까?
아시다시피 데이터베이스는 데이터 포인트의 모음입니다. 데이터 포인트는 관찰, 데이터 샘플, 이벤트 및 레코드라고도 합니다.
각 샘플은 기능 또는 속성 이라고도 하는 서로 다른 특성을 사용하여 설명됩니다. 데이터 전처리는 이러한 기능으로 모델을 효과적으로 구축하는 데 필수적입니다.
데이터를 수집하는 동안 많은 문제가 발생할 수 있습니다. 다른 데이터 소스의 데이터를 집계해야 하므로 정수 및 부동 소수점과 같은 데이터 형식이 일치하지 않을 수 있습니다.
팁: 자동화 기능을 사용하십시오. 기계 학습 소프트웨어 그리고 그 지루한 작업에 작별을 고하십시오.
둘 이상의 독립적인 데이터 세트에서 데이터를 집계하는 경우 성별 필드는 남성에 대해 남성과 남성이라는 두 가지 다른 값을 가질 수 있습니다. 마찬가지로 10개의 서로 다른 데이터 세트에서 데이터를 집계하는 경우 그 중 8개에 있는 필드가 나머지 2개에서는 누락될 수 있습니다.
데이터를 사전 처리하여 더 쉽게 해석하고 사용할 수 있습니다. 이 프로세스는 모델의 정확도에 부정적인 영향을 줄 수 있는 데이터의 불일치 또는 중복을 제거합니다. 데이터 전처리는 또한 사람의 실수나 버그로 인해 올바르지 않거나 누락된 값이 없는지 확인합니다. 요컨대, 데이터 전처리 기술을 사용하면 데이터베이스가 더 완전하고 정확해집니다.
품질 데이터의 특성
기계 학습 알고리즘의 경우 품질보다 중요한 것은 없습니다. 훈련 데이터. 데이터의 관련성, 대표성 및 포괄적인 성능 또는 정확도는 데이터의 관련성 여부에 따라 달라집니다.
데이터가 전처리되는 방식을 살펴보기 전에 데이터 품질에 기여하는 몇 가지 요소를 살펴보겠습니다.
- 정확성: 이름에서 알 수 있듯이 정확성은 정보가 정확함을 의미합니다. 오래된 정보, 오타 및 중복은 데이터 세트의 정확도에 영향을 줄 수 있습니다.
- 일관성: 데이터에 모순이 없어야 합니다. 일치하지 않는 데이터는 동일한 질문에 대해 다른 답변을 제공할 수 있습니다.
- 완전성: 데이터 세트에는 불완전한 필드가 있거나 빈 필드가 없어야 합니다. 이 특성을 통해 데이터 과학자는 데이터가 설명하는 상황에 대한 완전한 그림에 액세스할 수 있으므로 정확한 분석을 수행할 수 있습니다.
- 유효성: 데이터 샘플이 올바른 형식으로 표시되고 지정된 범위 내에 있으며 올바른 유형인 경우 데이터 세트가 유효한 것으로 간주됩니다. 유효하지 않은 데이터 세트는 구성 및 분석하기 어렵습니다.
- 적시성: 데이터가 나타내는 이벤트가 발생하는 즉시 데이터를 수집해야 합니다. 시간이 지남에 따라 모든 데이터 세트는 현재 현실을 나타내지 않기 때문에 정확도와 유용성이 떨어집니다. 따라서 데이터의 주제성과 관련성은 중요한 데이터 품질 특성입니다.
데이터 전처리의 4단계
기계 학습 모델의 경우 데이터는 사료입니다.
불완전한 훈련 세트는 편견과 같은 의도하지 않은 결과로 이어져 특정 그룹의 사람들에게 불공정한 이점이나 불이익을 줄 수 있습니다. 불완전하거나 일관성 없는 데이터는 데이터 마이닝 프로젝트의 결과에도 부정적인 영향을 미칠 수 있습니다. 이러한 문제를 해결하기 위해 데이터 전처리 과정을 사용합니다.
데이터 처리에는 정리, 통합, 축소 및 변환의 4단계가 있습니다.
1. 데이터 정리
데이터 정리 또는 정리는 누락된 값을 설명하고, 이상값을 제거하고, 일치하지 않는 데이터 요소를 수정하고, 잡음이 있는 데이터를 평활화하여 데이터 세트를 정리하는 프로세스입니다. 본질적으로 데이터 정리의 동기는 기계 학습 모델에 대한 완전하고 정확한 샘플을 제공하는 것입니다.
데이터 정리에 사용되는 기술은 데이터 과학자의 선호도와 해결하려는 문제에 따라 다릅니다. 다음은 데이터 정리 및 관련된 기술 중에 해결되는 문제를 간략하게 살펴봅니다.
누락된 값
데이터 값이 누락되는 문제는 매우 일반적입니다. 데이터 수집 중 또는 특정 데이터 유효성 검사 규칙으로 인해 발생할 수 있습니다. 이러한 경우 추가 데이터 샘플을 수집하거나 추가 데이터 세트를 찾아야 합니다.
결측값 문제는 두 개 이상의 데이터세트를 연결하여 더 큰 데이터세트를 구성할 때도 발생할 수 있습니다. 두 데이터 세트에 모든 필드가 없는 경우 병합하기 전에 해당 필드를 삭제하는 것이 좋습니다.
다음은 누락된 데이터를 설명하는 몇 가지 방법입니다.
- 누락된 값을 수동으로 채우십시오. 이는 지루하고 시간이 많이 소요되는 접근 방식일 수 있으며 대규모 데이터 세트에는 권장되지 않습니다.
- 누락된 데이터 값을 대체하려면 표준 값을 사용하십시오. "알 수 없음" 또는 "해당 없음"과 같은 전역 상수를 사용하여 누락된 값을 대체할 수 있습니다. 간단한 접근 방식이지만 완벽하지는 않습니다.
- 누락된 값을 가장 가능성 있는 값으로 채웁니다. 가능한 값을 예측하기 위해 다음과 같은 알고리즘을 사용할 수 있습니다. 로지스틱 회귀 또는 의사결정나무.
- 중심 경향을 사용하여 결측값을 대체합니다. 중심 경향은 값이 평균, 모드 또는 중앙값을 중심으로 클러스터링하는 경향입니다.
데이터베이스의 행 또는 열에 대한 값의 50%가 누락된 경우 위의 방법을 사용하여 값을 채울 수 없는 경우 전체 행 또는 열을 삭제하는 것이 좋습니다.
시끄러운 데이터
많은 양의 무의미한 데이터를 노이즈 라고 합니다. 보다 정확하게는 측정된 변수 또는 잘못된 속성 값을 가진 데이터의 무작위 분산입니다. 노이즈에는 데이터 포인트의 중복 또는 반중복, 특정 연구 프로세스에 가치가 없는 데이터 세그먼트 또는 원치 않는 정보 필드가 포함됩니다.
예를 들어, 사람이 운전할 수 있는지 여부를 예측해야 하는 경우 머리색, 키 또는 체중에 대한 정보는 관련이 없습니다.
일부에서는 유효한 데이터 포인트로 간주하지만 이상치는 노이즈로 처리될 수 있습니다. 사진에서 거북이를 감지하는 알고리즘을 훈련한다고 가정합니다. 이미지 데이터 세트에는 거북이로 잘못 표시된 거북이 이미지가 포함될 수 있습니다. 이것은 소음으로 간주될 수 있습니다.
그러나 거북이보다 거북이처럼 보이는 거북이 이미지가 있을 수 있습니다. 해당 샘플은 이상치로 간주될 수 있으며 반드시 노이즈는 아닙니다. 거북이를 감지하는 가능한 모든 방법을 알고리즘에 가르치고 싶기 때문에 그룹에서 벗어나는 것이 필수적이기 때문입니다.
숫자 값의 경우 산점도 또는 상자 그림을 사용하여 이상값을 식별할 수 있습니다.
다음은 노이즈 문제를 해결하는 데 사용되는 몇 가지 방법입니다.
- 회귀: 회귀 분석은 영향을 미치는 변수를 결정하는 데 도움이 될 수 있습니다. 이렇게 하면 많은 양의 데이터를 분석하는 대신 필수 기능만 사용하여 작업할 수 있습니다. 선형 회귀와 다중 선형 회귀를 모두 데이터 평활화에 사용할 수 있습니다.
- Binning: Binning 방법은 정렬된 데이터 수집에 사용할 수 있습니다. 주변의 값을 살펴봄으로써 정렬된 값을 부드럽게 합니다. 그런 다음 정렬된 값을 "빈"으로 나눕니다. 이는 데이터를 동일한 크기의 더 작은 세그먼트로 정렬하는 것을 의미합니다. Bin 평균에 의한 평활화와 Bin 중앙값에 의한 평활화를 포함하여 다양한 비닝 기술이 있습니다.
- 클러스터링: k-means 클러스터링과 같은 클러스터링 알고리즘을 사용하여 데이터를 그룹화하고 프로세스에서 이상값을 감지할 수 있습니다.
2. 데이터 통합
데이터는 다양한 소스에서 수집되기 때문에 데이터 통합 은 데이터 준비의 중요한 부분입니다. 통합으로 인해 일관성이 없고 중복되는 데이터 포인트가 여러 개 생겨 궁극적으로 정확도가 떨어지는 모델이 생성될 수 있습니다.

다음은 데이터를 통합하는 몇 가지 접근 방식입니다.
- 데이터 통합: 데이터가 물리적으로 결합되어 한 곳에 저장됩니다. 모든 데이터를 한 곳에 보관하면 효율성과 생산성이 향상됩니다. 이 단계에서는 일반적으로 다음을 사용합니다. 데이터 웨어하우스 소프트웨어.
- 데이터 가상화: 이 접근 방식에서 인터페이스는 여러 소스의 데이터에 대한 통합된 실시간 보기를 제공합니다. 즉, 데이터는 단일 관점에서 볼 수 있습니다.
- 데이터 전파: 특정 응용 프로그램의 도움으로 한 위치에서 다른 위치로 데이터를 복사하는 작업이 포함됩니다. 이 프로세스는 동기식 또는 비동기식일 수 있으며 일반적으로 이벤트 기반입니다.
3. 데이터 축소
이름에서 알 수 있듯이 데이터 축소 는 데이터의 양을 줄여 데이터 마이닝 또는 데이터 분석과 관련된 비용을 줄이는 데 사용됩니다.
데이터 세트의 압축된 표현을 제공합니다. 이 단계를 수행하면 볼륨이 줄어들지만 원본 데이터의 무결성은 유지됩니다. 이 데이터 전처리 단계는 관련된 데이터의 양이 엄청나기 때문에 빅 데이터로 작업할 때 특히 중요합니다.
다음은 데이터 축소에 사용되는 몇 가지 기술입니다.
차원 축소
차원 축소 라고도 하는 차원 축소는 데이터세트의 기능 또는 입력 변수 수를 줄입니다.
데이터 세트의 기능 또는 입력 변수의 수를 차원이라고 합니다. 기능 수가 많을수록 훈련 데이터 세트를 시각화하고 예측 모델을 만드는 것이 더 복잡합니다.
경우에 따라 이러한 속성의 대부분은 상관 관계가 있으므로 중복됩니다. 따라서 차원 축소 알고리즘을 사용하여 확률 변수의 수를 줄이고 주요 변수 집합을 얻을 수 있습니다.
차원 축소에는 특징 선택과 특징 추출이라는 두 가지 세그먼트가 있습니다.
기능 선택 에서 원래 기능 세트의 하위 집합을 찾으려고 합니다. 이를 통해 데이터 모델링을 사용하여 문제를 시각화하는 데 사용할 수 있는 더 작은 하위 집합을 얻을 수 있습니다. 반면에 특징 추출 은 고차원 공간의 데이터를 저차원 공간, 즉 차원 수가 적은 공간으로 축소합니다.
다음은 차원 축소를 수행하는 몇 가지 방법입니다.
- 주성분 분석(PCA): 많은 변수 집합에서 새로운 변수 집합을 추출하는 데 사용되는 통계 기법입니다. 새로 추출된 변수를 주성분이라고 합니다. 이 방법은 숫자 값이 있는 기능에만 작동합니다.
- 고상관 필터: 고상관 특징을 찾아 제거하는 데 사용되는 기술. 그렇지 않으면 상관관계가 높은 한 쌍의 변수가 데이터세트의 다중공선성을 증가시킬 수 있습니다.
- 결측값 비율: 이 방법은 지정된 임계값보다 큰 결측값이 있는 속성을 제거합니다.
- 낮은 분산 필터: 데이터의 사소한 변경이 더 적은 정보로 변환됨에 따라 임계값보다 작은 분산을 갖는 정규화된 속성을 제거하는 것과 관련됩니다.
- 랜덤 포레스트: 이 기술은 데이터 세트에서 각 기능의 중요도를 평가하는 데 사용되어 가장 중요한 기능만 유지할 수 있습니다.
다른 차원 축소 기술에는 요인 분석, 독립 구성 요소 분석 및 선형 판별 분석(LDA)이 포함됩니다.
기능 하위 집합 선택
기능 하위 집합 선택 은 가장 많이 기여하거나 가장 중요한 기능 또는 속성의 하위 집합을 선택하는 프로세스입니다.
비슷한 학생의 과거 데이터를 보고 학생의 합격 또는 불합격 여부를 예측한다고 가정해 보겠습니다. 롤 번호, 총 점수, 학습 시간 및 과외 활동의 네 가지 기능이 있는 데이터 세트가 있습니다.
이 경우, 명부 번호는 학생의 수행에 영향을 미치지 않으며 제거될 수 있습니다. 새 하위 집합에는 세 가지 기능만 있으며 원래 집합보다 더 효율적입니다.
이 데이터 감소 접근 방식은 더 빠르고 비용 효율적인 기계 학습 모델을 만드는 데 도움이 될 수 있습니다. 속성 하위 집합 선택은 데이터 변환 단계에서도 수행할 수 있습니다.
숫자 감소
숫자 감소 는 원본 데이터를 더 작은 형태의 데이터 표현으로 바꾸는 프로세스입니다. 이를 수행하는 방법에는 매개변수 및 비모수 방법의 두 가지가 있습니다.
매개변수 방법 은 데이터 표현을 위해 모델을 사용합니다. 로그 선형 및 회귀 방법은 이러한 모델을 만드는 데 사용됩니다. 대조적으로, 비모수적 방법 은 클러스터링, 히스토그램, 데이터 큐브 집계 및 데이터 샘플링을 사용하여 축소된 데이터 표현을 저장합니다.
4. 데이터 변환
데이터 변환 은 데이터를 한 형식에서 다른 형식으로 변환하는 프로세스입니다. 본질적으로 데이터를 컴퓨터가 효율적으로 학습할 수 있는 적절한 형식으로 변환하는 방법이 포함됩니다.
예를 들어 속도 단위는 시간당 마일, 초당 미터 또는 시간당 킬로미터가 될 수 있습니다. 따라서 데이터 세트는 자동차 속도 값을 다른 단위로 저장할 수 있습니다. 이 데이터를 알고리즘에 제공하기 전에 데이터를 동일한 단위로 변환해야 합니다.
다음은 데이터 변환을 위한 몇 가지 전략입니다.
스무딩
이 통계적 접근 방식은 알고리즘을 사용하여 데이터에서 노이즈를 제거하는 데 사용됩니다. 데이터 세트에서 가장 중요한 기능을 강조 표시하고 패턴을 예측하는 데 도움이 됩니다. 또한 패턴을 더 잘 보이게 하기 위해 데이터 세트에서 이상값을 제거하는 작업도 포함됩니다.
집합
집계는 여러 소스의 데이터를 풀링하여 데이터 마이닝 또는 분석을 위해 통합 형식으로 표시하는 것을 말합니다. 다양한 소스의 데이터를 집계하여 데이터 포인트 수를 늘리는 것은 ML 모델에 학습할 수 있는 충분한 예가 있기 때문에 필수적입니다.
이산화
이산화에는 연속 데이터를 더 작은 간격 집합으로 변환하는 작업이 포함됩니다. 예를 들어 연속 연령 값을 사용하는 것보다 "청소년", "청소년", "중년" 또는 "노인"과 같은 범주에 사람을 배치하는 것이 더 효율적입니다.
일반화
일반화에는 낮은 수준의 데이터 기능을 높은 수준의 데이터 기능으로 변환하는 작업이 포함됩니다. 예를 들어 집 주소와 같은 범주 속성은 도시 또는 주와 같은 상위 수준 정의로 일반화될 수 있습니다.
표준화
정규화는 모든 데이터 변수를 특정 범위로 변환하는 프로세스를 말합니다. 다시 말해, 속성 값이 더 작은 범위(예: 0에서 1)에 속하도록 속성 값을 조정하는 데 사용됩니다. 십진법 스케일링, 최소-최대 정규화 및 z-점수 정규화는 데이터 정규화의 일부 방법입니다.
기능 구성
기능 구성에는 주어진 기능 세트에서 새로운 기능을 구성하는 작업이 포함됩니다. 이 방법을 사용하면 원본 데이터 세트를 단순화하고 데이터를 더 쉽게 분석, 마이닝 또는 시각화할 수 있습니다.
개념 계층 생성
개념 계층 생성을 사용하면 지정되지는 않았지만 기능 간에 계층을 생성할 수 있습니다. 예를 들어 거리, 도시, 주 및 국가에 대한 데이터가 포함된 집 주소 데이터셋이 있는 경우 이 방법을 사용하여 데이터를 계층적 형식으로 구성할 수 있습니다.
정확한 데이터, 정확한 결과
머신 러닝 알고리즘은 아이들과 같습니다. 그들은 무엇이 유리하고 불리한지 거의 또는 전혀 이해하지 못합니다. 아이들이 어른들에게서 얻은 저속한 언어를 반복하기 시작하는 것처럼 부정확하거나 일관성이 없는 데이터는 ML 모델에 쉽게 영향을 미칩니다. 핵심은 데이터 전처리가 필수적인 단계인 고품질의 정확한 데이터를 제공하는 것입니다.
기계 학습 알고리즘은 일반적으로 열심히 일하는 사람이라고 합니다. 그러나 종종 게으른 것으로 분류되는 알고리즘이 있습니다. k-최근접이웃 알고리즘이라고 하는 우수한 분류 알고리즘입니다.