AI 머신러닝 딥러닝/파이썬 머신러닝 입문 공부일지

파이썬 머신러닝 입문 공부일지 9. 사이킷런 기초 시작하기 (사이킷런 설치하기, 첫 번째 머신러닝 만들기 - 붓꽃 품종 예측하기) (1)

Tomitom 2023. 1. 4. 10:30
반응형

 

사이킷런 sklearn

사이킷런은 파이썬 머신러닝 중 가장 보편적으로 쓰이는 라이브러리 입니다. 

 

  • 텐서플로가 딥러닝을 위한 라이브러리 라고 한다면, 사이킷런은 머신러닝과 관련된 기술들을 쉽고 통일된 인터페이스로 사용할 수 있게 해줍니다.
  • 사이킷런은 머신러닝을 위한 다양한 알고리즘과 개발을 위해 편리한 API, 프레임워크를 제공합니다. 
  • 실전 환경에서 오랜 기간 검증된 라이브러리로 텐서플로, 케라스 등 딥러닝 라이브러리가 강세로 등장한 현재까지도 매우 많은 환경에서 사용되고 있는 라이브러리 입니다. 

주피터 환경을 사용하기 위한 Anaconda 를 설치하면 기본적으로 사이킷런까지 설치가 완료됩니다. 

앞서 아나콘다를 ai 인공지능 수학을 공부하면서 아나콘다 설치에 대해서 정리한 것이 있으니 이곳을 활용해주세요. 

 

 

https://blue-dot.tistory.com/32

 

 

AI 인공지능 수학 공부일지 1. 파이썬 개발 환경 아나콘다Anaconda 설치하기, 주피터 Jupyter 실행하기

오늘부터 인공지능 수학을 공부합니다. 인공지능용 수학은 필요한 분야의 수학이 정해져 있습니다. 벡터, 행렬, 텐서 등을 다루는 선형대수, 상미분, 편미분, 연쇄법칙 등을 다루는 미분, 표준편

blue-dot.tistory.com

 

 

 

하지만 혹시나 버전에 문제가 있어서 오류가 발생하는 경우가 생길 수 있으니, 

저는 공부하고 있는 책과 같은 사이킷런 버전 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차원 이상의 다차원 데이터에서도 많이 사용되기 때문에 타겟 값을 제외한 나머지 속성을 모두 피처로 지칭합니다. 

 

 

https://joylife052.tistory.com/entry/ML%EC%99%95%EC%B4%88%EB%B3%B4-%ED%94%BC%EC%B2%98feature-%EB%8F%85%EB%A6%BD%EB%B3%80%EC%88%98-%EC%A2%85%EC%86%8D%EB%B3%80%EC%88%98

 

 

여기서 한 가지 더, 데이터 분석에서 표는 데이터 특성을 나타내는 feature 피처가 항상 열에 옵니다. 

열과 행은 바꾸면 안 됩니다. 항상 피처는 칼럼이라는 것을 잊지 마세요.

 

 

https://joylife052.tistory.com/entry/ML%EC%99%95%EC%B4%88%EB%B3%B4-%ED%94%BC%EC%B2%98feature-%EB%8F%85%EB%A6%BD%EB%B3%80%EC%88%98-%EC%A2%85%EC%86%8D%EB%B3%80%EC%88%98

 

 

분류란?

분류는 대표적인 지도 학습Supervised Learning 방법 중 하나 입니다. 

각각의 레이블을 분류하여 해당 피처가 어떤 분류의 데이터와 일치하는지 확인합니다. 

 

지도 학습은 다양한 피처와 분류 결정 값인 레이블Lable 데이터로 모델을 학습한 뒤,

별도의 테스트 데이터 세트에서 미지의 레이블을 예측합니다. 

 

 

 

 

명확한 정답이 주어진 데이터를 학습한 뒤 모르는 문제를 풀어보는 거예요. 

 

우리가 공부를 하는 것과 같아요. 처음에는 정답이 다 적혀있는 교과서를 공부하면서 학습을 하고, 그 뒤에는 답이 적혀있지 않은 랜덤의 문제를 풀면서 테스트를 합니다. 

 

머신러닝도 같아요. 학습 데이터를 통해 레이블을 학습하고, 랜덤으로 값이 비어 있는 테스트 데이터를 통해 미지의 레이블을 예측합니다. 

 

  • 학습 데이터 세트 : 학습을 위해 주어진 데이터 세트 
  • 테스트 데이터 세트 : 머신러닝 모델의 예측 성능을 평가하기 위해 별도로 주어진 데이터 세트 

 

이제 직접 붓꽃 데이터를 분류해서 예측해볼게요. 

 

붓꽃 데이터 분류 예측 프로세스 과정 

  • 데이터 세트 분리 : 데이터를 학습 데이터와 테스트 데이터로 분리합니다. 
  • 모델 학습 : 학습 데이터를 기반으로 한 머신러닝 알고리즘을 적용해 모델을 학습시킵니다. 
  • 예측 수행 : 학습된 머신러닝 모델을 이용해 테스트 데이터의 붓꽃 종류를 예측합니다. 
  • 평가 : 예측된 결과값과 테스트 데이터의 실제 결과값을 비교해 모델의 성능을 평가합니다. 

 

흐름이 끊기지 않기 위해서 이번에는 과정까지만 살펴보고

직접 주피터 노트북을 생성해서 실행하는 것을 다음 장에서 이어서 하겠습니다!

 

 

 

 

반응형