탐색적 데이터 분석 수행(EDA) - Amazon SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

탐색적 데이터 분석 수행(EDA)

Data Wrangler에는 몇 번의 클릭으로 시각화 및 데이터 분석을 생성하는 데 도움이 되는 내장 분석이 포함되어 있습니다. 자체 코드를 사용하여 사용자 지정 분석을 만들 수도 있습니다.

데이터 흐름에서 단계를 선택한 다음 분석 추가를 선택하여 데이터프레임에 분석을 추가할 수 있습니다. 생성한 분석에 액세스하려면 분석이 포함된 단계를 선택하고 분석을 선택합니다.

분석은 데이터 세트의 최대 200,000개 행의 샘플을 사용하여 생성되며 샘플 크기를 구성할 수 있습니다. 데이터 흐름의 샘플 크기 변경에 대한 자세한 내용은 섹션을 참조하세요데이터 흐름 샘플링 구성 편집.

참고

분석은 열이 1,000개 이하인 데이터에 최적화되어 있습니다. 추가 열이 있는 데이터에 대한 분석을 생성할 때 약간의 지연 시간이 발생할 수 있습니다.

데이터 프레임에 다음 분석을 추가할 수 있습니다.

  • 히스토그램 및 산점도를 포함한 데이터 시각화.

  • 항목 수, 최소값 및 최대값 (숫자 데이터용), 빈도가 가장 높은 범주와 가장 빈도가 낮은 범주(범주형 데이터용)를 포함하는 데이터 세트의 간략한 요약.

  • 각 특징에 대한 중요도 점수를 생성하는 데 사용할 수 있는 데이터 세트의 빠른 모델.

  • 대상 누출 보고서. 이는 하나 이상의 특징이 대상 특징과 강한 상관관계가 있는지 확인하는 데 사용할 수 있습니다.

  • 자체 코드를 사용한 사용자 지정 시각화.

다음 섹션을 통해 이런 옵션에 대해 자세히 알아보세요.

데이터 및 데이터 품질에 대한 인사이트 얻기

데이터 품질 및 인사이트 보고서를 사용하여 Data Wrangler로 가져온 데이터를 분석할 수 있습니다. 데이터 세트를 가져온 후 보고서를 생성하는 것이 좋습니다. 보고서를 사용하여 데이터를 정리하고 처리할 수 있습니다. 이는 누락된 값의 갯수, 이상치 갯수 등의 정보를 제공합니다. 대상 누출 또는 불균형과 같은 데이터 관련 문제가 있는 경우 인사이트 보고서를 통해 이러한 문제를 파악할 수 있습니다.

다음 절차에 따라 데이터 품질 및 인사이트 보고서를 생성합니다. 여기서는 데이터 세트를 Data Wrangler 흐름으로 이미 가져온 것으로 가정합니다.

데이터 품질 및 인사이트 보고서를 생성하려면
  1. Data Wrangler 흐름의 노드 옆에 있는 줄임표 아이콘을 선택합니다.

  2. Get data insights(데이터 인사이트 가져오기)를 선택합니다.

  3. 분석 유형 에서 데이터 품질 및 인사이트 보고서 를 선택합니다.

  4. Analysis name(분석 이름)에 인사이트 보고서의 이름을 지정합니다.

  5. Problem type(문제 유형)에는 Regression(회귀) 또는 Classification(분류)를 지정합니다.

  6. 대상 열 에서 대상 열을 지정합니다.

  7. Data size(데이터 크기)로 다음 중 하나를 지정합니다.

    • 샘플링된 데이터 세트 - 데이터 흐름의 대화형 샘플을 사용하며 데이터 세트의 최대 200,000개의 행을 포함할 수 있습니다. 샘플 크기를 편집하는 방법에 대한 자세한 내용은 섹션을 참조하세요데이터 흐름 샘플링 구성 편집.

    • 전체 데이터 세트 - 데이터 소스의 전체 데이터 세트를 사용하여 보고서를 생성합니다.

    참고

    전체 데이터 세트에 대한 데이터 품질 및 인사이트 보고서를 생성하려면 Amazon SageMaker 처리 작업을 사용합니다. SageMaker 처리 작업은 모든 데이터에 대한 인사이트를 얻는 데 필요한 추가 컴퓨팅 리소스를 프로비저닝합니다. 작업 SageMaker 처리에 대한 자세한 내용은 섹션을 참조하세요 SageMaker 프로세싱을 통한 데이터 변환 워크로드.

  8. 생성(Create)을 선택합니다.

다음 주제는 보고서의 섹션을 보여줍니다.

보고서를 다운로드하거나 온라인으로 볼 수 있습니다. 보고서를 다운로드하려면 화면 오른쪽 위 모서리에 있는 다운로드 버튼을 선택합니다.

요약

인사이트 보고서에는 누락된 값, 유효하지 않은 값, 변수 유형, 이상치 갯수 등과 같은 일반 정보가 포함된 간략한 데이터 요약이 있습니다. 또한 데이터에 발생할 수 있는 문제를 가리키는 심각도가 높은 경고도 포함될 수 있습니다. 경고를 조사하는 것이 좋습니다.

