데이터 정리 기법: 데이터를 정리하는 간단하고 효과적인 방법 알아보기
게시 됨: 2020-01-26데이터 정리는 데이터 과학의 필수적인 부분입니다. 불순한 데이터로 작업하는 것은 많은 어려움을 초래할 수 있습니다. 그리고 오늘, 우리는 같은 것에 대해 논의할 것입니다.
데이터 정리가 필수적인 이유, 데이터 품질에 영향을 미치는 요인, 보유한 데이터를 정리하는 방법을 알게 됩니다. 자세한 가이드이므로 나중에 참조할 수 있도록 북마크에 추가하세요.
시작하자.
목차
데이터 정리가 필요한 이유
데이터 정리는 지루하고 재미없어 보일 수 있지만 데이터 과학 전문가로서 해야 할 가장 중요한 작업 중 하나입니다. 잘못되거나 나쁜 품질의 데이터가 있으면 프로세스와 분석에 해로울 수 있습니다. 열악한 데이터로 인해 뛰어난 알고리즘이 실패할 수 있습니다.
반면에 고품질 데이터는 간단한 알고리즘으로 인해 뛰어난 결과를 얻을 수 있습니다. 데이터 정리 기술에는 여러 가지가 있으며 데이터 품질을 향상시키려면 익숙해져야 합니다. 모든 데이터가 유용한 것은 아닙니다. 데이터 품질에 영향을 미치는 또 다른 주요 요소입니다.
읽기: R의 클러스터 분석
예를 들어 회사에 직원 주소 목록이 있다고 가정합니다. 이제 데이터에 클라이언트의 주소가 몇 개 포함되어 있으면 목록이 손상되지 않을까요? 그리고 목록을 분석하려는 노력이 헛되지 않을까요? 이 데이터 기반 시장에서는 비즈니스 의사 결정을 개선하기 위해 데이터 과학을 배우는 것이 중요합니다.
데이터 정리가 필수적인 데는 여러 가지 이유가 있습니다. 그 중 일부는 다음과 같습니다.
능률
잘못된 데이터와 일관성 없는 값이 없는 깨끗한 데이터를 사용하면 분석을 훨씬 빠르게 수행하는 데 도움이 될 수 있습니다. 이 작업을 미리 수행하면 상당한 시간을 절약할 수 있습니다. 데이터를 사용하기 전에 정리하면 여러 오류를 피할 수 있습니다. 거짓 값이 포함된 데이터를 사용하면 결과가 정확하지 않습니다.
또한 전체 작업을 다시 수행해야 하므로 많은 시간이 낭비될 수 있습니다. 데이터를 사용하기 전에 정리하도록 선택하면 더 빠르게 결과를 생성하고 전체 작업을 다시 실행하지 않아도 됩니다.
오차 여백
분석에 정확한 데이터를 사용하지 않으면 반드시 실수를 하게 됩니다. 특정 데이터 세트 그룹을 분석하는 데 많은 노력과 시간을 투자했다고 가정해 보겠습니다. 당신은 상사에게 결과를 보여주고 싶어하지만 회의에서 상사는 상황이 창피하고 고통스러운 몇 가지 실수를 지적합니다.
그런 실수를 하지 않으려면? 그들은 당혹감을 유발할 뿐만 아니라 자원을 낭비하기도 합니다. 데이터 정리는 널리 퍼진 관행이며 데이터 정리에 사용되는 방법을 배워야 한다는 점에서 도움이 됩니다.
깨끗한 데이터에 간단한 알고리즘을 사용하는 것이 깨끗하지 않은 데이터에 고급 알고리즘을 사용하는 것보다 훨씬 낫습니다.
데이터 품질 결정
데이터가 유효한가요? (타당성)
데이터의 유효성은 특정 요구 사항의 규칙을 따르는 정도입니다. 예를 들어 다른 고객의 전화번호를 가져오는 방법을 사용하지만 데이터에 이메일 주소를 추가한 곳도 있습니다. 이제 전화 번호에 대한 요구 사항이 명시적이었으므로 이메일 주소는 유효하지 않습니다.
유효성 오류는 입력 방법이 제대로 검사되지 않을 때 발생합니다. 데이터 수집을 위해 스프레드시트를 사용할 수 있습니다. 스프레드시트의 셀에 잘못된 정보를 입력할 수도 있습니다.
데이터가 유효하기 위해 따라야 하는 여러 종류의 제약 조건 이 있습니다. 여기 있습니다:
범위:
일부 유형의 숫자는 특정 범위에 있어야 합니다. 예를 들어 하루에 운송할 수 있는 제품의 수에는 최소값과 최대값이 있어야 합니다. 데이터에 대한 특정 범위가 분명히 있을 것입니다. 시작점과 끝점이 있을 것입니다.
데이터 형식:
일부 데이터 셀에는 숫자, 부울 등과 같은 특정 종류의 데이터가 필요할 수 있습니다. 예를 들어 부울 섹션에서는 숫자 값을 추가하지 않습니다.
강제적 제약:
모든 시나리오에는 데이터가 따라야 하는 몇 가지 필수 제약 조건이 있습니다. 필수 제한 사항은 특정 요구 사항에 따라 다릅니다. 확실히 데이터의 특정 열이 비어 있으면 안 됩니다. 예를 들어 고객 이름 목록에서 '이름' 열은 비워둘 수 없습니다.
교차 필드 검사:
특정 형식의 여러 데이터 필드에 영향을 주는 특정 조건이 있습니다. 항공편의 출발 시간이 도착 시간보다 빠를 수 없다고 가정합니다. 대차 대조표에서 고객의 차변과 대변의 합계는 동일해야 합니다. 다를 수 없습니다.
이러한 값은 서로 관련되어 있으므로 교차 필드 검사를 수행해야 할 수 있습니다.
고유 요구 사항:
특정 유형의 데이터에는 고유한 제한이 있습니다. 두 명의 고객이 동일한 고객 지원 티켓을 가질 수 없습니다. 이러한 종류의 데이터는 특정 필드에 고유해야 하며 여러 필드에서 공유할 수 없습니다.
Set-Membership 제한:
일부 값은 특정 집합으로 제한됩니다. 마찬가지로 성별은 남성, 여성 또는 알 수 없음일 수 있습니다.
규칙적인 패턴:
일부 데이터는 특정 형식을 따릅니다. 예를 들어 이메일 주소의 형식은 '[email protected]'입니다. 마찬가지로 전화번호는 10자리입니다.
데이터가 필요한 형식이 아닌 경우에도 유효하지 않습니다.
사람이 이메일 주소를 입력할 때 '@'를 생략하면 이메일 주소가 무효가 되는 것 아닙니까? 데이터의 유효성을 확인하는 것은 품질을 결정하는 첫 번째 단계입니다. 대부분의 경우 잘못된 정보 입력의 원인은 인적 오류입니다.
이를 제거하면 프로세스를 간소화하고 불필요한 데이터 값을 미리 방지하는 데 도움이 됩니다.
정확성
보유하고 있는 대부분의 데이터가 유효하다는 것을 알았으므로 이제 정확성을 설정하는 데 집중해야 합니다. 데이터가 유효하더라도 데이터가 정확하다는 의미는 아닙니다. 그리고 정확성을 결정하면 입력한 데이터가 정확한지 여부를 파악하는 데 도움이 됩니다.
클라이언트 주소는 올바른 형식일 수 있지만 올바른 형식일 필요는 없습니다. 이메일에 잘못된 숫자나 문자가 추가되었을 수 있습니다. 또 다른 예는 고객의 전화번호입니다.
읽기: 데이터 과학을 위한 최고의 기계 학습 API
전화번호에 모든 숫자가 있으면 유효한 값입니다. 하지만 그것이 사실이라는 의미는 아닙니다. 유효한 값에 대한 정의가 있으면 잘못된 값을 쉽게 알아낼 수 있습니다. 그러나 그것은 동일한 정확성을 확인하는 데 도움이되지 않습니다. 데이터 값의 정확성을 확인하려면 타사 소스를 사용해야 합니다.
즉, 현재 사용 중인 데이터 소스와 다른 데이터 소스에 의존해야 합니다. 데이터가 정확한지 여부를 파악하려면 데이터를 교차 확인해야 합니다. 데이터 정리 기술에는 데이터 값의 정확성을 확인하기 위한 솔루션이 많지 않습니다.
그러나 사용 중인 데이터의 종류에 따라 이와 관련하여 도움이 될 수 있는 리소스를 찾을 수 있습니다. 정확도와 정밀도를 혼동해서는 안 됩니다.
정확도 대 정밀도
정확도는 입력한 데이터가 정확한지 여부를 확인하는 데 의존하지만 정확도는 동일한 데이터에 대해 더 자세한 정보를 제공해야 합니다. 고객이 데이터 필드에 이름을 입력할 수 있습니다. 하지만 성이 없다면 좀 더 정확하게 하기가 어려울 것입니다.
또 다른 예는 주소일 수 있습니다. 당신이 그/그녀가 어디에 사는지 묻는 사람을 가정해 봅시다. 그들은 런던에 살고 있다고 말할 수 있습니다. 사실일 수 있습니다. 그러나 그들이 런던에 사는 곳을 모르기 때문에 정확한 대답은 아닙니다.
정확한 답변은 주소를 알려주는 것입니다.
완전성
필요한 모든 정보를 얻는 것은 거의 불가능합니다. 완전성은 필요한 모든 값을 알고 있는 정도입니다. 완전성은 정확성이나 타당성보다 달성하기가 조금 더 어렵습니다. 값을 추정할 수 없기 때문입니다. 알려진 사실만 입력하면 됩니다.
데이터 수집 활동(고객에게 다시 접근하기, 사람들과 다시 인터뷰하기 등)을 다시 수행하여 데이터를 완성할 수 있습니다. 하지만 그렇다고 해서 데이터를 철저하게 완성할 수 있는 것은 아닙니다.
이전에 필요한 데이터에 대해 사람들을 다시 인터뷰한다고 가정합니다. 이제 이 시나리오에는 회수 문제가 있습니다. 당신이 그들에게 같은 질문을 다시 한다면, 그들은 이전에 대답했던 것을 기억하지 못할 가능성이 있습니다. 이것은 당신에게 잘못된 답을 줄 수 있습니다.
5개월 전에 어떤 책을 읽었는지 그에게 물어볼 수 있습니다. 그리고 그들은 기억하지 못할 수도 있습니다. 마찬가지로 모든 고객의 연락처 정보를 입력해야 할 수도 있습니다. 그러나 그들 중 일부는 이메일 주소가 없을 수 있습니다. 이 경우 해당 열을 비워 두어야 합니다.
모든 열을 채워야 하는 시스템이 있는 경우 '누락' 또는 '알 수 없음'을 입력할 수 있습니다. 그러나 이러한 값을 입력한다고 해서 데이터가 완전한 것은 아닙니다. 그것은 여전히 불완전하다고 할 것입니다.

