학습을 위한 데이터 세트 준비 | Qlik Cloud 도움말
기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

학습을 위한 데이터 세트 준비

머신 러닝 질문에 답하기 위해 데이터 세트를 학습시킵니다. 학습 데이터 세트에는 각 기능에 대한 열과 대상을 포함하는 열이 포함됩니다. 머신 러닝 알고리즘은 이러한 데이터 행에서 일반적인 패턴을 학습하여 대상을 예측할 수 있는 모델을 생성합니다.

데이터 세트를 머신 러닝에 사용할 수 있도록 준비하려면 데이터를 이해하고 필요한 데이터 포인트를 수집해야 합니다. 또한 일부 데이터를 변환하고 사용 사례와 관련 없는 데이터를 제거해야 할 수도 있습니다.

어떤 데이터를 수집해야 합니까?

머신 러닝 질문을 정확하게 정의하고 해당 질문에 접근하기 위해 집계해야 할 항목을 정확히 결정합니다.

  • 어떤 고객이 이탈할지 예측하려면 각 행이 고객을 나타내고, 각 기능 열이 해당 고객을 설명하는 기능을 나타내며, 대상 열이 특정 기간 동안 해당 고객이 이탈했는지 여부를 나타내는 데이터 세트를 집계해야 합니다.

  • 특정 월 및 지역의 매출을 예측하려면 각 행이 특정 지역의 특정 월을 나타내고, 각 기능 열이 해당 지역의 해당 월 비즈니스를 설명하는 기능을 나타내며, 대상 열이 해당 월의 해당 지역 매출 수익을 나타내는 데이터 세트를 집계해야 합니다.

대상에 영향을 미칠 수 있는 요소를 파악하고 해당 데이터를 수집할 수 있는지 확인하십시오. 예측 알고리즘은 발견할 수 있는 패턴만 식별할 수 있다는 점을 기억하십시오. 추가 정보를 추출하기 위해 추가 기능을 수집하거나 생성해야 할 수도 있습니다.

또한 정확하게 예측하기 전에 얼마나 많은 데이터를 축적해야 하는지 결정해야 합니다. 이벤트가 대표성을 띠기까지 얼마나 걸립니까? 다음 예를 고려하십시오.

  • 고객이 90일 이내에 이탈할지 예측하려면 60일 동안 회원 자격을 유지해야 합니다.

  • 보험 청구 비용은 몇 달 동안 알 수 없으므로 6개월 미만의 청구는 제외할 수 있습니다.

시간 변형 데이터와 시간 불변 데이터를 구분합니다. 시간 변형 데이터의 경우 데이터가 적절하게 집계되도록 타임스탬프가 지정되어 있습니까?

예측 시점에 데이터를 사용할 수 있습니까?

학습 데이터 세트에 포함된 모든 기능을 향후 예측에도 사용할 수 있는지 확인하십시오. 과거 데이터에 사용할 수 있는 기능으로 모델을 학습시키지만 향후 예측을 수행할 때는 사용할 수 없는 기능으로 모델을 학습시키는 것은 흔한 실수입니다. 새 데이터에 대한 예측을 수행할 때 머신 러닝 알고리즘은 학습 데이터 세트에서 사용할 수 있었던 모든 기능에 대한 값을 가져야 합니다.

데이터가 많을수록 좋습니까?

샘플 크기

데이터 볼륨이 클수록 더 신뢰할 수 있는 모델이 생성되는 경향이 있습니다. 새 관찰이든 과거 관찰이든 관계없이 추가적인 관련 데이터 포인트가 도움이 됩니다.

기능 수

목표 결과와의 관련성에 관계없이 가능한 모든 변수를 모델에 포함하고 싶을 수 있습니다. 일반적으로 단순할수록 좋습니다. 일반적으로 모델에서 더 적은 수의 기능을 사용하는 것이 좋습니다.

기능이 많을수록 밝혀내고자 하는 진정한 근본 관계를 잠재적으로 은폐할 위험이 커질 수 있습니다. 예측 모델은 모든 기능을 사용하여 모델을 학습시키는 데 사용된 데이터에 대해 잘 수행되는 일련의 복잡한 규칙을 생각해 낼 수 있습니다. 그러나 예측된 대상은 실제로는 한두 가지 기능의 영향만 받을 수 있습니다. 모델은 학습에 사용된 것 이외의 데이터로 일반화하는 데 능숙하지 않을 수 있으며, 이로 인해 새 데이터에 적용할 때 예측 성능이 저하될 수 있습니다.

과적합

과적합은 모델이 지나치게 복잡하여 결과적으로 새 데이터를 예측하는 데 신뢰할 수 없음을 의미합니다. 과적합은 사용 가능한 데이터 포인트 수에 비해 기능이 너무 많을 때 발생하는 경향이 있습니다. 예를 들어 데이터 세트에 50개의 데이터 행과 100개의 기능 열만 있을 수 있습니다.

