해당 게시글은 안드레이스 뭘러의 [Introduction to machine learning with python]을 정리한 내용입니다.
1. 소개
이 장에서는 왜 머신러닝이 등장하고, 머신러닝의 종류와 필수 라이브러리, 붓꽃 품종 분류를 통한 scikit-learn이해에 대한 내용을 담고 있다.
지도학습(교사학습) | 비지도학습(비교사학습) | 강화학습 |
이미 알려진 사례를 바탕으로 일반화된 모델을 만들어 의사결정 프로세스를 자동화하는 것 (입력과 출력 有) |
알고리즘에 입력은 주어지지만 출력은 제공되지 않는다. | 어떤 임의의 존재 (Agent) 가 주어진 환경 내에서 어떻게 행동해야 하는지에 대해 학습하는 것 |
ex) 1. 편지봉투에 손으로 쓴 우편번호 숫자 판별 2. 의료 영상 이미지에 기반한 종양 판단 3. 의심되는 신용카드 거래 감지 |
ex) 1. 블로그 글의 주제 구분 2. 고객들을 취향이 비슷한 그룹으로 묶기 3. 비정상적인 웹사이트 접근 탐지 |
ex) 1. 쿠키런 2. 알파고 |
- sample(샘플) or data point : 하나의 개체 혹은 행
- 특성 : 샘플의 속성, 즉 열
- scikit-learn:
- 오픈소스인 사이킷런은 자유롭게 사용하거나 배포 ok
- 매우 인기가 높고 독보적인 파이썬 머신러닝 라이브러리
- 딥러닝은 제공하지 않는다.
- numpy
- 기본 데이터 구조
- 사이킷런은 numpy를 기본적 데이터 구조로 받는다
- 핵심은 다차원 ndarray 클래스를 생성한다는 것이다
- 모든 원소는 동일하다!
- 성과측정
- 훈련데이터(set) : train
- 테스트데이터(set) : test
- train_test_split 함수를 사용한다.
- 기본 비율은 train 75%, test = 25%이다.
- 유사 난수 생성기[random_state=n]
- 데이터 셋을 무작위로 섞는다.
- 데이터 살펴보기 : 산점도 그래프를 이용하면 좋다
- k-최근접 알고리즘 (k-NN)
- 유유상종! => 새로운 데이터를 입력 받았을 때 가장 가까이 있는 것이 무엇이냐를 중심으로 새로운 데이터의 종류를 정해주는 알고리즘
- 분류나 회귀에 사용되는 비모수 방식이다
- 두 경우 모두 입력이 특정 공간 내 k개의 가장 가까운 훈련 데이터로 구성되어 있다
- k=n 여기서 n은 본인이 지정할 수 있다.
- 분류와 회귀 모두 더 가까운 이웃일수록 더 먼 이웃보다 평균에 더 많이 기여하도록 이웃의 기여에 가중치를 주는 것이 유용할 수 있다. 예를 들어, 가장 흔한 가중치 스키마는 d가 이웃까지의 거리일 때 각각의 이웃에게 1/d의 가중치를 주는 것이다(wiki)
요약 | |
훈련 세트(학습) | 모델 구축에 사용 |
테스트 세트(검증) | 모델이 새로운 데이터에 얼마나 잘 적용될 수 있을지 평가 |
k-최근접 이웃 분류 알고리즘 | 새 데이터 포인트를 예측하기 위해 훈련 데이터에서 가장 가까운 이웃을 선택 |
모델을 만드는 것(fit)은 물론, 예측(predict)도 가능 | |
score 메서드로 모델 평가 |
'개발 > sk infosec cloud ai 전문가 양성과정' 카테고리의 다른 글
[파이썬 라이브러리를 활용한 머신러닝 #3] (0) | 2020.09.22 |
---|---|
[파이썬 라이브러리를 활용한 머신러닝 #2] (0) | 2020.09.13 |
[MNF 비지도학습] SK infosec 클라우드 AI전문가 양성과정 실습파일 (0) | 2020.09.11 |
[PYTHON 머신러닝]SK infosec 클라우드 AI 전문가 양성과정 수업필기본 (0) | 2020.09.11 |
[CNN&비지도학습]SK infosec 클라우드 AI 전문가 양성과정 실습 (0) | 2020.09.08 |