기본 콘텐츠로 건너뛰기 보완적인 콘텐츠로 건너뛰기

null의 대체

누락된 값이 너무 많으면 기계 학습 모델의 품질에 부정적인 영향을 미칠 수 있습니다. 대체는 null 값으로 알려진 누락된 값을 채우는 방식입니다. 데이터베이스 오류, 사용자가 양식의 일부를 작성하지 않음 또는 새 데이터를 수집하기 시작하는데 데이터 집합의 이전 레코드에 새 데이터 포인트가 없는 경우 등 데이터 누락에는 여러 가지 이유가 있을 수 있습니다.

대체가 데이터에 미칠 수 있는 영향을 이해하는 것이 중요합니다. 대체는 행이나 열의 예측력을 유지하지만 이전에 존재하지 않았던 패턴을 만들거나 기존의 패턴에 노이즈를 추가할 가능성도 있습니다. 이는 데이터의 유효성을 감소시킵니다.

데이터 수집 방법을 검토하여 데이터 완성을 확인하고 필요에 따라 새 프로세스를 구현하는 것이 좋습니다. 빈 값의 표현을 유지하려면 "기타" 또는 "알 수 없음"과 같은 값으로 null을 채울 수 있습니다.

자동 사전 처리 중 null 대체

Qlik AutoML에서 자동 데이터 사전 처리는 null 대체를 사용하여 교육용 데이터 집합을 준비합니다. 자동 데이터 전처리 중에 값의 50% 이상 누락된 열을 제외하고 누락된 값을 대체하여 null 값을 처리합니다. 범주형 기능의 누락된 값은 "기타" 값으로 대체되고 숫자형 기능의 누락된 값은 평균으로 대체됩니다.

자동 엔지니어링 기능과 시간 인식 교육에는 추가 고려 사항이 적용됩니다.

사전 처리에 대한 자세한 내용은 자동 데이터 준비 및 변환을 참조하십시오.

자동 엔지니어링 기능

AutoML은 자동 기능 엔지니어링을 통해 기존의 상위 기능으로부터 새 기능을 만듭니다. 자동 엔지니어링 기능의 경우, null 대체는 다음과 같이 수행됩니다.

  • 자동 엔지니어링 날짜 기능을 교육에 포함하는 경우 이러한 기능에 대한 null 대체 프로세스는 숫자 기능의 경우와 동일합니다.

  • 대신 상위 날짜 기능을 사용하는 경우, null 대체 프로세스는 범주형 기능의 경우와 동일합니다.

  • 무료 문자로 처리되는 범주형 기능의 경우, null 대체는 범주형 기능의 경우와 동일합니다.

시간 인식 교육

시간 인식 교육이 켜져 있으면 다음과 같이 null 대체가 수행됩니다.

  • 선택된 날짜 인덱스에 대해 null 값을 갖는 교육 데이터 집합의 모든 행은 사전 처리 중에 삭제됩니다. 이러한 행은 모델을 교육하는 데 사용되지 않습니다.

  • 숫자형 기능의 경우 선형 보간을 사용하여 null 대체를 수행합니다. 선형 보간은 자동 엔지니어링된 날짜 기능에도 사용됩니다.

  • 범주형 기능의 경우, null 대체 프로세스는 시간 인식 교육을 사용하지 않을 때와 동일합니다.

  • 자동 기능 엔지니어링 없이 날짜 기능을 사용하는 경우 null 대체 프로세스는 범주형 기능의 경우와 동일합니다.

  • 무료 문자로 처리되는 범주형 기능의 경우, null 대체는 범주형 기능의 경우와 동일합니다.

시간 인식 교육에 대한 자세한 내용은 시간 인식 모델 만들기를 참조하십시오.

대체 작동 방법

다음 방법은 null 대체에 대한 일반적인 방법입니다.

숫자 값

기본값은 평균값을 대체하는 것이 좋습니다. 누락된 값이 정규 분포를 따르는 경우 시소 중앙에 무게를 추가하는 것과 같으며 양쪽 무게에 영향을 주지 않습니다. 그러나 값이 무엇을 나타내려고 하는지 항상 고려해야 합니다. 예를 들어, 판매 데이터에서 일부 판매 가격 값이 null인 경우 데이터베이스 오류 때문입니까? 아니면 구매자가 쿠폰을 결제 수단으로 사용한 것입니까? 0 또는 평균 이외의 다른 값이 더 의미가 있습니까?

범주 값

범주 값의 기본값은 다른 범주를 추가하고 "기타", "알 수 없음" 또는 "누락"이라고 부르는 것이 좋습니다. 이 범주는 누락된 값이 임의로 분포된 경우 추가 변동을 보유하거나 누락된 값과 대상 값 사이에 의미 있는 관계가 있는 경우 기능 중요도를 가져올 수 있습니다.

대체는 모드의 형태로 평균을 대체하는 것입니다. 숫자 값과 마찬가지로 값이 실제로 나타내려고 하는 것과 값이 누락된 이유를 모두 고려하는 것이 항상 중요합니다. 누락된 값의 대부분이 모드라는 것을 알고 있다면 모드로 대체할 수 있습니다. 알려지지 않았거나 불확실성이 있는 경우 데이터 집합에 대한 새로운 고유 값인 필러 텍스트로 범주 값을 대체할 수 있습니다.

