{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "edec260f-4232-4817-a035-fe3533030be1", "metadata": {}, "source": [ "# __AutoML을 사용하여 예측 모델 만들기__" ] }, { "attachments": {}, "cell_type": "markdown", "id": "1663f276", "metadata": {}, "source": [ "- 튜토리얼 난이도: ★☆☆☆☆\n", "- 읽는 시간: 5분\n", "- 사용 언어: [SQL](https://ko.wikipedia.org/wiki/SQL) (100%)\n", "- 실행 파일 위치: tutorial/thanosql_ml/regression/automl_regression.ipynb\n", "- 참고 문서: [(캐글) Bike Sharing Demand](https://www.kaggle.com/competitions/bike-sharing-demand/overview)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "ee7afe15-fd61-4239-ac84-1e03043de750", "metadata": {}, "source": [ "## 튜토리얼 소개\n", "\n", "
회귀 작업은 목푯값(Target)이 연속성을 지닌 숫자를 예측하기 위해 사용하는 머신러닝(기계학습/Machine Learning)의 한 형태입니다. 예를 들어, 기상 데이터가 주어졌을 때 내일 기온을 예측하거나, 특정지역의 집값을 예측할 때 사용할 수 있습니다.
\n", "👉 대표적인 머신러닝 경진대회 플랫폼인 캐글의 입문자를 위한 Bike Sharing Demand 데이터 세트를 사용하여 자전거 수요 예측 회귀 모델을 만듭니다. 이 대회의 목표는 아래와 같습니다. (참고로, 해당 대회의 데이터는 2011년부터 2012년까지 날짜와 시간, 기온, 습도, 풍속 등의 정보를 기반으로 자전거 대여 횟수가 기재되어 있습니다.)
\n", "\n", " | datetime | \n", "season | \n", "holiday | \n", "workingday | \n", "weather | \n", "temp | \n", "atemp | \n", "humidity | \n", "windspeed | \n", "count | \n", "
---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "2011-01-01 0:00 | \n", "1 | \n", "0 | \n", "0 | \n", "1 | \n", "9.84 | \n", "14.395 | \n", "81 | \n", "0.0 | \n", "16 | \n", "
1 | \n", "2011-01-01 1:00 | \n", "1 | \n", "0 | \n", "0 | \n", "1 | \n", "9.02 | \n", "13.635 | \n", "80 | \n", "0.0 | \n", "40 | \n", "
2 | \n", "2011-01-01 2:00 | \n", "1 | \n", "0 | \n", "0 | \n", "1 | \n", "9.02 | \n", "13.635 | \n", "80 | \n", "0.0 | \n", "32 | \n", "
3 | \n", "2011-01-01 3:00 | \n", "1 | \n", "0 | \n", "0 | \n", "1 | \n", "9.84 | \n", "14.395 | \n", "75 | \n", "0.0 | \n", "13 | \n", "
4 | \n", "2011-01-01 4:00 | \n", "1 | \n", "0 | \n", "0 | \n", "1 | \n", "9.84 | \n", "14.395 | \n", "75 | \n", "0.0 | \n", "1 | \n", "
bike_sharing_train 테이블은 아래와 같은 정보를 담고 있습니다. 2011년 1월부터 2012년 12월까지 날짜와 시간, 기온, 습도, 풍속 등의 정보를 기반으로 1시간 간격 동안의 자전거 대여 횟수에 대한 정보를 담고 있습니다.
\n", "\n", " | metric | \n", "score | \n", "
---|---|---|
0 | \n", "MAE | \n", "78.6563 | \n", "
1 | \n", "MSE | \n", "10986.4542 | \n", "
2 | \n", "R2 | \n", "0.2292 | \n", "
3 | \n", "RMSLE | \n", "1.3861 | \n", "
4 | \n", "MAPE | \n", "0.5028 | \n", "
평가용 데이터 세트는 학습 데이터 세트의 일부를 분리하여 학습에 사용되지 않아야 하나 튜토리얼에서는 편의상 학습 데이터를 사용합니다.
\n", "\n", " | datetime | \n", "season | \n", "holiday | \n", "workingday | \n", "weather | \n", "temp | \n", "atemp | \n", "humidity | \n", "windspeed | \n", "predict_result | \n", "
---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "2011-01-20 0:00 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "10.66 | \n", "11.365 | \n", "56 | \n", "26.0027 | \n", "102.836334 | \n", "
1 | \n", "2011-01-20 1:00 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "10.66 | \n", "13.635 | \n", "56 | \n", "0.0000 | \n", "92.060480 | \n", "
2 | \n", "2011-01-20 2:00 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "10.66 | \n", "13.635 | \n", "56 | \n", "0.0000 | \n", "92.060480 | \n", "
3 | \n", "2011-01-20 3:00 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "10.66 | \n", "12.880 | \n", "56 | \n", "11.0014 | \n", "95.181085 | \n", "
4 | \n", "2011-01-20 4:00 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "10.66 | \n", "12.880 | \n", "56 | \n", "11.0014 | \n", "95.181085 | \n", "
5 | \n", "2011-01-20 5:00 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "9.84 | \n", "11.365 | \n", "60 | \n", "15.0013 | \n", "91.816701 | \n", "
6 | \n", "2011-01-20 6:00 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "9.02 | \n", "10.605 | \n", "60 | \n", "15.0013 | \n", "87.213365 | \n", "
7 | \n", "2011-01-20 7:00 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "9.02 | \n", "10.605 | \n", "55 | \n", "15.0013 | \n", "87.054590 | \n", "
8 | \n", "2011-01-20 8:00 | \n", "1 | \n", "0 | \n", "1 | \n", "1 | \n", "9.02 | \n", "10.605 | \n", "55 | \n", "19.0012 | \n", "88.568595 | \n", "
9 | \n", "2011-01-20 9:00 | \n", "1 | \n", "0 | \n", "1 | \n", "2 | \n", "9.84 | \n", "11.365 | \n", "52 | \n", "15.0013 | \n", "103.445460 | \n", "
ThanoSQL을 활용해 나만의 모델을 만들거나, 나의 서비스에 적용하는데 어려움이 있다면 언제든 아래로 문의주세요😊
\n", "회귀 모델 구축 관련 문의: contact@smartmind.team
\n", "