1. 훈련 세트와 테스트 세트
비지도학습: 타깃 데이터가 없음, 입력 데이터에서 어떤 특징을 찾는데 활용
훈련세트: 모델을 훈련할 때 사용하는 데이터, 세트가 클 수록 좋고 테스트세트를 제외한 모든 데이터를 사용
테스트세트: 전체 데이터에서 20~30%를 사용하는 경우가 많고, 전체 데이터가 크다면 1%도 상관없음
지도 학습에서는 데이터와 정답을 입력과 타깃이라고 하고 이둘을 합쳐 훈련 데이터라고 부름
from sklearn.neighbors import KNeighborsClassifier # 클래스 임포트
kn = KNeighborsClassifier() # kn객체 생성
kn.fit(train_input, train_target) # 모델 훈련
kn.score(test_input, test_target) # 테스트 세트로 평가
넘파이
import numpy as np
seed(): 난수를 생성하기 위한 정수 초깃값을 저장
arange(): 기본간격은 1, 일정한 간격의 정수 또는 실수 배열을 만듬
shuffle(): np.random.shuffle() 처럼 사용 - 주어진 배열을 랜덤하게 섞음
np.random.seed(42) # 일정한 결과를 얻기위해 랜덤시드를 42로 지정
index = np.arange(49) # 0~48까지 일차원 배열 생성
np.random.shuffle(index) # 무작위로 섞는 shuffle() 함수
2. 데이터 전처리
데이터 전처리: 머신러닝 모델에 훈련 데이터를 주입하기 전에 가공하는 단계
np.column_stack(([1,2,3], [4,5,6])) # 전달받은 리스트를 일렬로 세운 다음 연결시켜준다..
# 리스트를 튜플형태로 묶어주어야함
표준점수: 훈련세트의 스케일을 바꾸는 대표적인 방법, 표준점수 = 특성의 평균을 빼고 표준편차로 나눠준다
브로드캐스팅: 크기가 다른 넘파이 배열에서 자동으로 사칙 연산을 모든 행이나 열로 확장해주는 기능
train_test_split(): 훈련 데이터를 훈련 세트와 테스트세트로 나누는 함수
teset_size 매개변수에서 비율을 지정할수 있고 기본값은 25%
shhuffle 매개변수로 훈련 세트와 테스트 세트로 나누기 전에 무작위로 섞을지 결정
kneighbors(): k-최근접 이웃 객체의 메서드, n_neighbors 매개변수로 개수 지정 가능
from sklearn.neighbors import KNeighborsClassifier # k-최근접 이웃(거리를 계산) - 현재 내 위치에서 다수가 근접하는 값을 찾음
kn = KNeighborsClassifier()
kn.fit(train_input, train_target) # 훈련 데이터로 모델 훈련
kn.score(test_input, test_target) # 테스트 데이터로 모델 평가
'[ML&DL]' 카테고리의 다른 글
[ML&DL] 비지도학습 (0) | 2023.03.10 |
---|---|
[ML&DL] 트리 알고리즘 (0) | 2023.03.09 |
[ML&DL] 다양한 분류 알고리즘 (0) | 2023.03.08 |
[ML&DL] 회귀 알고리즘과 모델 규제 (0) | 2023.03.07 |
[ML&DL] 입문 (0) | 2023.03.06 |