scikit-learn을 사용한 머신러닝 소개
이 비디오 시리즈에서는 Python의 인기 있는 scikit-learn 라이브러리를 사용하여 머신러닝 문제를 해결하는 방법을 알려드립니다. 총 4.5시간 분량의 10개 비디오 튜토리얼이 있으며 각각 해당 Jupyter 노트북이 포함되어 있습니다.
YouTube에서 전체 시리즈를 시청할 수 있으며 nbviewer를 사용하여 모든 노트북을 볼 수 있습니다.
이 시리즈는 업데이트된 콘텐츠, 퀴즈, 수료증이 포함된 무료 온라인 강좌로도 제공됩니다.
참고: 이 저장소의 노트북은 Python 3.9.1 및 scikit-learn 0.23.2를 사용하도록 업데이트되었습니다. 원본 노트북(비디오에 표시됨)은 Python 2.7 및 scikit-learn 0.16을 사용했으며 아카이브 분기에서 다운로드할 수 있습니다. 이 블로그 게시물에서 코드를 업데이트한 방법에 대해 읽을 수 있습니다.
목차
머신러닝이란 무엇이며 어떻게 작동하나요? (비디오, 노트북)
- 머신러닝이란 무엇인가요?
- 머신러닝의 두 가지 주요 범주는 무엇입니까?
- 머신러닝의 몇 가지 예는 무엇입니까?
- 기계 학습은 어떻게 "작동"합니까?
기계 학습을 위한 Python 설정: scikit-learn 및 Jupyter Notebook(비디오, 노트북)
- scikit-learn의 장점과 단점은 무엇입니까?
- scikit-learn을 어떻게 설치하나요?
- Jupyter 노트북을 어떻게 사용하나요?
- Python을 배우기에 좋은 리소스는 무엇입니까?
유명한 붓꽃 데이터 세트(비디오, 노트북)를 사용하여 scikit-learn 시작하기
- 유명한 붓꽃 데이터세트는 무엇이며, 머신러닝과 어떤 관련이 있나요?
- iris 데이터세트를 scikit-learn에 어떻게 로드하나요?
- 머신러닝 용어를 사용하여 데이터세트를 어떻게 설명하나요?
- 데이터 작업을 위한 scikit-learn의 네 가지 주요 요구 사항은 무엇입니까?
scikit-learn을 사용한 기계 학습 모델 학습(비디오, 노트북)
- K-최근접 이웃 분류 모델이란 무엇입니까?
- scikit-learn의 모델 훈련 및 예측을 위한 4단계는 무엇입니까?
- 이 패턴을 다른 기계 학습 모델에 어떻게 적용할 수 있나요?
scikit-learn의 기계 학습 모델 비교(비디오, 노트북)
- 지도 학습 작업에 사용할 모델을 어떻게 선택하나요?
- 해당 모델에 가장 적합한 튜닝 매개변수를 어떻게 선택합니까?
- 샘플 외부 데이터에 대한 내 모델의 예상 성능을 어떻게 추정합니까?
데이터 과학 파이프라인: pandas, seaborn, scikit-learn(비디오, 노트북)
- Pandas 라이브러리를 사용하여 Python으로 데이터를 읽으려면 어떻게 해야 하나요?
- seaborn 라이브러리를 사용하여 데이터를 시각화하려면 어떻게 해야 합니까?
- 선형 회귀란 무엇이며 어떻게 작동하나요?
- scikit-learn에서 선형 회귀 모델을 어떻게 훈련하고 해석합니까?
- 회귀 문제에 대한 평가 지표는 무엇입니까?
- 내 모델에 포함할 기능을 어떻게 선택하나요?
매개변수 튜닝, 모델 선택, 기능 선택을 위한 교차 검증(비디오, 노트북)
- 모델 평가에 학습/테스트 분할 절차를 사용할 때의 단점은 무엇입니까?
- K-폴드 교차 검증은 이러한 한계를 어떻게 극복합니까?
- 튜닝 매개변수 선택, 모델 선택, 기능 선택에 교차 검증을 어떻게 사용할 수 있나요?
- 교차 검증에 가능한 개선 사항은 무엇입니까?
최적의 튜닝 매개변수를 효율적으로 검색(비디오, 노트북)
- 최적의 튜닝 매개변수를 검색하기 위해 K-겹 교차 검증을 어떻게 사용할 수 있나요?
- 이 프로세스를 어떻게 더 효율적으로 만들 수 있습니까?
- 여러 튜닝 매개변수를 한 번에 검색하려면 어떻게 해야 합니까?
- 실제 예측을 하기 전에 이러한 조정 매개변수로 무엇을 합니까?
- 이 프로세스의 계산 비용을 어떻게 줄일 수 있습니까?
분류 모델 평가(비디오, 노트북)
- 모델 평가의 목적은 무엇이며 일반적인 평가 절차는 무엇입니까?
- 분류 정확도의 사용법은 무엇이며 그 한계는 무엇입니까?
- 혼동 행렬은 분류기의 성능을 어떻게 설명합니까?
- 혼동 행렬에서 어떤 측정항목을 계산할 수 있나요?
- 분류 임계값을 변경하여 분류기 성능을 어떻게 조정할 수 있나요?
- ROC 곡선의 목적은 무엇입니까?
- AUC(곡선 아래 면적)는 분류 정확도와 어떻게 다릅니까?
기계 학습 워크플로 구축(비디오, 노트북)
- 파이프라인을 사용해야 하는 이유는 무엇입니까?
- OneHotEncoder를 사용하여 범주형 기능을 어떻게 인코딩합니까?
- ColumnTransformer를 사용하여 선택한 열에 OneHotEncoder를 어떻게 적용합니까?
- 파이프라인을 어떻게 구축하고 교차 검증합니까?
- 파이프라인을 사용하여 새로운 데이터에 대해 어떻게 예측합니까?
- 전처리에 팬더 대신 scikit-learn을 사용해야 하는 이유는 무엇입니까?
보너스 영상
PyCon 2016 컨퍼런스에서 저는 이 비디오 시리즈를 기반으로 텍스트 기반 데이터 에 초점을 맞춘 3시간짜리 튜토리얼을 가르쳤습니다. YouTube에서 튜토리얼 영상을 시청하실 수 있습니다.
제가 다룬 주제는 다음과 같습니다.
- scikit-learn에서 모델 구축(복습)
- 텍스트를 숫자 데이터로 표현
- Pandas로 텍스트 기반 데이터세트 읽기
- 데이터세트 벡터화
- 모델 구축 및 평가
- 모델 비교
- 추가 통찰력을 위해 모델 검사
- 다른 데이터세트에서 이 워크플로 연습
- 벡터화기 조정(토론)
튜토리얼 노트북과 기타 여러 권장 리소스에 액세스하려면 이 GitHub 저장소를 방문하세요.