일관성
완전성 다음에는 일관성이 있습니다. 두 개의 유사한 시스템을 비교하여 일관성을 측정할 수 있습니다. 또는 동일한 데이터 세트 내의 데이터 값을 확인하여 일관성이 있는지 여부를 확인할 수 있습니다. 일관성은 관계적일 수 있습니다. 예를 들어 고객의 나이는 유효한 값이고 정확할 수 있는 15세일 수 있지만 동일한 시스템에서 고령자로 표시될 수도 있습니다.
이러한 경우 측정 정확도와 유사하게 데이터를 교차 확인하고 어떤 값이 참인지 확인해야 합니다. 고객이 15세입니까? 아니면 클라이언트가 노인입니까? 이 값 중 하나만 참일 수 있습니다.
데이터의 일관성을 유지하는 방법에는 여러 가지가 있습니다.
다른 시스템 확인:
당신이 가진 가치가 진짜인지 아닌지를 찾기 위해 다른 유사한 시스템을 살펴볼 수 있습니다. 두 시스템이 서로 모순되는 경우 세 번째 시스템을 확인하는 것이 도움이 될 수 있습니다.
이전 예에서 세 번째 시스템을 확인하고 고객의 연령이 65세임을 확인했다고 가정 합니다. 이것은 고객이 노인이라고 말한 두 번째 시스템이 유지될 것임을 보여줍니다.
최신 데이터 확인:
데이터의 일관성을 향상시키는 또 다른 방법은 최신 값을 확인하는 것입니다. 특정 시나리오에서 더 유리할 수 있습니다. 레코드에 고객에 대한 두 개의 다른 연락처 번호가 있을 수 있습니다. 고객이 번호를 바꿨을 가능성이 있기 때문에 가장 최근의 것이 더 안정적일 것입니다.
출처 확인:
데이터의 신뢰성을 확인하는 가장 확실한 방법은 단순히 소스에 연락하는 것입니다. 고객 연령의 예에서 고객에게 직접 연락하여 연령을 묻도록 선택할 수 있습니다. 그러나 모든 시나리오에서 가능한 것은 아니며 소스에 직접 연락하는 것은 매우 까다로울 수 있습니다. 고객이 응답하지 않거나 연락처 정보가 제공되지 않을 수 있습니다.
일률
데이터세트에 입력한 모든 값이 동일한 단위인지 확인해야 합니다. 측정을 위해 SI 단위를 입력하는 경우 일부 지역에서는 영국식 시스템을 사용할 수 없습니다. 반면에 한 곳에서 시간을 초 단위로 입력했다면 데이터 세트 전체에서 이 형식으로 입력해야 합니다.
읽기: 데이터 과학용 SQL
기록의 균일성을 확인하는 것은 매우 쉽습니다. 간단한 검사로 특정 값이 필요한 단위에 있는지 여부를 알 수 있습니다. 데이터 입력에 사용하는 단위는 특정 요구 사항에 따라 다릅니다.
데이터 정리 기술
데이터 정리 기술 선택은 많은 요인에 따라 달라집니다. 첫째, 어떤 종류의 데이터를 다루고 있습니까? 숫자 값입니까 아니면 문자열입니까? 처리할 값이 너무 적은 경우가 아니면 한 가지 기술로도 데이터를 정리할 수 있을 것으로 기대해서는 안 됩니다.
더 나은 결과를 얻으려면 여러 기술을 사용해야 할 수도 있습니다. 처리해야 하는 데이터 유형이 많을수록 더 많은 정리 기술을 사용해야 합니다. 이러한 모든 방법에 익숙해지면 오류를 수정하고 불필요한 데이터를 제거하는 데 도움이 됩니다.
1. 관련 없는 값 제거
가장 먼저 해야 할 일은 시스템에서 불필요한 데이터 조각을 제거하는 것입니다. 쓸모없거나 관련이 없는 데이터는 필요하지 않은 데이터입니다. 문제의 맥락에 맞지 않을 수 있습니다.
영업 직원의 평균 연령만 측정하면 됩니다. 그러면 이메일 주소가 필요하지 않습니다. 또 다른 예는 한 달에 몇 명의 고객에게 연락했는지 확인하는 것입니다. 이 경우 이전 달에 도달한 사람들의 데이터가 필요하지 않습니다.
그러나 특정 데이터 조각을 제거하기 전에 나중에(일관성을 확인하기 위해) 상관 값을 확인하기 위해 필요할 수 있으므로 관련이 없는지 확인하십시오. 그리고 데이터를 제거하기 전에 경험이 풍부한 전문가로부터 2차 의견을 얻을 수 있다면 주저하지 말고 그렇게 하십시오.
일부 값을 삭제하고 나중에 결정을 후회하고 싶지 않을 것입니다. 그러나 데이터가 관련이 없다고 확신하면 해당 데이터를 제거하십시오.
2. 중복 값 제거
중복은 쓸모없는 값과 유사합니다. 필요하지 않습니다. 그들은 당신이 가지고 있는 데이터의 양을 늘리고 시간을 낭비할 뿐입니다. 간단한 검색으로 제거할 수 있습니다. 여러 가지 이유로 시스템에 중복 값이 있을 수 있습니다.
여러 소스의 데이터를 결합했을 수 있습니다. 또는 데이터를 제출한 사람이 실수로 값을 반복했을 수 있습니다. 일부 사용자는 온라인 양식을 작성할 때 '입력'을 두 번 클릭했습니다. 중복 항목을 찾는 즉시 제거해야 합니다.
3. 오타(및 유사한 오류) 방지
오타는 인적 오류의 결과이며 어디에나 있을 수 있습니다. 여러 알고리즘과 기술을 통해 오타를 수정할 수 있습니다. 값을 매핑하고 올바른 철자로 변환할 수 있습니다. 모델이 다른 값을 다르게 취급하기 때문에 오타는 수정해야 합니다. 문자열은 철자와 대소문자에 많이 의존합니다.
'George'는 철자가 같더라도 'george'와 다릅니다. 마찬가지로 'Mike'와 'Mice'는 같은 수의 문자를 가지고 있지만 서로 다릅니다. 이와 같은 오타를 찾아 적절하게 수정해야 합니다.
오타와 유사한 또 다른 오류는 문자열의 크기입니다. 동일한 형식으로 유지하려면 패딩해야 할 수도 있습니다. 예를 들어 데이터 세트에 5자리 숫자만 있어야 할 수 있습니다. 따라서 '3994'와 같이 4자리만 있는 값이 있는 경우 처음에 0을 추가하여 자릿수를 늘릴 수 있습니다.
그 값은 '03994'와 동일하게 유지되지만 데이터는 균일하게 유지됩니다. 문자열의 추가 오류는 공백입니다. 일관성을 유지하려면 문자열에서 제거해야 합니다.
4. 데이터 유형 변환
데이터 유형은 데이터세트 전체에서 균일해야 합니다. 문자열은 숫자가 될 수 없으며 숫자는 부울이 될 수 없습니다. 데이터 유형을 변환할 때 염두에 두어야 할 몇 가지 사항이 있습니다.
- 숫자 값을 숫자로 유지
- 숫자가 문자열인지 확인하십시오. 문자열로 입력했다면 올바르지 않습니다.
- 특정 데이터 값을 변환할 수 없는 경우 'NA 값' 또는 이와 유사한 것을 입력해야 합니다. 이 특정 값이 잘못되었다는 경고도 추가해야 합니다.
5. 결측값 처리하기
항상 누락된 데이터가 있을 것입니다. 당신은 그것을 피할 수 없습니다. 따라서 데이터를 깨끗하고 오류 없이 유지하려면 데이터를 처리하는 방법을 알아야 합니다. 데이터세트의 특정 열에 누락된 값이 너무 많을 수 있습니다. 이 경우 작업할 데이터가 충분하지 않기 때문에 전체 열을 제거하는 것이 좋습니다.
참고 사항: 누락된 값을 무시하면 안 됩니다.
누락된 값을 무시하면 데이터가 오염되고 정확한 결과를 얻을 수 없기 때문에 중대한 실수가 될 수 있습니다. 결측값을 처리하는 방법에는 여러 가지가 있습니다.
결측값 대입:
근사값을 가정하여 누락된 값을 대치할 수 있습니다. 선형 회귀 또는 중앙값을 사용하여 결측값을 계산할 수 있습니다. 그러나 이 방법은 그것이 실제 가치인지 확신할 수 없기 때문에 의미가 있습니다.
결측값을 대치하는 또 다른 방법은 유사한 데이터 세트에서 데이터를 복사하는 것입니다. 이 방법을 'Hot-deck 전가'라고 합니다. 데이터 유형 및 범위와 같은 일부 제약 조건을 고려하면서 현재 레코드에 가치를 추가하고 있습니다.
누락된 값 강조 표시:
전가가 항상 결측값을 처리하는 최선의 방법은 아닙니다. 많은 전문가들은 그것이 '실제'가 아니기 때문에 더 혼합된 결과를 초래할 뿐이라고 주장합니다. 따라서 다른 접근 방식을 취하고 데이터가 누락되었음을 모델에 알릴 수 있습니다. 특정 값을 사용할 수 없다는 것을 모델(또는 알고리즘)에 알리는 것도 정보가 될 수 있습니다.
임의의 이유가 누락된 값의 원인이 아닌 경우 강조 표시하거나 플래그를 지정하는 것이 좋습니다. 예를 들어, 고객이 처음부터 답변을 원하지 않았기 때문에 귀하의 기록에 설문조사의 특정 질문에 대한 답변이 많지 않을 수 있습니다.
누락된 값이 숫자인 경우 0을 사용할 수 있습니다. 통계 분석 중에 이러한 값을 무시하는지 확인하십시오. 반면에 결측값이 범주형 값인 경우 '결측값'을 채울 수 있습니다.
요약
데이터 정리 기술에 대한 자세한 설명을 통해 즐거운 시간을 보내셨기를 바랍니다. 확실히 배울 점이 많았습니다.
아래 웨비나 비디오에서 데이터 랭글링에 대해 자세히 알아보십시오.
데이터 정리에 대해 궁금한 점이 있으면 언제든지 전문가에게 문의하세요.
데이터 과학에 대해 자세히 알아보려면 작업 전문가를 위해 만들어졌으며 10개 이상의 사례 연구 및 프로젝트, 실용적인 실습 워크숍, 업계 전문가와의 멘토링, 1 - 업계 멘토와 일대일, 400시간 이상의 학습 및 최고의 기업과의 취업 지원.
데이터의 불일치가 문제인 이유는 무엇입니까?
동일한 데이터가 여러 위치에 나타나면 데이터 중복이 발생하고 데이터 불일치는 동일한 데이터가 다른 형식의 여러 테이블에 나타날 때 발생합니다. 불행히도 데이터 중복은 데이터 불일치로 이어져 회사에 부정확하거나 쓸모없는 데이터가 될 수 있습니다. 재고 및 유통 관리 절차를 최적화하기 위해 판매를 적절하게 예측할 수 없습니다. 비용 초과 및 지연을 최소화하기 위해 제조 또는 공급망 문제를 감지할 수 없습니다. 그리고 그들은 디자인이나 마케팅 캠페인을 변경하기 위해 신제품에 대한 고객의 관심을 평가할 수 없습니다.
얼마나 자주 데이터를 정리해야 합니까?
데이터를 봄철 정리해야 하는 빈도는 전적으로 비즈니스 요구 사항에 따라 다릅니다. 대기업은 많은 양의 데이터를 빠르게 수집하므로 3~6개월에 한 번씩 데이터 정리가 필요할 수 있습니다. 데이터가 적은 소규모 회사는 최소 1년에 한 번 데이터를 정리하는 것이 좋습니다. 더러운 데이터로 인해 비용이 발생하거나 생산성, 효율성 또는 통찰력에 부정적인 영향을 미치는 것으로 의심되는 경우 데이터 정리를 계획하는 것이 좋습니다.
Tableau가 데이터 정리에 적합합니까?
Tableau Prep에는 데이터를 즉시 정리하고 형태를 지정하는 데 사용할 수 있는 여러 정리 절차가 포함되어 있습니다. 더티 데이터를 정리하면 데이터를 더 쉽게 통합하고 분석할 수 있을 뿐만 아니라 데이터를 공유할 때 다른 사람들도 이해할 수 있습니다.