사이킷런 sklearn
사이킷런은 파이썬 머신러닝 중 가장 보편적으로 쓰이는 라이브러리 입니다.
- 텐서플로가 딥러닝을 위한 라이브러리 라고 한다면, 사이킷런은 머신러닝과 관련된 기술들을 쉽고 통일된 인터페이스로 사용할 수 있게 해줍니다.
- 사이킷런은 머신러닝을 위한 다양한 알고리즘과 개발을 위해 편리한 API, 프레임워크를 제공합니다.
- 실전 환경에서 오랜 기간 검증된 라이브러리로 텐서플로, 케라스 등 딥러닝 라이브러리가 강세로 등장한 현재까지도 매우 많은 환경에서 사용되고 있는 라이브러리 입니다.
주피터 환경을 사용하기 위한 Anaconda 를 설치하면 기본적으로 사이킷런까지 설치가 완료됩니다.
앞서 아나콘다를 ai 인공지능 수학을 공부하면서 아나콘다 설치에 대해서 정리한 것이 있으니 이곳을 활용해주세요.
https://blue-dot.tistory.com/32
하지만 혹시나 버전에 문제가 있어서 오류가 발생하는 경우가 생길 수 있으니,
저는 공부하고 있는 책과 같은 사이킷런 버전 1.0.2 를 설치하여 사용했습니다.
사이킷런 버전 1.0.2를 설치하려면 우선 아나콘다 프롬포트를 열고 pip 를 입력해 설치하시면 됩니다.
(윈도우 10 환경은 아나콘다 프롬포트 생성 시 마우스 오른쪽 버튼을 클릭해서 관리자권한으로 실행해주세요!)
만약 여기에서 아나콘다 가상환경을 추가해서 해당 가상환경에 설치하고 싶다면
아나콘다 프롬포트에서 가상환경을 이동하여 설치해야 합니다.
방법은 다음과 같습니다.
아나콘다 가상환경에 모듈 설치하기
1. 아나콘다 프롬포트 Prompt 열기
2. conda env list 입력 후 설치된 가상환경 확인하기
3. conda activate 설치하고자_하는_가상환경 으로 입력하여 가상환경 활성화하기
4. 앞의 (base) 가 (설치하고자_하는_가상환경) 으로 바뀐 것을 확인하였다면 pip install 설치하고자_하는_모듈 입력하기
우리는 사이킷런 1.0.2 버전을 설치하고자 하니 pip install scikit-learn==1.0.2 를 입력해줍니다.
설치가 끝났다면 주피터 노트를 새로 생성해서 사이킷런의 version을 확인해봅니다.
import sklearn
print(sklearn.__version__)
첫 번째 머신러닝 만들기
붓꽃 품종 예측하기
사이킷런을 처음 시작할 때 주 학습 데이터로 사용하는 것은 '붓꽃 품종 예측' 입니다.
붓꽃 데이터 세트는 꽃잎의 길이와 너비, 꽃받침의 길이와 너비 피처(Feature) 를 기반으로 꽃의 품종을 예측하기 위한 것입니다.
우리는 사이킷런을 통해 첫 번째로 붓꽃 데이터 세트로 품종을 분류하여 볼게요.
여기에서 등장하는 피처 와 분류 에 대해서 먼저 알아볼게요.
피처란?
여기서 피처Feature 라는 말이 등장합니다.
피처는 앞으로 데이터 분석을 하며 자주 접할 단어인데, 데이터 특성을 나타내는 것으로 데이터 표에서 열column 을 지칭합니다.
피처라는 용어는 변수variable 이라는 용어와 자주 혼용되어 사용됩니다.
데이터 분석에서는 행row 을 관측치observed valude 라는 용어로 많이 사용합니다.
즉, 데이터 세트의 일반 속성이며,
머신 러닝은 2차원 이상의 다차원 데이터에서도 많이 사용되기 때문에 타겟 값을 제외한 나머지 속성을 모두 피처로 지칭합니다.
여기서 한 가지 더, 데이터 분석에서 표는 데이터 특성을 나타내는 feature 피처가 항상 열에 옵니다.
열과 행은 바꾸면 안 됩니다. 항상 피처는 칼럼이라는 것을 잊지 마세요.
분류란?
분류는 대표적인 지도 학습Supervised Learning 방법 중 하나 입니다.
각각의 레이블을 분류하여 해당 피처가 어떤 분류의 데이터와 일치하는지 확인합니다.
지도 학습은 다양한 피처와 분류 결정 값인 레이블Lable 데이터로 모델을 학습한 뒤,
별도의 테스트 데이터 세트에서 미지의 레이블을 예측합니다.
명확한 정답이 주어진 데이터를 학습한 뒤 모르는 문제를 풀어보는 거예요.
우리가 공부를 하는 것과 같아요. 처음에는 정답이 다 적혀있는 교과서를 공부하면서 학습을 하고, 그 뒤에는 답이 적혀있지 않은 랜덤의 문제를 풀면서 테스트를 합니다.
머신러닝도 같아요. 학습 데이터를 통해 레이블을 학습하고, 랜덤으로 값이 비어 있는 테스트 데이터를 통해 미지의 레이블을 예측합니다.
- 학습 데이터 세트 : 학습을 위해 주어진 데이터 세트
- 테스트 데이터 세트 : 머신러닝 모델의 예측 성능을 평가하기 위해 별도로 주어진 데이터 세트
이제 직접 붓꽃 데이터를 분류해서 예측해볼게요.
붓꽃 데이터 분류 예측 프로세스 과정
- 데이터 세트 분리 : 데이터를 학습 데이터와 테스트 데이터로 분리합니다.
- 모델 학습 : 학습 데이터를 기반으로 한 머신러닝 알고리즘을 적용해 모델을 학습시킵니다.
- 예측 수행 : 학습된 머신러닝 모델을 이용해 테스트 데이터의 붓꽃 종류를 예측합니다.
- 평가 : 예측된 결과값과 테스트 데이터의 실제 결과값을 비교해 모델의 성능을 평가합니다.
흐름이 끊기지 않기 위해서 이번에는 과정까지만 살펴보고
직접 주피터 노트북을 생성해서 실행하는 것을 다음 장에서 이어서 하겠습니다!
'AI 머신러닝 딥러닝 > 파이썬 머신러닝 입문 공부일지' 카테고리의 다른 글
파이썬 머신러닝 입문 공부일지 11. 지도학습, 비지도학습, 사이킷런 주요 모듈 (0) | 2023.01.04 |
---|---|
파이썬 머신러닝 입문 공부일지 10. 첫 번째 머신러닝 만들기 - 붓꽃 품종 예측하기 (2) (0) | 2023.01.04 |
파이썬 머신러닝 입문 공부일지 8. apply lambda 데이터 가공 (0) | 2023.01.03 |
파이썬 머신러닝 입문 공부일지 7. 결손 데이터 Null Data 처리하기 (0) | 2023.01.03 |
파이썬 머신러닝 입문 공부일지 6. 판다스 DataFrame 정렬, Aggregation, GroupBy (0) | 2023.01.03 |