숫자 값 대체 효과

숫자 대체 1은 최적선이 있는 스캐터 차트를 보여 줍니다. 범주(x) 축에는 숫자 값이 있고 값(y) 축에는 대상 값이 있습니다. 잘 맞는 것처럼 보이지만 x가 알려진 데이터 포인트만 고려합니다.

수치형 대체 1: 최적선이 있는 알려진 값의 도표.

선형 최적선이 있는 그래프.

숫자 대체 2에서는 평균값을 대체했습니다. 그러나 누락된 값은 임의적이지 않은 것 같습니다. 이로 인해 최적선이 왜곡되고 노이즈가 추가되어 모델의 전체 정확도가 감소합니다.

수치형 대체 2: 알려진 값과 대체된 평균값의 도표. 대체된 값은 임의로 분포되지 않으며 새로운 최적선이 있습니다.

최적선을 왜곡하는 대체 값이 있는 그래프.

숫자 대체 3의 차트는 누락된 값이 임의로 분포되어 있을 때 평균을 대체하면 어떻게 되는지 보여 줍니다. 즉, 값이 존재하는지 또는 누락되었는지를 알고 추가 지식을 얻을 수 없을 때 어떻게 되는지 보여 줍니다. 누락된 값이 임의로 분포되면 최적선이 변경되지 않습니다. 평균값 대신 0을 대체했습니다면 숫자 대체 2와 유사한 방식으로 최적선을 변경했을 것입니다.

수치형 대체 3: 알려진 값과 임의로 분포된 대체 값의 도표. 최적선은 변경되지 않았습니다.

최적선을 왜곡하지 않는 대체 값이 있는 그래프.

예: 대출 자격

실제 예로서 x가 연간 소득이고 y는 누군가가 대출을 받을 수 있는 금액인 경우를 보겠습니다. 누군가가 더 많은 돈을 벌수록 더 많은 돈을 빌릴 수 있는 관계를 기대할 것입니다. 이 패턴은 위의 숫자 대체 1과 유사합니다.

돈을 덜 버는 사람들이 연간 소득을 제출할 가능성이 적다고 상상해 보십시오. 이 경우 특정 이유로 인해 x 값이 누락됩니다. 이러한 값에 대한 평균을 대체하면 모델의 결과가 왜곡됩니다. 결과는 숫자 대체 2와 같습니다.

이제 데이터베이스의 일부 레코드가 임의로 삭제되었다고 가정합니다. 레코드에는 일부 사람들이 얼마나 많은 화폐을 버는지에 대한 데이터가 포함되어 있지만 그 사람에 대한 레코드는 없습니다. 따라서 x 값은 임의로 null이 됩니다. 그 효과는 숫자 대체 3에 표현되어 있으며 누락된 값을 안전하게 대체할 수 있는 경우입니다.

또한 평균 대신 0으로 대체하면 어떻게 되는지 고려해야 합니다. 대출 자격 예에서 누군가가 연간 0달러를 번다고 말하는 것은 아마도 정확한 표현이 아닐 것입니다. 숫자 대체 2와 유사하게 모델을 왜곡합니다.

범주 값 대체 효과

위의 수치 사례에서 우리는 누락된 값을 대체하기 위해 평균을 사용했습니다. 범주 값에 대한 간단한 방법은 가장 자주 발생하는 값인 모드를 사용하는 것입니다. 모드를 대체할 때 발생하는 몇 가지 문제는 숫자 값의 평균을 대체할 때와 동일합니다.

아래 차트에는 대상과 관련하여 Missing_1의 결측값 패턴이 있는 반면 Missing_2는 임의로 분포되어 있습니다. Missing_2가 전체 평균 대상 값과 일치하기 때문에 이를 볼 수 있습니다. Missing_1은 숫자 대체 2와 유사하고 Missing_2는 숫자 대체 3과 유사합니다.

범주형 대체: Missing_1 및 Missing_2 열은 패턴이 있는 누락 값과 패턴이 없는 누락 값의 예입니다.

클래스 A, B 및 C의 분포를 누락된 값의 전체 평균 및 범주적 대체와 함께 보여 주는 그래프입니다.

숫자 예와의 차이점은 이 경우 Missing_1과 Missing_2 모두 패턴 인식을 왜곡한다는 것입니다. 가장 큰 범주이기 때문에 모드로 대체하는 경우 대체 값이 되는 범주 B인 데이터의 하위 집합에 대해서만 왜곡됩니다.

단일 값과 대상 값 사이의 관계를 왜곡하는 것은 대체의 유일한 위험은 아니지만 가장 일반적이고 평가하기 쉬운 것 중 하나입니다. 다른 위험은 단순히 노이즈를 추가하고 정확도를 낮추는 경향이 있습니다. 다행스럽게도 상대적으로 희박한 차원을 삭제하면 왜곡의 위험을 크게 완화할 수 있습니다. 열이나 행에서 정확히 어떤 희소성 수준을 허용해야 하는지에 대한 논쟁이 자주 있지만, 대체 값이 데이터가 설명하려는 내용을 더 이상 대표하지 않는 방식으로 데이터를 왜곡할 가능성이 있다는 점은 거의 논의되지 않습니다.

자세한 정보

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

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