arrow_back

BigQuery ML을 사용한 방문자 구매 예측

로그인 가입
700개 이상의 실습 및 과정 이용하기

BigQuery ML을 사용한 방문자 구매 예측

실습 1시간 30분 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
700개 이상의 실습 및 과정 이용하기

개요

BigQuery 머신러닝(BigQuery ML)을 사용하면 BigQuery에서 SQL 쿼리를 사용하여 머신러닝 모델을 만들고 실행할 수 있습니다. BigQuery ML의 목표는 SQL 실무자가 기존 도구를 사용하여 모델을 빌드할 수 있도록 지원하여 머신러닝을 대중화하고 데이터 이동의 필요성을 제거하여 개발 속도를 향상시키는 것입니다.

BigQuery에는 Google Merchandise Store의 Google 애널리틱스 레코드 수백만 개가 포함된 전자상거래 데이터 세트가 로드되어 있습니다. 이번 실습에서는 이 데이터를 사용하여 방문자의 거래 여부를 예측하는 모델을 만듭니다.

학습할 내용

BigQuery에서 머신러닝 모델을 만들고, 평가하고, 사용하는 방법

필요한 항목

  • 브라우저(Chrome 또는 Firefox 등)
  • SQL 또는 BigQuery에 관한 기본 지식

설정 및 요건

각 실습에서는 정해진 기간 동안 새 Google Cloud 프로젝트와 리소스 집합이 무료로 제공됩니다.

  1. 시크릿 창을 사용하여 Qwiklabs에 로그인합니다.

  2. 실습 사용 가능 시간(예: 1:15:00)을 참고하여 해당 시간 내에 완료합니다.
    일시중지 기능은 없습니다. 필요한 경우 다시 시작할 수 있지만 처음부터 시작해야 합니다.

  3. 준비가 되면 실습 시작을 클릭합니다.

  4. 실습 사용자 인증 정보(사용자 이름비밀번호)를 기록해 두세요. Google Cloud Console에 로그인합니다.

  5. Google Console 열기를 클릭합니다.

  6. 다른 계정 사용을 클릭한 다음, 안내 메시지에 실습에 대한 사용자 인증 정보를 복사하여 붙여넣습니다.
    다른 사용자 인증 정보를 사용하는 경우 오류가 발생하거나 요금이 부과됩니다.

  7. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.

BigQuery 콘솔 열기

  1. Google Cloud Console에서 탐색 메뉴 > BigQuery를 선택합니다.

Cloud Console의 BigQuery에 오신 것을 환영합니다라는 메시지 상자가 열립니다. 이 메시지 상자에서는 빠른 시작 가이드 링크 및 UI 업데이트 목록을 확인할 수 있습니다.

  1. 완료를 클릭합니다.

작업 1. 데이터 세트 만들기

  1. 탐색기 섹션에서 프로젝트 ID 옆에 있는 점 3개를 클릭한 후 데이터 세트 만들기를 클릭하여 프로젝트에 새 데이터 세트를 만듭니다.

데이터 세트 만들기 대화상자가 열립니다.

  1. 데이터 세트 IDbqml_lab을 입력하고 데이터 세트 만들기를 클릭합니다. 나머지는 기본값을 그대로 둡니다.

작업 2. 데이터 탐색하기

이 실습에서 사용할 데이터는 공개 데이터이며 bigquery-public-data 프로젝트에 있습니다. 이 데이터의 샘플을 살펴보겠습니다.

  1. 제목 없는 쿼리 상자에 쿼리를 추가하고 실행 버튼을 클릭합니다.
#standardSQL SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20160801' AND '20170631' LIMIT 10000;

이 데이터 테이블에는 열이 많지만 ML 모델을 만드는 데 사용되는 열은 몇 개 되지 않습니다. 여기서는 거래가 이루어졌는지 확인하기 위한 기준으로 방문자가 사용한 기기의 운영체제, 해당 기기가 모바일 기기인지 여부, 방문자의 국가 또는 지역, 페이지 조회수를 사용합니다. 이 경우 label이 맞추고자(또는 예측하고자) 하는 대상입니다.

이 데이터가 생성할 ML 모델의 학습 데이터로 사용됩니다. 학습 데이터는 2016년 8월 1일부터 2017년 6월 30일까지 수집된 데이터로 제한됩니다. 이는 '예측' 작업을 수행하기 위해 지난달의 데이터를 남겨두기 위함입니다. 또한 시간 절약을 위해 데이터 포인트를 10,000개로 제한하였습니다.

  1. 이 데이터를 학습 데이터로 저장해 보겠습니다. 저장을 클릭한 후 드롭다운에서 뷰 저장을 선택하여 이 쿼리를 뷰로 저장합니다. 팝업에서 데이터 세트bqml_lab으로 선택하고 training_data테이블 이름으로 입력한 후 저장을 클릭합니다.

작업 3. 모델 만들기

  • 이제 쿼리를 다음과 같이 바꿔 방문자의 거래 여부를 예측하는 모델을 만듭니다.
#standardSQL CREATE OR REPLACE MODEL `bqml_lab.sample_model` OPTIONS(model_type='logistic_reg') AS SELECT * from `bqml_lab.training_data`;

이 경우 bqml_lab이 데이터 세트의 이름이고 sample_model이 모델의 이름이며 training_data가 이전 작업에서 살펴본 거래 데이터입니다. 지정된 모델 유형은 바이너리 로지스틱 회귀입니다.

