scikit-learn 이란?
사이킷런은다양한 머신러닝 알고리즘이 구현되어 있는오픈 소스 패키지이다
데이터 처리, 파이프라인, 여러 학습 알고리즘, 전/후처리 등 다양한 기능 제공
scikit-learn에서는 주요기능을 갖는 객체를 제공
제공하는 머신러닝 모델 및 알고리즘은 객체의 메서드를 전부 혹은 일부 사용 가능
통일된 API 호출 시스템을 구성해 사용자가 쉽게 사용할 수 있는 인터페이스 제공하기 위함
- Estimator(추정기): fit() 메서드 활용해서 학습진행, 데이터로부터 패턴 학습하고 결과로 모델 내부 파라미터 조정
- Predictor (예측기): predict() 메서드. 학습된 모델을 사용해 새로운 데이터에 대한 예측 진행
- Transformer(변환기): transform() 메서드로 데이터를 새로운 형태로 변환. 군집화, PCA 차원 축소 등의 과정을 위해 fit_transform() 메서드 활용
- Model(): 모델의 학습 적합도를 확인할 수 있도록 score()메서드를 제공, 학습된 모델의 성능을 평가할 수 있음
Pipeline 파이프라인
머신러닝 워크플로우의 여러 단계를 하나의 수준으로 연결하는 작업
데이터 전처리부터 모델 학습과 예측까지 원하는 범위의 작업을 하나로 묶을 수있음
Pipeline은 이름과 추정기 객체가 (key, value) 쌍으로 구성되어야함
다음 과정으로 데이터를 넘겨줘야 하므로 가장 마지막을 제외하고는 모두 변환기(transformer)여야함
마지막은 추정기, 예측기, 변환기가 올 수 있음
- 추정기나 예측기가 온다면 fit(), predict()를 사용해 모델 학습과 추론을 진행할 수 있음
- 변환기가 온다면 단순 전처리기 정도로 사용 가능
마지막 단계의 컴포넌트는 파이프라인의 최종 메서드에 영향을 미침
- 만약 마지막 컴포넌트가 변환기라면 fit, predict() 메서드 사용 불가
지도학습이란?
정답 레이블 정보를 활용해 알고리즘을 학습하는 학습 방법론
데이터와 정답인 레이지블 사이의 관계를 파악하는 목적을 갖고 있음
대표적인 두 문제 - 회귀 문제(regression) 분류문제 (classification)
회귀문제
- 주관식 문제와 비슷, 입력 데이터를 바탕으로 정확한 숫자 형태의 결과를 예측 하는 문제
- ex. 내일 주식 가격은? 53,234원, 5년 뒤 내 몸무게는? 56.7
분류문제
- 입력으로 주어진 데이터를 정해진 보기 중 하나로 분류
- 보기 = 클래스 (Class)
- 분류 문제의 세분화: 주어진 클래스의 수& 모델이 결과로 출력하는 수 등에 따라 나뉨
- 이진분류 문제 : 주어지는 클래스가 2개인 경우 (ex. 긍정, 부정)
- 다중 클래스 문제: 모델이 여러 클래스를 내보내야 하는 경우 (ex. 고양이 -> 동물,포유류)
* 문제(Task)란?
머신러닝 기법을 활용해 해결하고자 하는 대상
분류 vs 회귀
회귀: 내일 주식 가격 예측 vs 분류: 내일 주식 등/락 예측
회귀: 내일 날씨 온도 예측 vs 분류: 내일 날씨 흐름/ 비/ 구름 예측
회귀: 나이를 예측 vs 분류: 나이대를 예측
'ML' 카테고리의 다른 글
[ML] 다중공선성 | SVD-OLS | Over fitting | 랏쏘회귀, 릿지회귀 (1) | 2024.02.01 |
---|---|
[ML]선형의 의미 | 다중공선성 | 선형 회귀 | 비용 함수 - 정규방정식, 경사 하강법 (0) | 2024.02.01 |
[ML] 학습,검증,평가 데이터 분할 | overfitting 과적합 | 손실함수 | 파라미터와 최적화 | 분류와 회귀 대표알고리즘 (2) | 2024.01.30 |
[ML]머신러닝에 필요한 선형대수 | 선형 변환 | 고유벡터, 고유값, 분산 | (0) | 2024.01.29 |
[ML]머신러닝 종류 | 메타 데이터와 레이블| 지도학습, 비지도학습, 준지도, 자기지도 학습, 강화학습 (1) | 2024.01.29 |