대상 열

데이터 품질 및 인사이트 보고서를 생성할 때 Data Wrangler는 대상 열을 선택할 수 있는 옵션을 제공합니다. 대상 열은 예측하려는 열입니다. 대상 열을 선택하면 Data Wrangler가 자동으로 대상 열 분석을 생성합니다. 또한 예측력 순서대로 변수의 순위를 매깁니다. 대상 열을 선택할 때는 회귀 문제를 해결할지 분류 문제를 해결할지 지정해야 합니다.

분류의 경우 Data Wrangler는 가장 일반적인 클래스의 표와 히스토그램을 보여줍니다. 클래스는 범주입니다. 또한 누락되거나 유효하지 않은 대상 값이 있는 관측치 또는 행을 표시합니다.

회귀의 경우 Data Wrangler는 대상 열에 있는 모든 값의 히스토그램을 보여줍니다. 또한 누락되거나, 유효하지 않은, 또는 이상치 대상 값이 있는 관측치 또는 행을 표시합니다.

빠른 모델

Quick Model(빠른 모델)은 데이터를 기반으로 훈련한 모델의 기대되는 예상 품질 추정치를 제공합니다.

Data Wrangler는 데이터를 훈련 폴드와 검증 폴드로 분할합니다. 샘플의 80%를 훈련에 사용하고 값의 20%를 검증에 사용합니다. 분류의 경우 표본을 계층화 분할합니다. 계층화 분할의 경우 각 데이터 파티션의 레이블 비율이 동일합니다. 분류 문제의 경우 훈련 폴드와 분류 폴드의 레이블 비율을 동일하게 유지하는 것이 중요합니다. Data Wrangler는 기본 하이퍼파라미터로 XGBoost 모델을 훈련합니다. 검증 데이터에 조기 중지를 적용하고 변수 사전 처리를 최소화합니다.

분류 모델의 경우 Data Wrangler는 모델 요약과 혼동 행렬을 모두 반환합니다.

분류 모델 요약이 반환하는 정보에 대한 자세한 내용은 섹션을 참조하세요정의.

혼동 행렬은 다음 정보를 제공합니다.

  • 예측 레이블이 실제 레이블과 일치하는 횟수.

  • 예측 레이블이 실제 레이블과 일치하지 않는 횟수.

실제 레이블은 데이터의 실제 관측치를 나타냅니다. 예를 들어, 사기 거래를 탐지하기 위해 모델을 사용하는 경우 실제 레이블은 실제로 사기 또는 사기가 아닌 거래를 나타냅니다. 예측 레이블은 모델이 데이터에 할당하는 레이블을 나타냅니다.

혼동 행렬을 사용하여 모델이 조건의 유무를 얼마나 잘 예측하는지 확인할 수 있습니다. 부정 거래를 예측하는 경우, 혼동 행렬을 사용하여 모델의 민감도와 특이도를 모두 파악할 수 있습니다. 민감도는 사기 거래를 탐지하는 모델의 능력을 나타냅니다. 특이도란 모델이 사기가 아닌 거래를 사기로 탐지하는 것을 피하는 능력을 말합니다.

변수 요약

대상 열을 지정하면 Data Wrangler는 예측력에 따라 변수를 정렬합니다. 예측력은 80% 훈련 및 20% 검증 폴드로 분할된 후 데이터에 대해 측정됩니다. Data Wrangler는 훈련 폴드에서 각 변수에 대한 모델을 개별적으로 피팅합니다. 변수 전처리를 최소화하고 검증 데이터에 대한 예측 성능을 측정합니다.

점수를 [0,1] 범위로 정규화합니다. 예측 점수가 높을수록 열 자체가 대상을 예측하는 데 더 유용하다는 뜻입니다. 점수가 낮을수록 열이 대상 열을 예측할 수 없음을 보여줍니다.

예측 가능하지 않은 열을 다른 열과 함께 사용한다고 예측 가능한 열이 되는 경우는 드뭅니다. 예측 점수를 사용하여 데이터 세트의 변수가 예측 가능한지 여부를 확실하게 판단할 수 있습니다.

일반적으로 점수가 낮으면 변수가 중복되었음을 나타냅니다. 1점은 완벽한 예측 능력을 나타내며, 이는 종종 대상 누출을 나타냅니다. 대상 누출은 일반적으로 예측 시점에 사용할 수 없는 열이 데이터 세트에 포함되어 있을 때 발생합니다. 예를 들어 대상 열과 중복된 열일 수 있습니다.

샘플

Data Wrangler는 표본이 비정상적인지 또는 데이터 세트에 중복이 있는지 여부에 대한 정보를 제공합니다.

Data Wrangler는 격리 포리스트 알고리즘(isolation forest algorithm)을 사용하여 비정상적인 샘플을 탐지합니다. 격리 포리스트는 비정상 점수를 데이터 세트의 각 샘플 (행)과 연결합니다. 비정상 점수가 낮으면 변칙 샘플이 있음을 나타냅니다. 높은 점수는 비정상이 아닌 샘플과 관련이 있습니다. 일반적으로 비정상 점수가 음수인 샘플은 변칙으로 간주되고 변칙 점수가 양수인 샘플은 비정상이 아닌 것으로 간주됩니다.

