

특성 (Feature)
생선 데이터의 길이와 무게
chap 01-3에서 생선 맞추기에 사용한 k-최근접 이웃 알고리즘은 지도 학습 알고리즘!
테스트 세트 (Test set)
평가에 사용하는 데이터
훈련 세트 (Train set)
훈련에 사용되는 데이터
모델을 평가하려면, 훈련할 때 사용하지 않은 데이터로 평가 해야함.
생선 데이터 49개에서 14개를 테스트 세트로 하기
(훈련 데이터의 10~20%를 테스트 세트로 한다. 단 전체 데이터가 아주 많을 땐, 1%도 괜춘)
이때, 훈련 데이터와 테스트 데이터에는 클래스가 골고루 섞여 있어야 한다.
샘플링 편향(Sampling bias) 조심!
import numpy as np
input_arr = np.array(fish_data) # 리스트를 배열로 만들어줌
target_arr = np.array(fish_target)
배열은 크기를 갖는다.
shape으로 확인 가능.
input_arr.shape # (샘플 수, 특성 수)를 알 수 있음.
np.random.seed()
일정한 결과를 얻으려면 초기에 랜덤 시드를 지정
np.random.seed(42)
index = np.arange(49)
np.random.shuffle(index) # 49개 인덱스 배열을 무작위로 섞음.
배열 인덱싱(array indexing)
여러 개의 인덱스로 한 번에 여러 개의 원소를 선택
input_arr[[1, 3]] # input_arr에서 2번째와 4번째 샘플을 출력해줌.
데이터 세트 나누기
# 훈련 데이터 셋
train_input = input_arr[index[:35]]
train_target = target_arr[index[:35]]
# 테스트 데이터 셋
test_input = input_arr[index[35:]]
test_target = target_arr[index[35:]]
훈련 세트와 테스트 세트에 생선들이 잘 섞여 있는지 확인!
import matplotlib.pyplot as plt
plt.scatter(train_input[:, 0], train_input[:,1])
plt.scatter(test_input[:,0], test_input[:,1])
plt.xlabel(‘length’)
plt.ylabel(‘weight’)
plt.show()

2번째 머신러닝 프로그램
kn = kn.fit(train_input, train_target) # 01-3 참고
kn.score(test_input, test_target)
kn.predict(test_input) # test_target과 비교해보기!(일치함)
np.arange()
매개변수가 1개: 종료 숫자를 의미
매개변수가 2개: 시작 숫자, 종료 숫자를 의미
매개변수가 3개: 마지막 매개변수는 간격을 의미
'머신러닝 > 혼공머신' 카테고리의 다른 글
혼공머신 | Chap 03-3. 특성 공학과 규제 (0) | 2022.08.24 |
---|---|
혼공머신 | Chap 03-2. 선형 회귀 (0) | 2022.08.23 |
혼공머신 | Chap 03-1. k-최근접 이웃 회귀 (0) | 2022.08.22 |
혼공머신 | Chap 02-2. 데이터 전처리 (0) | 2022.08.17 |
혼공머신 | Chap 1-03. 마켓과 머신러닝 (0) | 2022.08.08 |