[프로젝트로 배우는 데이터사이언스] 분류모델 기초 1.1 사이킷런과 머신러닝
프로젝트로 배우는 데이터사이언스
부스트코스 무료 강의
www.boostcourse.org
학습 목표: Scikit-learn 과 Machine Learning 이해하기
알고리즘을 알면 데이터 예측이 더 정확해지지만, 조리 도구 관점에서 요리 도구의 매커니즘을 이해하기 보단 도구를 활용해 어떤 걸 만들 수 있는지 배워보는 시간이 되자.
Scikit-learn
파이썬 머신러닝 라이브러리
scikit-learn: machine learning in Python — scikit-learn 1.5.1 documentation
Comparing, validating and choosing parameters and models. Applications: Improved accuracy via parameter tuning. Algorithms: Grid search, cross validation, metrics, and more...
scikit-learn.org
Supervised learning: Classification vs. Regression
- label이 있고, 범주형 데이터를 이용하냐 vs. 수치형 데이터 예측이냐의 차이
Unsupervised learning: Clustering vs. Demensionality reduction
Basic API
- estimator.fit(X, [y])
estimator (SVM, Random-forest Model 등) 의 학습 - estimator.prediction
Classification, Regression, Clustering - estimatior.transform
Preprocessing, Dimensionality reduction, Feature selection, Feature extraction
모델: 데이터 검증 (Cross Validation)
모델 학습(fit)에서 데이터를 어떻게 분배해서 쓸 건지에 대한 내용: Finding Parameters, Final evaluation
- Training data를 한 개의 set으로 학습해 시험보면 결과가 좋지 않다.
한 개의 Traning data를 Fold 여러 개로 set 나눠주고, fold 개수만큼 split 해서 각 행에서 fold fit의 평균 최대값을 가지는 모델과 parameter를 찾기 위한 방법. - 책 한 권에 모의고사 10개가 있으면 8개는 답지보면서 익히고 9회, 10회는 진짜 시험처럼 test data로 이용하는 것
이 때, 각 모의고사에서 어떤 모의고사를 test data(fold)로 이용하고 train data(fold)로 이용할 지를 결정하는 것
데이터 분석용 데이터를 만들기 위한 training data에서 feature extraction, scaling, feature selection을 모두 포함하는 개
Grid Searches
Preprocessing and Pipelines
토큰화: 벡터화
Working with Text Data
FeatureUnion
Overfitting & Underfitting
- Underfitting: Accuracy 자체가 낮은 단계
- Overfitting: Training label 에 대한 Accuracy는 좋지만, Generalization(Test)에 대한 정확도는 낮은 단계
- 가중치나 파라미터 조절로 Sweet spot을 찾아야 한다.
수학 모델 - 모형
Linear SVM, (RBF) Kernel SVM
Linear Models는 분류용, 회귀용이 나뉘어져 있지만 Tree-Based models는 분류, 회귀 둘 다 사용가능함.
- 분류용: LogisticRegression
- 회귀용: Ridge, ElasticNet...
Decision Trees > Random Forests
더 좋은 성능을 내기 위한 - bootstrapping: overffiting을 막기 위해 데이터 sampling해서 예측
- 그러나 depth가 깊어지면 overfitting을 막을 수 없다.
- Model vs. Mathematical Model
- 모델은 데이터로부터 학습한 결과물 - 알고리즘을 사용해 데이터의 패턴을 학습하고 새로운 데이터 예측하는 수학적 구조
- Regression Model, Clustering Model
- 모형은 문제를 수학적으로 표현한 것으로 주로 방정식을 의미한다.
- Linear Regression, Logistic Regression
- 모델은 데이터로부터 학습한 결과물 - 알고리즘을 사용해 데이터의 패턴을 학습하고 새로운 데이터 예측하는 수학적 구조
Randomized Parameter Search
어떤 점수 레이아웃이 좋은 점수를 내는 지 알아내기 위한 방법
- Grid layout
- Random layout
Scoring Search
점수 채점을 위해 기준치를 두는 방법