비정상일 수 있는 표본을 볼 때는 특이한 값에 주의를 기울이는 것이 좋습니다. 예를 들어, 데이터 수집 및 처리 중 오류로 인한 비정상적인 값이 발생할 수 있습니다. 다음은 Data Wrangler의 격리 포리스트 알고리즘 구현에 따른 가장 비정적인 샘플의 예입니다. 비정상적인 샘플을 검사할 때는 도메인 지식과 비즈니스 로직을 사용하는 것이 좋습니다.

Data Wrangler는 중복된 행을 탐지하고 데이터에서 중복된 행의 비율을 계산합니다. 일부 데이터 소스에는 유효한 중복이 포함될 수 있습니다. 다른 데이터 소스에는 데이터 수집 문제를 나타내는 중복이 있을 수 있습니다. 잘못된 데이터 수집으로 인해 샘플이 중복되면 데이터를 독립적인 훈련 및 검증 폴드로 분할하는 데 의존하는 기계 학습 프로세스에 방해가 될 수 있습니다.

중복된 샘플로 인해 영향을 받을 수 있는 인사이트 보고서의 요소는 다음과 같습니다.

  • 빠른 모델

  • 예측력 추정

  • 자동 하이퍼파라미터 튜닝

Manage rows(행 관리)에서 Drop duplicates(중복 삭제) 변환을 사용하여 데이터 세트에서 중복 샘플을 제거할 수 있습니다. Data Wrangler는 가장 자주 중복되는 행을 보여줍니다.

정의

다음은 데이터 인사이트 보고서에 사용되는 기술 용어에 대한 정의입니다.

Feature types

다음은 각 변수 유형에 대한 정의입니다.

  • Numeric(숫자) - 숫자 값은 부동 소수점 또는 정수일 수 있습니다 (예: 연령 또는 수입). 기계 학습 모델은 숫자 값은 정렬되어 있고 숫자 값에 대한 거리가 정의되어 있다고 가정합니다. 예를 들어 3은 10보다 4에 더 가깝고 3 < 4 < 10입니다.

  • 범주형 - 열 항목은 일반적으로 열의 항목 수보다 훨씬 작은 고유 값 집합에 속합니다. 예를 들어, 길이가 100인 열에는 고유한 값 Dog, CatMouse가 포함될 수 있습니다. 값은 숫자, 텍스트 또는 이 두 가지의 조합일 수 있습니다. Horse, House, 8, Love3.1 는 모두 유효한 값이며 동일한 범주형 열에서 찾을 수 있습니다. 기계 학습 모델은 모든 값이 숫자인 경우에도 수치형 변수와 달리 범주형 변수 값의 순서나 거리를 가정하지 않습니다.

  • Binary(바이너리) - 바이너리 변수는 고유한 값 집합의 카디널리티가 2인 특수 범주형 변수 유형입니다.

  • Text(텍스트) - 텍스트 열에는 숫자가 아닌 고유 값이 많이 포함되어 있습니다. 극단적인 경우에는 열의 모든 요소가 고유합니다. 극단적인 경우에는 동일한 항목이 두 개 없을 수도 있습니다.

  • Datetime(날짜시간) - 날짜/시간 열에는 날짜 또는 시간에 대한 정보가 포함됩니다. 날짜와 시간에 대한 정보를 모두 포함할 수 있습니다.

Feature statistics

다음은 각 변수 통계에 대한 정의입니다.

  • 예측력 - 예측력은 대상을 예측하는 데 열이 얼마나 유용한지를 측정합니다.

  • 이상치(숫자 열) - Data Wrangler는 이상치에 대해 견고한 두 가지 통계, 즉 중앙값과 견고한 표준 편차()를 사용하여 이상치를 감지합니다RSTD. RSTD 는 특성 값을 범위[5백분위수, 95백분위수]로 클리핑하고 클리핑된 벡터의 표준 편차를 계산하여 파생됩니다. 중앙값 + 5*보다 크RSTD거나 중앙값 - 5*보다 작은 모든 값은 이상치로 RSTD 간주됩니다.

  • 스큐(Skew) (숫자 열의) - 스큐는 분포의 대칭성을 측정하며 분포의 세 번째 모멘트를 표준 편차의 3제곱으로 나눈 값으로 정의됩니다. 정규 분포 또는 기타 대칭 분포의 왜도는 0입니다. 양수 값은 분포의 오른쪽 꼬리가 왼쪽 꼬리보다 길다는 것을 의미합니다. 음수 값은 분포의 왼쪽 꼬리가 오른쪽 꼬리보다 길다는 것을 의미합니다. 일반적으로 스큐의 절대값이 3보다 크면 분포가 치우친 것으로 간주됩니다.

  • 첨도(Kurtosis) (숫자 열의) - Pearson의 첨도는 분포 꼬리의 영향을 측정합니다. 분포의 네 번째 모멘트를 두 번째 모멘트의 제곱으로 나눈 값으로 정의됩니다. 정규 분포의 첨도는 3입니다. 첨도 값이 3보다 작으면 분포가 평균 주위에 집중되고 꼬리가 정규 분포의 꼬리보다 가볍다는 것을 의미합니다. 첨도 값이 3보다 크면 꼬리 또는 이상치가 더 무겁다는 의미입니다.

  • 누락된 값 - NULL과 유사한 객체, 빈 문자열, 공백으로만 구성된 문자열은 누락된 것으로 간주됩니다.

  • 숫자 변수 또는 회귀 대상에 적합한 값 - 유한 부동 소수점으로 지정할 수 있는 모든 값이 유효합니다. 누락된 값은 유효하지 않습니다.

  • 범주형, 바이너리 또는 텍스트 변수 또는 분류 대상에 유효한 값 - 누락되지 않은 모든 값이 유효합니다.

  • Datetime 변수 날짜/시간 객체로 지정할 수 있는 모든 값이 유효합니다. 누락된 값은 유효하지 않습니다.

  • 유효하지 않은 값 - 누락되었거나 제대로 지정할 수 없는 값. 예를 들어 숫자 열에서는 "six" 문자열이나 null 값을 지정할 수 없습니다.

