728x90
반응형
안녕하세요 늑대양입니다.
계속해서 ML 학습을 진행합니다!! 🥸
[AI 데이터 사이언티스트 취업 완성 과정]의 49일차 일과를 정리하여 안내해드리도록 하겠습니다.
Day 49 시간표:
- 머신러닝 실전
- 머신러닝 실전 (실강)
머신러닝 실전
Learning material: 한 번에 끝내는 데이터 사이언스 초격차 패키지 Online.
Part4. 머신러닝
Chapter.02 Machine Learning Workflow-01. 머신러닝 프로젝트 수행방법
- 분석 문제 정의 → 데이터 수집 → 탐색적 데이터 분석 → 피처 엔지니어링 → 예측 모델 개발 → 서비스 적용 순서로 진행됩니다.
- 각 단계별로 어떤 점들을 중요하게 생각해야 하는지, Chapter.03 Machine Learning Workflow-00. Machine Learning Workflow 을 다시 확인해보세요!
- 우리는 Kaggle에서 이미 문제 정의가 되어있는 것들을 가져와서 모델링 하는 연습을 진행해봅니다.
- 첫번째 Mini PJT인 타이타닉을 예시로 흐름을 따라가 봅시다.
Hands-on
Main URL: https://www.kaggle.com/c/titanic
- 어떤 머신러닝 문제를 풀어야 하나요?
→ 분류(classification) - 데이터는 어떻게 정의되어 있나요?
→ 891 rows x 12 columns - 생존자의 남녀 성비가 어떻게 되나요?
→ EDA : pivot_table or indexing - 어떤 머신러닝 모델을 사용하여 학습을 수행할 생각인가요?
→ Random Forest / XGBoost - 성능 평가 지표는 어떤건가요?
→ Accuracy - 어느 정도의 성능이 나오면 학습이 잘되었다고 판단하나요?
→ Top 5% public LB
Chapter.02 Machine Learning Workflow-02. ML Framework : Scikit-Learn
scikit-learn(sklearn)
- 파이썬 오픈소스 라이브러리 중에서 머신러닝을 구현하는데 특화된 라이브러리
scikit-learn main URL: https://scikit-learn.org/stable/
- sklearn은 거의 대부분의 머신러닝 알고리즘들이 구현되어 있습니다.
- 굉장히 구조적으로 잘 만들어져 있어서, 사용하기 편리합니다.
- 머신러닝을 위해서 만들어진 라이브러리다보니, 딥러닝을 하기에는 적합하지 않습니다.
- sklearn 이후에 만들어진 대부분의 머신러닝 라이브러리들이 모두 sklearn-style을 따릅니다.
- Pycaret이나 XGBoost, LightGBM, Catboost 같은 대표적인 머신러닝 라이브러리들도 모두 sklearn에 dependency를 가지고 있습니다.
Getting started
Main URL: https://scikit-learn.org/stable/getting_started.html
- 위의 페이지를 잘 따라가면 sklearn으로 쉽게 데이터를 불러와서 학습하는 코드를 따라 만들 수 있습니다.
- sklearn의 전체적인 구현 방식에는 정해진 틀이 있습니다.
# sklearn을 사용하여 하나의 ML model을 불러와서 분류 모델을 학습하고 평가하는 예시
# 1. 사용할 모델을 불러옵니다.
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
# 2. 모델 객체를 선언합니다.
model = RandomForestClassifier()
# 3. 학습을 진행합니다.
model.fit(X_train, y_train)
# 4. test data로 inference를 진행합니다.
pred = model.predict(X_test)
# 5. Evaluation metric으로 평가를 진행합니다.
print("Accuracy : %.4f" % accuracy_score(y_test, pred))
>> Accuracy : 0.8976
- 위의 코드 구현 방식은 sklearn을 사용하는 머신러닝 프로젝트에서는 공식처럼 활용되니 반드시 익숙해지도록 하자!! 🥸
머신러닝 실전 (실강)
Gradient Boosting
- 이전 트리를 보완하는 방식으로 학습되는 앙상블 기법
LightGBM
- 실제 데이터 분석 대회에서 가장 많이 사용하는 효과적인 회귀 모델
- Kaggle 같은 실전 데이터 분석 대회에서 가장 많이 사용하는 회귀 모델
- 여러 decision tree 중에 target value를 잘 찾는 tree 들만 찾아서 그 방향으로 트리를 확장!
- 대용량 데이터에 대해서 적은 메모리로도 빠르게 성능이 좋은 회귀 모델 생성 가능!!
- Memory-efficient
- More faster
- 10,000 rows 보다 적으면 overfitting 될 가능성이 높다!!
- Hyper-parameter에 영향을 많이 받기 때문에 parameter tuning이 중요!!
- 기존에 많이 쓰는 파라미터 세팅을 기억해두고, 필요에 따라 다양한 조합에 대한 테스트 필요
- 비슷한 task에서 사용했던 공개된 hyper-parameter set을 가져와서 사용
- 이런 경우가 아니라면 optuna 같은 라이브러리를 사용하여 자동으로 찾기!! > AutoML
클러스터링(Clustering)
맛보기 후, 바로 이전 학습 내용 실습 진행!!
- 비슷한 데이터끼리 묶는 방법
- 클러스터링의 (비교적) 엄밀한 정의 (Formal Definition)
"Cluster analysis or clustering is the task of grouping a set of objects in such a way that objects in the same group (called a cluster) are more similar (in some sense) to each other than to those in other gorups (clusters)."
머신러닝 실전 - 실습
Learning material: https://dacon.io/
728x90
반응형
'AI > [부트캠프] 데이터 사이언티스트 과정' 카테고리의 다른 글
[Megabyte School : AI 데이터 사이언티스트 취업 완성 과정] Day 51. (0) | 2022.11.04 |
---|---|
[Megabyte School : AI 데이터 사이언티스트 취업 완성 과정] Day 50. (0) | 2022.11.03 |
[Megabyte School : AI 데이터 사이언티스트 취업 완성 과정] Day 48. (0) | 2022.11.01 |
[Megabyte School : AI 데이터 사이언티스트 취업 완성 과정] Day 47. (0) | 2022.10.31 |
[Megabyte School : AI 데이터 사이언티스트 취업 완성 과정] Day 46. (0) | 2022.10.28 |