Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence의 PySpark 및 Altair 코드 조각으로 데이터를 더 빠르게 준비하십시오. 수직 검색. 일체 포함.

Amazon SageMaker Data Wrangler에서 PySpark 및 Altair 코드 조각으로 더 빠르게 데이터 준비

Amazon SageMaker 데이터 랭글러 머신 러닝(ML)을 위해 특별히 제작된 데이터 집계 및 준비 도구입니다. 이를 통해 시각적 인터페이스를 사용하여 데이터에 액세스하고 탐색적 데이터 분석(EDA) 및 기능 엔지니어링을 수행할 수 있습니다. EDA 기능은 차트(예: 산점도 또는 히스토그램)에 대한 내장 데이터 분석 기능과 기능 중요도, 대상 누출 및 모델 설명 가능성과 같은 시간 절약형 모델 분석 기능과 함께 제공됩니다. 기능 엔지니어링 기능에는 300개 이상의 기본 제공 변환이 있으며 Python, PySpark 또는 Spark SQL 런타임을 사용하여 사용자 지정 변환을 수행할 수 있습니다.

사용자 지정 시각화 및 변환의 경우 Data Wrangler는 이제 일반적인 유형의 시각화 및 변환에 대한 예제 코드 조각을 제공합니다. 이 게시물에서는 이러한 코드 조각을 사용하여 Data Wrangler에서 EDA를 빠르게 시작하는 방법을 보여줍니다.

솔루션 개요

이 글을 쓰는 시점에서 데이터셋을 다음에서 Data Wrangler로 가져올 수 있습니다. 아마존 단순 스토리지 서비스 (아마존 S3), 아마존 아테나, 아마존 레드 시프트, Databricks 및 Snowflake. 이 게시물에서는 Amazon S3를 사용하여 2014 Amazon 리뷰 데이터세트. 다음은 데이터 세트의 샘플입니다.

{ "reviewerID": "A2SUAM1J3GNN3B", "asin": "0000013714", "reviewerName": "J. McDonald", "helpful": [2, 3], "reviewText": "I bought this for my husband who plays the piano. He is having a wonderful time playing these old hymns. The music is sometimes hard to read because we think the book was published for singing from more than playing from. Great purchase though!", "overall": 5.0, "summary": "Heavenly Highway Hymns", "unixReviewTime": 1252800000, "reviewTime": "09 13, 2009" } 

이 게시물에서는 세 개의 열을 사용하여 EDA를 수행합니다.asin, reviewTimeoverall—각각 제품 ID, 리뷰 시간 날짜 및 전체 리뷰 점수에 매핑됩니다. 우리는 이 데이터를 사용하여 몇 개월 및 몇 년에 걸친 리뷰 수에 대한 역학을 시각화합니다.

Data Wrangler에서 EDA용 예제 코드 조각 사용

