{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "dcba9de7-327b-425a-81c8-22bebfdf88ca", "metadata": {}, "source": [ "# __AutoML을 사용하여 분류 모델 만들기__" ] }, { "attachments": {}, "cell_type": "markdown", "id": "6a5d9f51", "metadata": {}, "source": [ "- 튜토리얼 난이도: ★☆☆☆☆\n", "- 읽는데 걸리는 시간: 4 분\n", "- 사용 언어: [SQL](https://ko.wikipedia.org/wiki/SQL) (100%)\n", "- 실행 파일 위치: tutorial/thanosql_ml/classification/automl_classification.ipynb\n", "- 참고 문서: [(캐글) Titanic - Machine Learning from Disaster](https://www.kaggle.com/competitions/titanic/overview)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "b9d4488f", "metadata": { "tags": [] }, "source": [ "## 튜토리얼 소개\n", "\n", "
분류 작업은 목푯값(Target)이 속한 범주(Category 또는 Class)를 예측하기 위해 사용하는 머신러닝(기계학습/Machine Learning)의 한 형태입니다. 예를 들어, 남성 또는 여성을 분류하는 이진 분류와 동물의 종(개, 고양이, 토끼 등)을 예측하는 다중 분류 모두 분류 작업에 포함됩니다.
\n", "👉 대표적인 머신러닝 경진대회 플랫폼인 캐글의 입문자를 위한 Titanic: Machine Learning from Disaster 데이터 세트를 사용하여 생존자 예측 분류 모델을 만듭니다. 이 대회의 목표는 아래와 같습니다. (참고로, 해당 대회의 데이터는 1912년 4월 15일 실제 타이타닉 사건 때, 탑승했었던 승객들 명단입니다.)
\n", "\n", " | passengerid | \n", "survived | \n", "pclass | \n", "name | \n", "sex | \n", "age | \n", "sibsp | \n", "parch | \n", "ticket | \n", "fare | \n", "cabin | \n", "embarked | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "1 | \n", "0 | \n", "3 | \n", "Braund, Mr. Owen Harris | \n", "male | \n", "22.0 | \n", "1 | \n", "0 | \n", "A/5 21171 | \n", "7.2500 | \n", "None | \n", "S | \n", "
1 | \n", "2 | \n", "1 | \n", "1 | \n", "Cumings, Mrs. John Bradley (Florence Briggs Th... | \n", "female | \n", "38.0 | \n", "1 | \n", "0 | \n", "PC 17599 | \n", "71.2833 | \n", "C85 | \n", "C | \n", "
2 | \n", "3 | \n", "1 | \n", "3 | \n", "Heikkinen, Miss. Laina | \n", "female | \n", "26.0 | \n", "0 | \n", "0 | \n", "STON/O2. 3101282 | \n", "7.9250 | \n", "None | \n", "S | \n", "
3 | \n", "4 | \n", "1 | \n", "1 | \n", "Futrelle, Mrs. Jacques Heath (Lily May Peel) | \n", "female | \n", "35.0 | \n", "1 | \n", "0 | \n", "113803 | \n", "53.1000 | \n", "C123 | \n", "S | \n", "
4 | \n", "5 | \n", "0 | \n", "3 | \n", "Allen, Mr. William Henry | \n", "male | \n", "35.0 | \n", "0 | \n", "0 | \n", "373450 | \n", "8.0500 | \n", "None | \n", "S | \n", "
tianic_train 테이블은 아래와 같은 정보를 담고 있습니다.
\n", "\n", " | metric | \n", "score | \n", "
---|---|---|
0 | \n", "Accuracy | \n", "0.923681 | \n", "
1 | \n", "ROCAUC | \n", "0.927237 | \n", "
2 | \n", "Recall | \n", "0.939103 | \n", "
3 | \n", "Precision | \n", "0.856725 | \n", "
4 | \n", "F1-Score | \n", "0.896024 | \n", "
5 | \n", "Kappa | \n", "0.835941 | \n", "
6 | \n", "MCC | \n", "0.838139 | \n", "
평가용 데이터 세트는 학습 데이터 세트의 일부를 분리하여 학습에 사용되지 않아야 하나 튜토리얼에서는 편의상 학습 데이터를 사용합니다
\n", "\n", " | passengerid | \n", "pclass | \n", "name | \n", "sex | \n", "age | \n", "sibsp | \n", "parch | \n", "ticket | \n", "fare | \n", "cabin | \n", "embarked | \n", "predict_result | \n", "
---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | \n", "892 | \n", "3 | \n", "Kelly, Mr. James | \n", "male | \n", "34.5 | \n", "0 | \n", "0 | \n", "330911 | \n", "7.8292 | \n", "None | \n", "Q | \n", "0 | \n", "
1 | \n", "893 | \n", "3 | \n", "Wilkes, Mrs. James (Ellen Needs) | \n", "female | \n", "47.0 | \n", "1 | \n", "0 | \n", "363272 | \n", "7.0000 | \n", "None | \n", "S | \n", "0 | \n", "
2 | \n", "894 | \n", "2 | \n", "Myles, Mr. Thomas Francis | \n", "male | \n", "62.0 | \n", "0 | \n", "0 | \n", "240276 | \n", "9.6875 | \n", "None | \n", "Q | \n", "0 | \n", "
3 | \n", "895 | \n", "3 | \n", "Wirz, Mr. Albert | \n", "male | \n", "27.0 | \n", "0 | \n", "0 | \n", "315154 | \n", "8.6625 | \n", "None | \n", "S | \n", "0 | \n", "
4 | \n", "896 | \n", "3 | \n", "Hirvonen, Mrs. Alexander (Helga E Lindqvist) | \n", "female | \n", "22.0 | \n", "1 | \n", "1 | \n", "3101298 | \n", "12.2875 | \n", "None | \n", "S | \n", "0 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
413 | \n", "1305 | \n", "3 | \n", "Spector, Mr. Woolf | \n", "male | \n", "NaN | \n", "0 | \n", "0 | \n", "A.5. 3236 | \n", "8.0500 | \n", "None | \n", "S | \n", "0 | \n", "
414 | \n", "1306 | \n", "1 | \n", "Oliva y Ocana, Dona. Fermina | \n", "female | \n", "39.0 | \n", "0 | \n", "0 | \n", "PC 17758 | \n", "108.9000 | \n", "C105 | \n", "C | \n", "1 | \n", "
415 | \n", "1307 | \n", "3 | \n", "Saether, Mr. Simon Sivertsen | \n", "male | \n", "38.5 | \n", "0 | \n", "0 | \n", "SOTON/O.Q. 3101262 | \n", "7.2500 | \n", "None | \n", "S | \n", "0 | \n", "
416 | \n", "1308 | \n", "3 | \n", "Ware, Mr. Frederick | \n", "male | \n", "NaN | \n", "0 | \n", "0 | \n", "359309 | \n", "8.0500 | \n", "None | \n", "S | \n", "0 | \n", "
417 | \n", "1309 | \n", "3 | \n", "Peter, Master. Michael J | \n", "male | \n", "NaN | \n", "1 | \n", "1 | \n", "2668 | \n", "22.3583 | \n", "None | \n", "C | \n", "0 | \n", "
418 rows × 12 columns
\n", "ThanoSQL을 활용해 나만의 모델을 만들거나, 나의 서비스에 적용하는데 어려움이 있다면 언제든 아래로 문의주세요😊
\n", "분류 모델 구축 관련 문의: contact@smartmind.team
\n", "