머신러닝 대표적인 라이브러리가 Scikit-Learn(사이킷-런)인 이유
안녕하세요
달콤친절한 코딩캠프의 로스윗입니다.
오늘은 머신러닝 대표적인 라이브러리인 scikit-learn(사이킷런)애 대해서 알아보겠습니다
바로 레고~!!
- 머신러닝 사이킷-런(Scikit-Learn)이란?
Scikit-Learn이란 대표적인 머신러닝 라이브러리 입니다.
파이썬에 있는 오픈소스 라이브러리이고
머신러닝 한다면 다 사이킷-런으로 구현할 정도로 유명합니다.
사실상 사이킷-런(scikit-learn)이 머신러닝의 표준입니다.
내부 최적화도 잘 되어 있어서 성능도 괜찮은 편입니다.
가장 오래되고 유서 깊은 라이브러리이고
사실 사이킷-런(scikit-learn)만 잘 익혀도
머신러닝을 구현하는데에는 전혀 어려움이 없습니다.
-파이썬 오픈소스 라이브러리 중에서 머신러닝을 구현하는데 특화된 라이브러리
이제 사이킷런(scikit-learn)만의 몇 가지 장단점을 알아볼까요?
-사이킷-런(scikit-learn) 장점
1. sklearn은 거의 대부분의 머신러닝 알고리즘들이 구현되어 있습니다.
(클러스터링은 거의 사이킷런 밖에 없을 정도입니다)
2. 또한 굉장히 구조적으로 만들어져 있어서, 사용하기 편리합니다.
(oop 즉, 클래스 구조를 잘 설게했다는 말입니다.)
3. sklearn 이후에 만들어진 대부분의 머신러닝 라이브러리들이 모두 sklearn-style을 따릅니다.
(사실상 기준이기 때문입니다.)
4. Pycaret, XGBoost, LightGBM, CatBoost 같은 대표적인 머신러닝 라이브러리들도
모두 sklearn에 dependency를 가지고 있습니다.
(dependency를 가지고 있다는 것은 sklearn이 설치가 되어야 그것을 기반으로 만들 수 있다는 말입니다)
-사이킷-런(scikit-learn) 단점
1. 머신러닝을 위해서 만들어진 라이브러리다보니, 딥러닝을 하기에는 적합하지 않습니다.
(딥러닝과 머신러닝은 하드웨어 디팬던시가 다르고,
내부적으로 컴퓨터 공학적으로 볼때도 완전 다른 방식을 사용하기 때문에 호환이 잘 되지 않습니다.
그래서 딥러닝에서는 tensorflow나 pythoch를 사용합니다.)
-사이킷-런(scikit-learn)을 사용하여 하나의 머신러닝 모델을 불러와서 학습하고 평가하기
이제 사이킷런을 사용해서 머신러닝 모델(ML Model)을 불러오는 방법을 알려드리게요!
1. 사용할 모델 불러옵니다.
from sklearn.ensemble import RandomForestClassifier
from sklearn.metrics import accuracy_score
2. 모델 객체 선언하기
model = RandomForestClassifier() -> 하이퍼 파라미터 세팅을 할 수 있습니다.
3. 학습하기
model.fit(X_train, y_train) -> sklearn에서 학습은 모두다 fit함수입니다.
4. Inference하기
pred = model.predict(X_test) -> sklearn에서 inference는 모두다 predict함수입니다.
5. 평가하기
print(“Accuracy : %.4f” % accuracy_score(y_test, pred))
>> Accuracy : 0.8976
오늘 포스팅은 여기까지입니다.
긴 글 읽어 주셔서 감사합니다.
로스윗의 코딩캠프는 미래의 개발자 여러분을 항상 응원합니다.
모두 화이팅!!
'머신러닝' 카테고리의 다른 글
[머신러닝] 의료분야 기계학습 시 꼭 알아야 할 데이터 3법!! (ft. 의료 데이터 분석가) (0) | 2022.10.05 |
---|---|
머신러닝 성능 평가 지표 완벽 이해(ft. Accuracy, Precision, Recall) (0) | 2022.10.04 |
로스윗의 스윗~한 머신러닝 로지스틱 회귀(Logistic Regression) (0) | 2022.09.14 |
머신러닝 LightGBM이 XGBoost보다 좋은 이유 (0) | 2022.09.03 |
한 눈에 이해하는 머신러닝 전과정 (0) | 2022.09.02 |