코이_CO2
LIVING IS DYING
코이_CO2
전체 방문자
오늘
어제
  • 분류 전체보기 (45)
    • TIL ⚓️ (4)
      • OT주차 (1)
      • 1주차_풀스택 미니 프로젝트 (0)
      • 1주차_언어 기초(Java) (0)
      • 2주차_프로그래밍 기초 (1)
      • 3주차_주특기 입문(Spring) (0)
      • 4주차_주특기 숙련(Spring) (2)
    • WIL ⚓️ (0)
      • OT주차 (0)
      • 1주차_언어 기초(Java) (0)
      • 2주차_프로그래밍 기초 (0)
      • 3주차_주특기 입문(Spring) (0)
      • 4주차_주특기 숙련(Spring) (0)
    • Java의 정석 📖 (4)
      • Chapter 1. 자바를 시작하기 전에 (3)
      • Chapter 2. 변수 (0)
      • Chapter 3. 연산자 (0)
      • Chapter 4. 조건문과 반복문 (1)
    • Programmers (7)
      • Lv. 1 (7)
    • 혼자 공부하는 자바 📖 (8)
      • Chapter 05 참조 타입 (0)
      • Chapter 06 클래스 (3)
      • Chapter 07 상속 (1)
      • Chapter 08 인터페이스 (1)
      • Chapter 09 중첩 클래스 & 인터페이스 (0)
      • Chapter 10 예외 처리 (1)
      • Chapter 12 스레드 (1)
    • Java (2)
    • Spring (1)
    • Python (2)
    • Mysql (4)
    • Machine Learning (6)
      • 추측 통계 (2)
    • Data Analysis (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 배열
  • HTML
  • 웹개발 종합반
  • DTO
  • 스터디
  • 자바
  • TIL
  • 프로그래머스
  • TIL/WIL
  • CRUD
  • 게시판 프로젝트
  • sql
  • Spring Security
  • programmers
  • 항해99
  • 파이썬
  • 혼자공부하는자바
  • PYTHON
  • 혼자 공부하는 자바
  • 하루기록
  • 코딩
  • jwt
  • 스프링
  • 개발자
  • spring
  • 개발일지
  • java
  • 부트스트랩
  • 주특기 심화주차
  • LV1

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
코이_CO2

LIVING IS DYING

사이킷런 개요
Machine Learning

사이킷런 개요

2022. 9. 1. 09:36

사이킷런 소개 

- https://scikit-learn.org/stable/

- 쉽고 파이썬스러운 API 제공

- 머신러닝에 필요한 다양한 알고리즘과 편리한 프레임 워크, API 제공

- 오랜기간 실전 환경에서 검증되었고 매우 많은 환경에서 사용

- 주로 Numpy와 Spicy 기반 위에 구축된 라이브러리

사이킷런 공식 홈페이지

 

 

사이킷런 장점

- 자유롭게 사용하거나 배포 가능

- 누구나 소스 코드를 보고 실제로 어떻게 동작하는지 쉽게 확인

- 꾸준히 개발, 향상되고 있고 커뮤니티 활발

- 알고리즘을 설명한 풍부한 문서

- 산업 현장이나 학계에서도 널리 사용

- 많은 튜토리얼과 예제 코드를 온라인에서 쉽게 확인

- 다른 파이썬의 과학 패키지들과 연동

 

 

알고리즘 선택 가이드

 

 

 

사이킷런의 설계 철학

- 일관성

  • 추정기 (estimator) : 데이터셋을 기반으로 일련의 모델 파라미터들을 추정하는 객체 fit(X, [y])
  • 변환기 (transformer) : 데이터셋을 변환하는 추정기 transform(X), fit_transform(X, [y])
  • 예측기 (predictor) : 주어진 데이터셋에 대한 예측을 만들 수 있는 추정기 predict(X), score(X,y)

- 검사 가능 : 모델 파라미터와 하이퍼파라미터를 공개 변수로 접근 가능

 

- 클래스 남용 방지 : 기본 데이터 타입으로 넘파이 배열을 사용

 

- 조합성 : Pipeline 클래스

 

- 합리적 기본값 : 모든 매개변수에 합리적인 기본값을 둠

 

 

 

첫 번째 머신러닝 - 붓꽃 품종 예측하기 

- 붓꽃 데이터 세트로 붓꽃의 품종을 분류(Classification)

- 데이터 세트의 특성(Feature)은 꽃잎의 길이와 너비, 꽃받침의 길이와 너비

- 다양한 붓꽃의 특성들과 그에 따른 붓꽃 종류로 학습한 뒤 새로운 붓꽃 데이터가 어떤 붓꽃 종류(Class)일지 예측

- 품종은 Setosa, Vesicolor, Virginica

붓꽃 품종 3가지

 

분류 예측 프로세스 

- 데이터 세트 분리

 : 데이터를 훈련 데이터와 테스트 데이터로 분리

 

- 모델 학습

 : 훈련 데이터를 기반으로 머신러닝 알고리즘을 적용해 모델 학습

 

- 예측 수행

: 훈련된 머신 러닝 모델을 이용해 테스트 데이터 분류를 예측

 

- 평가

 : 예측된 결과값과 테스트 데이터의 실제 결과값을 비교해 머신 러닝 모델의 성능을 평가

 

 

분류 예측 프로세스(붓꽃 데이터)

- 데이터 적재

 

- 데이터 세트 분리, 모델 학습

 

- 예측 수행, 평가

 

 

 

사이킷런 기반 프레임워크

- 분류 구현 클래스

  • Decision Tree Classifier
  • Random Forest Classifier
  • Gradient Boosting Classifier
  • GaussianNB
  • SVC

- 회귀 구현 클래스

  • Linear Regression
  • Ridge
  • Lasso
  • Random Forest Regressor
  • Gradient Boosting Regressor

 

 

 

사이킷런 주요 모듈

 

 

사이킷런 내장 예제 데이터셋

- 분류나 회귀 연습용 예제 데이터

API Description
datasets.load_boston() 회귀 용도, 미국 보스턴의 집 피처들과 가격에 대한 데이터 세트
datasets.load_breast_cancer() 분류 용도, 위스코신 유방암 피처들과 악성/음성 레이블 데이터 세트
datasets.load_diabetes() 회귀 용도, 당뇨 데이터 세트
datasets.load_digits() 분류 용도, 0에서 9까지의 숫자 이미지 픽셀 데이터 세트
datasets.load_iris() 분류 용도, 붓꽃에 대한 피처를 가진 데이터 세트

 

- 내장 예제 데이터셋 구성

 

 

 

model selection 소개  -  훈련데이터 / 테스트데이터

- 훈련 데이터

  • 머신러닝 알고리즘의 훈련을 위해 사용
  • 데이터의 특성과 레이블을 모두 가지고 있음
  • 머신러닝 알고리즘이 훈련 데이터의 특성과 레이블 값의 패턴을 인지

- 테스트 데이터

  • 훈련 데이터로 학습된 머신러닝 알고리즘을 테스트
  • 테스트 데이터는 특성값만 머신러닝 알고리즘에 제공하며 데이터 기반으로 타깃값 예측
  • 테스트 데이터는 학습데이터와 별도로 제공되어야 한다

 

 

'Machine Learning' 카테고리의 다른 글

머신러닝 알고리즘의 개요  (1) 2022.08.31
파이썬 기반의 머신러닝  (0) 2022.08.31
머신러닝 개요  (0) 2022.08.31
    'Machine Learning' 카테고리의 다른 글
    • 머신러닝 알고리즘의 개요
    • 파이썬 기반의 머신러닝
    • 머신러닝 개요
    코이_CO2
    코이_CO2
    나에게 찾아오는 뻔한 매일을 언제나 값지게 여길 줄 아는 내가 되기를

    티스토리툴바