Quick model metrics for regression

다음은 빠른 모델 메트릭의 정의입니다.

  • R2 (또는 결정 계수) - R2는 모델이 예측한 대상의 변동 비율입니다. R2는 [-infty, 1] 범위 내에 있습니다. 1은 대상을 완벽하게 예측하는 모델의 점수이고 0은 항상 대상 평균을 예측하는 간단한 모델의 점수입니다.

  • MSE 또는 평균 제곱 오차 - MSE 는 [0, infty] 범위에 있습니다. 0은 대상을 완벽하게 예측하는 모델의 점수입니다.

  • MAE 또는 평균 절대 오차 - MAE는 [0, infty] 범위에 있으며, 여기서 0은 대상을 완벽하게 예측하는 모델의 점수입니다.

  • RMSE 또는 제곱근 평균 오류 - RMSE는 [0, infty] 범위에 있으며, 여기서 0은 대상을 완벽하게 예측하는 모델의 점수입니다.

  • 최대 오차 - 데이터 세트에 대한 오차의 최대 절대값입니다. 최대 오차는 [0, infty] 범위에 있습니다. 0은 대상을 완벽하게 예측하는 모델의 점수입니다.

  • 절대 오차 중앙값 - 절대 오차 중앙값은 [0, infty] 범위에 있습니다. 0은 대상을 완벽하게 예측하는 모델의 점수입니다.

Quick model metrics for classification

다음은 빠른 모델 메트릭의 정의입니다.

  • 정확도(Accuracy) - 정확도는 정확하게 예측된 샘플의 비율입니다. 정확도는 [0, 1] 범위에 있습니다. 0은 모든 샘플을 잘못 예측한 모델의 점수이고 1은 완벽한 모델의 점수입니다.

  • 균형 정확도 - 균형 정확도는 데이터의 균형을 맞추기 위해 클래스 가중치를 조정할 때 정확하게 예측된 샘플의 비율입니다. 빈도와 상관없이 모든 클래스에 동일한 중요도가 부여됩니다. 균형 정확도는 [0, 1] 범위에 있습니다. 0은 모든 샘플을 잘못 예측한 모델의 점수이고 1은 완벽한 모델의 점수입니다.

  • AUC (이진 분류) - 수신기 작동 특성 곡선 아래의 영역입니다. AUC 는 무작위 모델이 0.5점을 반환하고 완벽한 모델은 1점을 반환하는 범위 [0, 1]에 있습니다.

  • AUC (OVR) - 다중 클래스 분류의 경우 1 대 나머지를 사용하여 각 레이블에 대해 별도로 계산된 수신기 작동 특성 곡선 아래 영역입니다. Data Wrangler는 면적의 평균을 보고합니다. AUC 는 범위 [0, 1]에 있으며, 여기서 무작위 모델은 0.5점을 반환하고 완벽한 모델은 1점을 반환합니다.

  • 정밀도(Precision) - 정밀도는 특정 클래스에 대해 정의됩니다. 정밀도는 모델이 해당 클래스로 분류한 모든 인스턴스 중에서 True positive의 비율을 나타냅니다. 정밀도는 [0, 1] 범위 내에 있습니다. 1은 해당 클래스에 대해 False Positive가 없는 모델의 점수입니다. 바이너리 분류의 경우 Data Wrangler는 포지티브 클래스의 정밀도를 보고합니다.

  • 재현율(Recall) - 리콜은 특정 클래스에 대해 정의됩니다. 재현율은 관련 클래스 인스턴스 중 성공적으로 검색된 인스턴스의 비율입니다. 재현율은 [0, 1] 범위 내에 있습니다. 1은 클래스의 모든 인스턴스를 올바르게 분류한 모델의 점수입니다. 바이너리 분류의 경우 Data Wrangler는 포지티브 클래스의 재현율을 보고합니다.

  • F1 - F1은 특정 클래스에 대해 정의됩니다. F1은 정밀도와 재현율의 조화 평균입니다. F1의 범위는 [0, 1]입니다. 1은 완벽한 모델의 점수입니다. 바이너리 분류의 경우 Data Wrangler는 값이 양수인 클래스에 대해 F1을 보고합니다.

