본문 바로가기

AI ML

Preparing for Google Cloud Certification: Machine Learning Engineer /모듈1 AI 기초/ LAB BigQuery ML로 방문자 구매 예측하기

안녕하세요! 오늘은 BigQuery ML 실습을 해봤는데요, 처음엔 복잡해 보였지만 막상 해보니 생각보다 단순하더라고요. 핵심은 데이터 준비 → 모델 만들기 → 성능 확인 → 예측하기 이 4단계예요.

준비 단계

일단 실습 환경부터 세팅해야겠죠?

  1. Start Lab 버튼 누르고, 제공된 아이디/비밀번호로 시크릿 모드 브라우저에서 구글 클라우드 콘솔에 로그인했어요.
  2. 콘솔 검색창에 BigQuery 쳐서 들어갔고요.
  3. 왼쪽 탐색창에 bqml_lab이라는 데이터셋이 보이는지 확인했어요. (안 보이면 프로젝트 ID 옆 화살표 눌러보세요!)

Step 1. 데이터 탐색 및 준비

AI한테 공부시킬 교과서를 만드는 단계라고 보시면 돼요.

+ 버튼(SQL 쿼리 작성)을 누르고 아래 코드를 복붙해서 실행했어요.

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;

결과가 쭉 나오면, 위쪽에 Save > Save view 클릭해서 저장했어요.

  • Dataset: bqml_lab 선택
  • Table: training_data 입력
  • Save!

 

 

Step 2. 모델 만들기

이제 준비한 데이터로 sample_model이라는 이름의 AI를 학습시켜볼 거예요.

새 쿼리창 열고 (+ 버튼) 아래 코드 실행했어요. 참고로 좀 시간 걸려요! (약 3분 이내정도)

CREATE MODEL
  `bqml_lab.sample_model`
OPTIONS (
  model_type = 'LOGISTIC_REG',
  input_label_cols = ['label']
) AS
SELECT
  label,
  os,
  is_mobile,
  country,
  pageviews
FROM
  `bqml_lab.training_data`;

실습에서 Gemini 기능도 써보라고 하던데, 저는 그냥 이 코드 바로 썼어요.

 

 

Step 3. 모델 평가

만든 모델이 얼마나 똑똑한지 테스트해봐야겠죠?

새 쿼리창 열고 아래 코드 실행!

SELECT
  *
FROM
  ML.EVALUATE(MODEL `bqml_lab.sample_model`,
  (SELECT * FROM `bqml_lab.training_data`));

결과표가 나오면 성공이에요!

 

Step 4. 모델 사용하기

여기가 제일 중요하고 살짝 헷갈릴 수 있어요. 두 가지를 해야 해요.

1) 예측용 데이터 저장하기

먼저 7월 데이터를 준비했어요.

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';

결과 나오면 Save > Save view 클릭해서:

  • Dataset: bqml_lab
  • Table: july_data (이름 중요!)
  • Save

2) 구매 국가 예측하기

실습에서 일부러 틀린 코드(TOTAL 함수)를 주고 고치라고 하더라고요. 정답은 SUM을 쓰는 거예요!

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;

 

 

 

정리하면

  1. 데이터 준비: training_data 뷰 저장
  2. 모델 생성: CREATE MODEL 쿼리 실행
  3. 모델 평가: ML.EVALUATE 실행
  4. 예측: july_data 뷰 저장 후, SUM 함수 들어간 최종 쿼리 실행

이제 Check my progress 버튼들 눌러서 점수 확인하고, End Lab으로 종료하면 끝!

생각보다 어렵지 않죠? 여러분도 한번 도전해보세요! 💪

 

 

 

728x90