CREATE MODEL 명령어를 실행하면 비동기적으로 실행되는 쿼리 작업을 만들어 BigQuery UI 창을 닫거나 새로고침하는 등의 작업을 수행할 수 있습니다.

[선택사항] 모델 정보 및 학습 통계

자세히 살펴보고 싶은 경우 왼쪽 메뉴에서 bqml_lab 데이터 세트를 클릭한 후 UI에서 sample_model 데이터 세트를 클릭하면 모델에 관한 정보를 가져올 수 있습니다. 세부정보에서 몇 가지 기본적인 모델 정보와 모델을 만드는 데 사용된 학습 옵션을 확인할 수 있습니다. 학습에 다음과 비슷한 테이블이 표시됩니다.

반복, 데이터 손실, 학습률, 완료 시간에 관한 데이터 행 11개와 열 6개가 있는 테이블

작업 4. 모델 평가하기

  • 이번에는 쿼리를 다음과 같이 바꿉니다.
#standardSQL SELECT * FROM ml.EVALUATE(MODEL `bqml_lab.sample_model`);

이 쿼리에서 ml.EVALUATE 함수를 사용해 예측 값과 실제 데이터를 비교합니다. 모델 성능에 대한 일부 측정항목이 공유됩니다. 다음과 비슷한 테이블이 표시됩니다.

결과 테이블

작업 5. 모델 사용하기

  1. 이제 SQL 쿼리를 클릭하고 아래 쿼리를 실행합니다.
#standardSQL SELECT IF(totals.transactions IS NULL, 0, 1) AS label, IFNULL(device.operatingSystem, "") AS os, device.isMobile AS is_mobile, IFNULL(geoNetwork.country, "") AS country, IFNULL(totals.pageviews, 0) AS pageviews, fullVisitorId FROM `bigquery-public-data.google_analytics_sample.ga_sessions_*` WHERE _TABLE_SUFFIX BETWEEN '20170701' AND '20170801';

쿼리의 SELECTFROM 부분이 학습 데이터를 생성할 때 사용된 것과 유사함을 알 수 있습니다. fullVisitorId 열은 개별 사용자의 거래를 예측하는 데 사용됩니다. WHERE 부분은 기간(2017년 7월 1일~8월 1일)의 변화를 반영합니다.

  1. 모델을 사용해 예측하는 다음 두 단계에서 사용할 수 있도록 이 7월 데이터를 저장하겠습니다. 저장을 클릭한 후 드롭다운에서 뷰 저장을 선택하여 이 쿼리를 뷰로 저장합니다. 팝업에서 데이터 세트bqml_lab으로 선택하고 july_data테이블 이름으로 입력한 후 저장을 클릭합니다.

  2. 국가/지역별 구매 예측하기

이 쿼리를 사용해 국가 또는 지역별 방문자의 거래 수를 예측해 보고, 결과를 정렬하고, 구매 건수 기준 상위 10개 항목을 선택해 보겠습니다.

#standardSQL SELECT country, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT * FROM `bqml_lab.july_data`)) GROUP BY country ORDER BY total_predicted_purchases DESC LIMIT 10;

이 쿼리에서는 ml.PREDICT를 사용하며 쿼리의 BigQuery ML 부분이 표준 SQL 명령어로 래핑되었습니다. 이 실습에서는 국가 및 각 국가의 구매 건수 합계가 중요하므로 SELECT, GROUP BY, ORDER BY를 사용했습니다. LIMIT는 상위 10개 결과만 얻기 위해 사용한 것입니다.

다음과 비슷한 테이블이 표시됩니다.

국가별 총 예측 구매 건수에 관한 데이터 행 10개와 열 3개가 있는 테이블

  1. 사용자별 구매 예측하기

여기에 또 다른 예시가 있습니다 이번에는 각 방문자가 수행할 거래 수를 예측해 보고, 결과를 정렬하고, 거래 수 기준 상위 10명의 방문자를 선택합니다.

#standardSQL SELECT fullVisitorId, SUM(predicted_label) as total_predicted_purchases FROM ml.PREDICT(MODEL `bqml_lab.sample_model`, ( SELECT * FROM `bqml_lab.july_data`)) GROUP BY fullVisitorId ORDER BY total_predicted_purchases DESC LIMIT 10;

다음과 비슷한 테이블이 표시됩니다.

전체 방문자 ID별 총 예측 구매 건수에 관한 데이터 행 10개와 열 3개가 있는 테이블

실습 종료하기

실습을 완료하면 실습 종료를 클릭합니다. Google Cloud Skills Boost에서 사용된 리소스를 자동으로 삭제하고 계정을 지웁니다.

실습 경험을 평가할 수 있습니다. 해당하는 별표 수를 선택하고 의견을 입력한 후 제출을 클릭합니다.

별점의 의미는 다음과 같습니다.

  • 별표 1개 = 매우 불만족
  • 별표 2개 = 불만족
  • 별표 3개 = 중간
  • 별표 4개 = 만족
  • 별표 5개 = 매우 만족

의견을 제공하고 싶지 않다면 대화상자를 닫으면 됩니다.

의견이나 제안 또는 수정할 사항이 있다면 지원 탭을 사용하세요.

Copyright 2020 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.