Textual patterns

패턴은 읽기 쉬운 형식을 사용하여 문자열의 텍스트 형식을 설명합니다. 다음은 텍스트 패턴의 예입니다.

  • {digits:4-7}”는 길이가 4에서 7 사이인 일련의 숫자를 나타냅니다.

  • {alnum:5}”는 길이가 정확히 5인 영숫자 문자열을 나타냅니다.

Data Wrangler는 데이터의 비어 있지 않은 문자열의 샘플을 보고 패턴을 유추합니다. 일반적으로 사용되는 여러 패턴을 설명할 수 있습니다. 백분율로 표시되는 신뢰도는 패턴과 일치하는 것으로 추정되는 데이터의 양을 나타냅니다. 텍스트 패턴을 사용하면 데이터에서 수정하거나 삭제해야 하는 행을 확인할 수 있습니다.

다음은 Data Wrangler가 인식할 수 있는 패턴을 설명합니다.

패턴 텍스트 형식

{alnum}

영숫자 문자열

{any}

모든 단어 문자열

{digits}

일련의 숫자

{lower}

소문자 단어

{mixed}

대소문자가 혼합된 단어

{name}

대문자로 시작하는 단어

{upper}

대문자 단어

{whitespace}

공백 문자

단어 문자는 밑줄이거나 모든 언어의 단어에 나타날 수 있는 문자입니다. 예를 들어 문자열'Hello_word'과 문자열 'écoute' 모두 단어 문자로 구성됩니다. 'H'와 'é' 모두 단어 문자의 예입니다.

편향 리포트

SageMaker Canvas는 데이터에서 잠재적 편향을 발견하는 데 도움이 되도록 Data Wrangler에서 편향 보고서를 제공합니다. 편향 보고서는 대상 열(라벨)과 편향(패싯 변수)이 포함될 수 있다고 생각되는 열 간의 관계를 분석합니다. 예를 들어 고객 전환을 예측하려는 경우 패싯 변수는 고객의 연령일 수 있습니다. 편향 보고서는 데이터가 특정 연령 그룹에 편향되는지 여부를 결정하는 데 도움이 될 수 있습니다.

Canvas에서 바이어스 보고서를 생성하려면 다음을 수행합니다.

  1. Data Wrangler의 데이터 흐름에서 흐름의 노드 옆에 있는 추가 옵션 아이콘( Vertical ellipsis icon representing a menu or more options. )을 선택합니다.

  2. 컨텍스트 메뉴에서 데이터 인사이트 가져오기를 선택합니다.

  3. 분석 생성 측면 패널이 열립니다. 분석 유형 드롭다운 메뉴에서 편향 보고서 를 선택합니다.

  4. 분석 이름 필드에 편향 보고서의 이름을 입력합니다.

  5. 모델이 예측하는 열 선택(대상) 드롭다운 메뉴에서 대상 열을 선택합니다.

  6. 예측 열이 값 또는 임계값입니까?에서 대상 열에 범주형 값이 있는 경우 값을 선택하고 숫자 값이 있는 경우 임계값을 선택합니다.

  7. 예측 값(또는 이전 단계의 선택에 따라 예측 임계값)에 목표 열 값 또는 양수 결과에 해당하는 값을 입력합니다. 예를 들어 고객 전환을 예측하는 경우 값은 고객이 변환되었음을 나타내는 yes 것일 수 있습니다.

  8. 편향에 대해 분석할 열 선택 드롭다운 메뉴에서 패싯 변수라고도 하는 편향이 포함될 수 있다고 생각되는 열을 선택합니다.

  9. 열이 값 또는 임계값입니까?에서 패싯 변수에 범주형 값이 있는 경우 값을 선택하고 숫자 값이 있는 경우 임계값을 선택합니다.

  10. 열 값(들)에서 바이어스를 분석하려면(또는 이전 단계에서 선택한 항목에 따라 바이어스를 분석하려면 열 임계값) 잠재적 바이어스를 분석하려는 값 또는 값을 입력합니다. 예를 들어 특정 연령 이상의 고객에 대한 편향을 확인하는 경우 해당 연령 범위의 시작을 임계값으로 사용합니다.

  11. 편향 지표 선택 에서 편향 보고서에 포함할 편향 지표를 선택합니다. 각 지표에 대한 자세한 내용을 알아보려면 정보 아이콘 위에 마우스를 올려놓으세요.

  12. (선택 사항) 추가 지표를 분석하시겠습니까? 옵션과 함께 메시지가 표시되면 예를 선택하여 더 많은 편향 지표를 보고 포함합니다.

  13. 편향 보고서를 생성할 준비가 되면 추가를 선택합니다.

