안녕하세요! 오늘은 BigQuery ML 실습을 해봤는데요, 처음엔 복잡해 보였지만 막상 해보니 생각보다 단순하더라고요. 핵심은 데이터 준비 → 모델 만들기 → 성능 확인 → 예측하기 이 4단계예요.
준비 단계
일단 실습 환경부터 세팅해야겠죠?
- Start Lab 버튼 누르고, 제공된 아이디/비밀번호로 시크릿 모드 브라우저에서 구글 클라우드 콘솔에 로그인했어요.
- 콘솔 검색창에 BigQuery 쳐서 들어갔고요.
- 왼쪽 탐색창에 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;

정리하면
- 데이터 준비: training_data 뷰 저장
- 모델 생성: CREATE MODEL 쿼리 실행
- 모델 평가: ML.EVALUATE 실행
- 예측: july_data 뷰 저장 후, SUM 함수 들어간 최종 쿼리 실행
이제 Check my progress 버튼들 눌러서 점수 확인하고, End Lab으로 종료하면 끝!
생각보다 어렵지 않죠? 여러분도 한번 도전해보세요! 💪

728x90
'AI ML' 카테고리의 다른 글
| Vertex AI Studio로 AI 앱 만들어보기 (0) | 2025.12.16 |
|---|---|
| 딥러닝 EXPRESS 스터디 1차 (3) | 2025.07.19 |
| 9.4 ML History / 과대적합 완화 / 모델저장 뒤 복원 / 콜백 / RELU (1) | 2024.09.04 |
| 9.3 합성곱 신경망 (3) | 2024.09.03 |
| 9.2 Tensorflow (0) | 2024.09.02 |