Data Wrangler에서 EDA 수행을 시작하려면 다음 단계를 완료하십시오.

  1. 를 다운로드 디지털 뮤직 리뷰 데이터세트 JSON을 생성하고 Amazon S3에 업로드합니다.
    이것을 EDA의 원시 데이터 세트로 사용합니다.
  2. 엽니다 아마존 세이지 메이커 스튜디오 새 Data Wrangler 흐름을 생성하고 Amazon S3에서 데이터 세트를 가져옵니다.

    이 데이터세트에는 XNUMX개의 열이 있지만 XNUMX개만 사용합니다. asin, reviewTimeoverall. 나머지 XNUMX개 열을 삭제해야 합니다.

  3. 사용자 정의 변환을 생성하고 선택하십시오. 파이썬(파이스파크).
  4. 펼치기 예시 스니펫 검색 선택하고 여러 열을 제외한 모든 열 삭제.
  5. 제공된 스니펫을 사용자 정의 변환에 입력하고 지시에 따라 코드를 수정하십시오.
    # Specify the subset of columns to keep
    cols = ["asin", "reviewTime", "overall"] cols_to_drop = set(df.columns).difference(cols) df = df.drop(*cols_to_drop)

    이제 필요한 모든 열이 있으므로 2000-2020년 사이의 리뷰만 유지하도록 데이터를 필터링해 보겠습니다.

  6. 사용 범위를 벗어난 타임스탬프 필터링 2000년 이전과 2020년 이후 데이터를 삭제하는 스니펫:
    from pyspark.sql.functions import col
    from datetime import datetime # specify the start and the stop timestamp
    timestamp_start = datetime.strptime("2000-01-01 12:00:00", "%Y-%m-%d %H:%M:%S")
    timestamp_stop = datetime.strptime("2020-01-01 12:00:00", "%Y-%m-%d %H:%M:%S") df = df.filter(col("reviewTime").between(timestamp_start, timestamp_stop))

    다음으로 reviewTime 열에서 연도와 월을 추출합니다.

  7. 사용 날짜/시간 특징화 변환.
  8. 럭셔리 열 추출선택한다. year.

    다음으로 이전 단계에서 생성한 연도 및 월별로 리뷰 수를 집계하려고 합니다.

  9. 사용 그룹으로 통계 계산 단편:
    # Table is available as variable `df`
    from pyspark.sql.functions import sum, avg, max, min, mean, count # Provide the list of columns defining groups
    groupby_cols = ["reviewTime_year", "reviewTime_month"] # Specify the map of aggregate function to the list of colums
    # aggregates to use: sum, avg, max, min, mean, count
    aggregate_map = {count: ["overall"]} all_aggregates = []
    for a, cols in aggregate_map.items(): all_aggregates += [a(col) for col in cols] df = df.groupBy(groupby_cols).agg(*all_aggregates)

  10. 이전 단계의 집계 이름을 다음에서 바꿉니다. count(overall)reviews_num 선택하여 열 관리 그리고 열 이름 변경 변환.
    마지막으로 연도별 및 월별 리뷰 분포를 시각화하는 히트맵을 만들고 싶습니다.
  11. 분석 탭에서 다음을 선택합니다. 맞춤형 시각화.
  12. 펼치기 스니펫 검색 선택하고 히트 맵 드롭 다운 메뉴에서
  13. 제공된 스니펫을 사용자 지정 시각화에 입력합니다.
    # Table is available as variable `df`
    # Table is available as variable `df`
    import altair as alt # Takes first 1000 records of the Dataframe
    df = df.head(1000) chart = ( alt.Chart(df) .mark_rect() .encode( # Specify the column names for X and Y axis, # Both should have discrete values: ordinal (:O) or nominal (:N) x= "reviewTime_year:O", y="reviewTime_month:O", # Color can be both discrete (:O, :N) and quantitative (:Q) color="reviews_num:Q", ) .interactive()
    )

    우리는 다음과 같은 시각화를 얻습니다.

    Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence의 PySpark 및 Altair 코드 조각으로 데이터를 더 빠르게 준비하십시오. 수직 검색. 일체 포함.
    히트맵을 더욱 향상시키려면 데이터를 조각화하여 2011년 이전의 리뷰만 표시할 수 있습니다. 이는 2012년 이후로 많은 리뷰가 생성되어 방금 생성한 히트맵에서 식별하기 어렵습니다.

  14. 사용자 지정 시각화에 한 줄의 코드를 추가합니다.
    # Table is available as variable `df`
    import altair as alt df = df[df.reviewTime_year < 2011]
    # Takes first 1000 records of the Dataframe
    df = df.head(1000) chart = ( alt.Chart(df) .mark_rect() .encode( # Specify the column names for X and Y axis, # Both should have discrete values: ordinal (:O) or nominal (:N) x= "reviewTime_year:O", y="reviewTime_month:O", # Color can be both discrete (:O, :N) and quantitative (:Q) color="reviews_num:Q", ) .interactive()
    )

다음 히트맵을 얻습니다.

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence의 PySpark 및 Altair 코드 조각으로 데이터를 더 빠르게 준비하십시오. 수직 검색. 일체 포함.

이제 히트맵은 2011년 이전의 리뷰를 더 눈에 띄게 반영합니다. 계절적 영향을 관찰할 수 있고(연말에 더 많은 구매가 발생하여 더 많은 리뷰가 발생함) 2003년 2005월 및 XNUMX년 XNUMX월과 같은 비정상적인 월을 식별할 수 있습니다. 더 조사할 가치가 있습니다. 이러한 이상 현상의 원인을 확인합니다.

결론

Data Wrangler는 ML용으로 특별히 제작된 데이터 집계 및 준비 도구입니다. 이 게시물에서는 Data Wrangler에서 제공하는 코드 조각을 사용하여 EDA를 수행하고 데이터를 빠르게 변환하는 방법을 보여주었습니다. 스니펫을 찾고, 코드를 입력하고, 데이터세트와 일치하도록 매개변수를 조정하기만 하면 됩니다. 더 복잡한 시각화 및 변환을 생성하기 위해 스크립트를 계속 반복할 수 있습니다.
Data Wrangler에 대한 자세한 내용은 다음을 참조하십시오. 데이터 랭글러 흐름 생성 및 사용.


저자에 관하여

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence의 PySpark 및 Altair 코드 조각으로 데이터를 더 빠르게 준비하십시오. 수직 검색. 일체 포함.니키타 이브킨 응용 과학자, Amazon SageMaker 데이터 랭글러입니다.

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence의 PySpark 및 Altair 코드 조각으로 데이터를 더 빠르게 준비하십시오. 수직 검색. 일체 포함.하이더 나크비 AWS의 솔루션 아키텍트입니다. 그는 광범위한 소프트웨어 개발 및 엔터프라이즈 아키텍처 경험이 있습니다. 그는 고객이 AWS를 통해 비즈니스 성과를 달성할 수 있도록 하는 데 중점을 두고 있습니다. 그는 뉴욕에 기반을 두고 있습니다.

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence의 PySpark 및 Altair 코드 조각으로 데이터를 더 빠르게 준비하십시오. 수직 검색. 일체 포함.하리쉬 라자고팔란 Amazon Web Services의 수석 솔루션 아키텍트입니다. Harish는 기업 고객과 협력하여 클라우드 여정을 지원합니다.

Amazon SageMaker Data Wrangler PlatoBlockchain Data Intelligence의 PySpark 및 Altair 코드 조각으로 데이터를 더 빠르게 준비하십시오. 수직 검색. 일체 포함.제임스 우 AWS의 수석 AI/ML 전문가 SA입니다. 그는 고객과 협력하여 클라우드 여정을 가속화하고 비즈니스 가치 실현을 빠르게 추적합니다. 그 외에도 James는 다양한 도메인에서 대규모 AI/ML 솔루션을 개발하고 확장하는 데 열정을 가지고 있습니다. AWS에 합류하기 전에는 시장 및 광고 업계에서 최고의 글로벌 기업을 위해 ML 엔지니어 및 소프트웨어 개발자와 함께 다분야 혁신 기술 팀을 이끌었습니다.

타임 스탬프 :

더보기 AWS 기계 학습