생성된 보고서는 선택한 편향 지표에 대한 개요를 제공합니다. 데이터 흐름의 분석 탭에서 언제든지 편향 보고서를 볼 수 있습니다.

히스토그램(Histogram)

히스토그램을 사용하면 각 특징의 특징 값 수를 확인할 수 있습니다. 사용자는 색상 기준 옵션을 사용하여 기능 간의 관계를 검사할 수 있습니다.

사용자는 패싯 기능을 사용하여 다른 열의 각 값에 대해 한 열의 히스토그램을 생성할 수 있습니다.

산점도

산점도 기능을 사용하여 특징 간의 관계를 검사할 수 있습니다. 산점도를 만들려면 X축Y축에 플롯할 기능을 선택합니다. 이 두 열 모두 숫자 형식의 열이어야 합니다.

추가 열을 기준으로 산점도에 색을 지정할 수 있습니다.

또한 특징별로 산점도를 패싯할 수 있습니다.

테이블 요약

표 요약 분석을 사용하면 데이터를 빠르게 요약할 수 있습니다.

로그 및 부동 데이터를 비롯한 수치 데이터가 있는 열의 경우 표 요약에 각 열의 항목 수(개수), 최소값(최소), 최대값(최대), 평균, 표준편차(stddev)가 표시됩니다.

문자열, 부울 또는 날짜/시간 데이터가 있는 열을 포함하는 숫자가 아닌 데이터가 있는 열의 경우 표 요약에는 항목 수(개수), 가장 빈도가 낮은 값(최소), 가장 빈도가 높은 값(최대)이 보고됩니다.

빠른 모델

빠른 모델 시각화를 사용하여 데이터를 빠르게 평가하고 각 특징에 대한 중요도 점수를 산출할 수 있습니다. 기능 중요도 점수는 기능이 대상 레이블을 예측하는 데 얼마나 유용한지를 나타냅니다. 기능 중요도 점수는 [0, 1] 사이이며 숫자가 높을수록 해당 특징이 전체 데이터 세트에서 더 중요하다는 것을 나타냅니다. 빠른 모델 차트의 상단에는 모델 점수가 있습니다. 분류 문제는 F1 점수를 나타냅니다. 회귀 문제에는 평균 제곱 오차(MSE) 점수가 있습니다.

빠른 모형 차트를 만들 때는 평가할 데이터 세트와 기능 중요도를 비교할 대상 레이블을 선택합니다. Data Wrangler는 다음을 수행합니다.

  • 선택한 데이터 세트의 대상 레이블 및 각 특징에 대한 데이터 형식을 유추합니다.

  • 문제 유형을 결정합니다. Data Wrangler는 레이블 열에 있는 고유 값의 수를 기반으로 이것이 회귀 문제 유형인지 분류 문제인지 판단합니다. Data Wrangler는 범주형 임곗값을 100으로 설정합니다. 레이블 열에 100개가 넘는 고유 값이 있는 경우 Data Wrangler는 이를 회귀 문제로 분류하고 그렇지 않으면 분류 문제로 분류합니다.

  • 훈련을 위해 특징 및 레이블 데이터를 사전 처리합니다. 알고리즘을 사용하려면 특징을 vector 유형으로 인코딩하고 레이블을 double 유형으로 인코딩해야 합니다.

  • 데이터의 70%를 사용하여 랜덤 포레스트(random forest) 알고리즘을 훈련시킵니다. SparkRandomForestRegressor는 회귀 문제에 대해 모델을 훈련하는 데 사용됩니다. RandomForestClassifier 는 분류 문제에 대해 모델을 훈련하는 데 사용됩니다.

  • 나머지 30% 의 데이터로 랜덤 포레스트 모델을 평가합니다. Data Wrangler는 F1 점수를 사용하여 분류 모델을 평가하고 MSE 점수를 사용하여 회귀 모델을 평가합니다.

  • Gini(지니) 중요도 방법을 사용하여 각 기능의 기능 중요도를 계산합니다.

대상 누출

대상 누출은 기계 학습 훈련 데이터 세트에 대상 레이블과 강한 상관 관계가 있지만 실제 데이터에서는 사용할 수 없는 데이터가 있을 때 발생합니다. 예를 들어 모델을 사용하여 예측하려는 열의 프록시 역할을 하는 열이 데이터 세트에 있을 수 있습니다.

대상 누출 분석을 사용할 때는 다음을 지정합니다.

  • 대상: ML 모델이 예측을 하려는 특징입니다.

  • 문제 유형: 작업 중인 ML 문제 유형입니다. 문제 유형은 분류 또는 회귀일 수 있습니다.

  • (선택 사항) 최대 기능: 시각화에 표시할 수 있는 최대 특징 수로, 특징을 대상 누출 위험을 기준으로 순위를 매겨 보여줍니다.