학습 데이터가 관련성이 있습니까?

머신 러닝 알고리즘은 제공된 데이터에서 패턴을 찾고 해당 패턴을 사용하여 향후 데이터에 대한 예측을 수행합니다. 새 데이터에 대한 예측을 수행할 때 해당 데이터가 학습 데이터와 유사하다고 가정합니다. 이러한 이유로 학습 데이터 세트가 예측을 수행할 데이터와 통계적으로 유사한 것이 중요합니다.

시장이나 비즈니스가 학습 데이터 세트에서 설명하는 것과 크게 변경된 경우 부정확한 예측으로 이어질 오래된 데이터 세트를 사용하고 있을 가능성이 높습니다. 새 학습 데이터 세트를 만들고 변경이 발생한 후 수집된 데이터만 사용해야 할 수도 있습니다.

머신 러닝 이해하기의 매출 예측에 대한 예를 고려해 보십시오. 과거 비즈니스 분기의 매출 수익뿐만 아니라 텔레비전, 라디오 및 신문의 광고 지출을 나타내는 데이터를 알고리즘에 제공했다고 가정해 보겠습니다. 그러나 이 데이터는 1980년대에 수집되었습니다. 이제 우리는 더 이상 라디오에 해당 제품을 광고하지 않으며 거의 독점적으로 온라인에 제품을 광고합니다. 학습된 알고리즘은 학습 데이터가 현재 비즈니스를 대표하지 않기 때문에 현재 비즈니스 분기의 매출을 예측하는 데 성능이 저하될 것입니다.

데이터 탐색

비즈니스 지식을 사용하여 데이터를 이해하고 검증하십시오. 데이터가 가정과 일치하지 않는 경우 데이터 문제일 수 있습니까, 아니면 가정이 틀렸다는 의미일 수 있습니까?

신뢰할 수 없는 기능 제거

다음과 같은 경우 데이터 세트에서 열을 제외하는 것을 고려하십시오.

  • 하나의 값이 집중되어 있습니다(낮은 카디널리티). 예를 들어 값의 90%가 "red"인 "red", "green", "blue" 값이 있는 열입니다.

  • 값이 매우 고유합니다(높은 카디널리티).

  • 대부분의 값이 null입니다.

상관된 기능 해결

동일하거나 매우 유사한 정보를 제공하는 고도로 상관된 기능과 같은 중복 기능을 제거합니다. 데이터에서 동일한 동작을 캡처하는 것으로 보이는 그룹에서 단일 기능을 선택하는 것을 고려하십시오. 한 기능이 다른 기능을 주도하는지 확인해 보십시오.

null 값 바꾸기

데이터를 탐색하여 대상 또는 주요 기능과 같은 주요 데이터 포인트에 누락된 값이 있는지 확인합니다. 희소 열의 값을 사용하려면 null 값을 "other" 또는 "unknown"으로 바꿀 수 있습니다. 또는 데이터 수집을 재평가해야 할 수도 있습니다.

대상 범위

데이터의 분포를 살펴보십시오. 대상 데이터의 분포가 샘플 크기에 비해 너무 넓게 퍼져 있으면 데이터에서 패턴을 찾기 어려울 수 있습니다.

데이터 값의 범위는 무엇입니까? 범위를 벗어난 데이터 값을 예측하는 데는 몇 가지 어려움이 있습니다. 자세한 내용은 추정 및 보간을 참조하십시오.

분포에 이상이 있습니까? 데이터의 왜곡, 꼬리 및 다중 모드 모양에는 추가 데이터 변환 또는 추가 기능 엔지니어링이 필요할 수 있습니다. 소량 범주를 그룹화하고 숫자 기능에서 꼬리를 반올림하거나 제거해 보십시오.

이상값 제거

기능 열에 이상값이 있는 관찰을 제거하는 것을 고려하십시오. 이상값은 데이터의 일반적인 패턴을 식별하는 알고리즘의 능력을 방해할 수 있습니다. 대상 열에서 더 좁게 퍼져 있는 더 작은 데이터 하위 집합을 살펴보는 것이 더 나을 수 있습니다.

데이터 그룹화

데이터를 다른 데이터 세트로 분할하고 이를 사용하여 별도의 모델을 학습시킴으로써 결과를 개선할 수 있습니다. 하나 이상의 기능을 기반으로 데이터를 그룹화합니다.

데이터 유출

데이터 유출은 머신 러닝 알고리즘을 학습시키는 데 사용되는 데이터에 예측하려는 정보가 포함되어 있음을 의미합니다.

관련 학습 자료:

자세한 정보

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 알려 주십시오!