분류를 위해 대상 누출 분석은 수신기 작동 특성 아래의 영역 또는 각 열에 대한 AUC - ROC 곡선을 최대 기능까지 사용합니다. 회귀 분석의 경우, 이는 결정 계수 또는 R2 지표를 사용합니다.

AUC - ROC 곡선은 최대 약 1,000개 행의 샘플에 대해 교차 검증을 사용하여 각 열에 대해 개별적으로 계산된 예측 지표를 제공합니다. 1점은 완벽한 예측 능력을 나타내며, 이는 종종 대상 누출을 나타냅니다. 점수가 0.5점 이하이면 열의 정보 자체로는 대상 예측에 유용한 정보를 제공하지 못함을 나타냅니다. 열 자체로는 정보를 제공하지 않지만 다른 기능과 함께 사용할 경우 대상을 예측하는 데 유용할 수 있지만 점수가 낮으면 기능이 중복되었음을 의미할 수 있습니다.

다중 공선성

다중 공선성(Multicollinearity)은 두 개 이상의 예측 변수가 서로 관련되어 있는 상황입니다. 예측 변수는 대상 변수를 예측하는 데 사용하는 데이터 세트의 특징입니다. 다중 공선성이 있는 경우 예측 변수는 대상 변수를 예측할 뿐만 아니라 서로를 예측할 수도 있습니다.

Variance Inflation Factor(VIF), Principal Component Analysis(PCA) 또는 Lasso 기능 선택을 데이터의 다중 선형성에 대한 측정값으로 사용할 수 있습니다. 추가 정보는 다음을 참조하세요.

Variance Inflation Factor (VIF)

Variance Inflation Factor(VIF)는 변수 페어 간의 공동 선형성 측정치입니다. Data Wrangler는 변수가 서로 얼마나 밀접한 관련이 있는지에 대한 척도로 VIF 점수를 반환합니다. VIF 점수는 1보다 크거나 같은 양수입니다.

점수가 1이면 변수가 다른 변수와 상관관계가 없음을 의미합니다. 점수가 1보다 크면 상관관계가 높음을 나타냅니다.

이론적으로 는 값이 무한인 VIF 점수를 가질 수 있습니다. Data Wrangler는 50점을 최고 점수로 사용합니다. VIF 점수가 50보다 큰 경우 Data Wrangler는 점수를 50으로 설정합니다.

다음 지침을 사용하여 VIF 점수를 해석할 수 있습니다.

  • 5 이하의 VIF 점수는 변수가 다른 변수와 중간 정도로 상관관계가 있음을 나타냅니다.

  • 5 이상의 VIF 점수는 변수가 다른 변수와 높은 상관관계가 있음을 나타냅니다.

Principle Component Analysis (PCA)

Principal Component Analysis(PCA)는 특성 공간의 다양한 방향을 따라 데이터의 분산을 측정합니다. 특징 공간은 데이터 세트의 대상 변수를 예측하는 데 사용하는 모든 예측 변수로 구성됩니다.

예를 들어 빙산에 도달한 후 RMS 타이타닉에서 생존한 사람을 예측하려는 경우 특성 공간에는 승객의 연령, 성별 및 지불한 요금이 포함될 수 있습니다.

특성 공간에서 는 정렬된 분산 목록을 PCA 생성합니다. 이러한 분산을 특이값(singular value)이라고도 합니다. 분산 목록의 값은 0보다 크거나 같습니다. 이 값을 사용하여 데이터에 다중 공선성이 얼마나 있는지 확인할 수 있습니다.

숫자가 거의 균일한 경우 데이터는 다중 공선성이 거의 없습니다. 값 간에 변동성이 많으면 다중 공선성이 나타나는 경우가 많습니다. 를 수행하기 전에 PCAData Wrangler는 각 기능을 평균 0과 표준 편차 1로 정규화합니다.

참고

PCA 이 상황에서는 단일 값 분해()라고도 합니다SVD.

Lasso feature selection

올가미 특징 선택은 L1 정규화 기법을 사용하여 데이터 세트에 가장 예측 가능한 특징만 포함합니다.

분류와 회귀 분석 모두에서 정규화 기법은 각 특징에 대한 계수를 생성합니다. 계수의 절대값은 특징에 대한 중요도 점수를 제공합니다. 중요도 점수가 높을수록 대상 변수를 더 잘 예측할 수 있음을 의미입니다. 일반적인 특징 선택 방법은 올가미 계수가 0이 아닌 모든 특징을 사용하는 것입니다.

시계열 데이터의 이상 탐지

이상 탐지 시각화를 사용하여 시계열 데이터의 이상치를 확인할 수 있습니다. 이상을 결정하는 요인을 이해하려면 시계열을 예측 항과 오차 항으로 분해한다는 점을 이해해야 합니다. 시계열의 계절성과 추세를 예측 항으로 취급합니다. 잔차(residual)를 오차항으로 취급합니다.

오차 항의 경우 임곗값을 표준 편차의 배수로 지정하면, 잔차가 평균에서 멀어질 때 이상으로 간주될 수 있습니다. 예를 들어, 임곗값을 표준편차의 3배로 지정할 수 있습니다. 평균에서 표준 편차의 3배보다 더 큰 잔차는 이상입니다.

다음 절차를 사용하여 이상 탐지 분석을 수행할 수 있습니다.

  1. Data Wrangler 데이터 흐름을 엽니다.

  2. 데이터 흐름의 데이터 형식에서 +를 선택하고 분석 추가를 선택합니다.

  3. 분석 유형에서 시계열을 선택합니다.

  4. 시각화에서는 이상 탐지를 선택합니다.

  5. 이상 임곗값에서 예외로 간주하는 임곗값을 선택합니다.

  6. 미리 보기를 선택하여 분석 미리 보기를 생성합니다.

  7. 추가를 선택하여 Data Wrangler 데이터 흐름에 변환을 추가합니다.

시계열 데이터의 계절 추세 분해

Seasonal Trend Decomposition(계절적 추세 분해) 시각화를 사용하여 시계열 데이터에 계절성이 있는지 여부를 확인할 수 있습니다. STL (를 사용한 계절별 추세 분해LOESS) 메서드를 사용하여 분해를 수행합니다. 시계열은 계절 요소, 추세 요소, 잔차 요소로 분해됩니다. 추세 요소는 시리즈의 장기적 진행 상황을 반영합니다. 계절 요소는 일정 기간 동안 반복되는 신호입니다. 시계열에서 추세와 계절 요소를 제거하면 잔차가 남습니다.

다음 절차를 사용하여 계절-추세 분해 분석을 수행할 수 있습니다.

  1. Data Wrangler 데이터 흐름을 엽니다.

  2. 데이터 흐름의 데이터 형식에서 +를 선택하고 분석 추가를 선택합니다.

  3. 분석 유형에서 시계열을 선택합니다.

  4. 시각화에서는 계절-추세 분해를 선택합니다.

  5. 이상 임곗값에서 예외로 간주하는 임곗값을 선택합니다.

  6. 미리 보기를 선택하여 분석 미리 보기를 생성합니다.

  7. 추가를 선택하여 Data Wrangler 데이터 흐름에 변환을 추가합니다.

사용자 지정 시각화 생성

Data Wrangler 흐름에 분석을 추가하여 사용자 지정 시각화를 만들 수 있습니다. 적용한 모든 변환이 포함된 데이터 세트는 Pandas DataFrame 로 사용할 수 있습니다. Data Wrangler는 df 변수를 사용하여 데이터프레임을 저장합니다. 변수를 호출하여 데이터프레임에 액세스할 수 있습니다.

Altair 출력 차트를 chart 저장하려면 출력 변수 를 제공해야 합니다. 예를 들어, 다음 코드 블록을 사용하여 타이타닉 데이터 세트에 대한 사용자 지정 히스토그램을 만들 수 있습니다.

import altair as alt df = df.iloc[:30] df = df.rename(columns={"Age": "value"}) df = df.assign(count=df.groupby('value').value.transform('count')) df = df[["value", "count"]] base = alt.Chart(df) bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count')) rule = base.mark_rule(color='red').encode( x='mean(value):Q', size=alt.value(5)) chart = bar + rule
사용자 지정 시각화를 만들려면:
  1. 시각화하려는 변환이 포함된 노드 옆의 +를 선택합니다.

  2. 분석 추가를 선택합니다.

  3. 분석 유형에서 사용자 지정 시각화를 선택합니다.

  4. 분석 이름에서 이름을 지정합니다.

  5. 코드 상자에 코드를 입력합니다.

  6. 미리보기를 선택하여 시각화를 미리 볼 수 있습니다.

  7. 저장을 선택하여 시각화를 추가합니다.

Python의 Altair 시각화 패키지 사용법을 모르는 경우, 사용자 지정 코드 조각을 사용하면 시작 시 도움이 됩니다.

Data Wrangler에는 검색 가능한 시각화 코드 조각 모음이 있습니다. 시각화 코드 조각을 사용하려면, 예제 조각 검색을 선택하고 검색 창에서 쿼리를 지정합니다.

다음 예제에서는 Binned 산점도 코드 조각을 사용합니다. 2차원에 대한 히스토그램을 플롯합니다.

코드 조각에는 코드를 변경할 때 필요한 사항을 파악하는 데 도움이 되는 주석이 있습니다. 일반적으로 코드에 데이터 세트의 열 이름을 지정해야 합니다.

import altair as alt # Specify the number of top rows for plotting rows_number = 1000 df = df.head(rows_number) # You can also choose bottom rows or randomly sampled rows # df = df.tail(rows_number) # df = df.sample(rows_number) chart = ( alt.Chart(df) .mark_circle() .encode( # Specify the column names for binning and number of bins for X and Y axis x=alt.X("col1:Q", bin=alt.Bin(maxbins=20)), y=alt.Y("col2:Q", bin=alt.Bin(maxbins=20)), size="count()", ) ) # :Q specifies that label column has quantitative type. # For more details on Altair typing refer to # https://altair-viz.github.io/user_guide/encoding.html#encoding-data-types