[chap 1-3] 마켓과 머신러닝
✨마켓과 머신 러닝
📍 머신 러닝은 누구도 알려주지 않는 기준을 찾아서 일을 한다.
- Ex. 도미와 빙어 분류 👉 scatter() 함수 사용
1️⃣ 도미 데이터 모으기
#도미 그래프
import matplotlib.pyplot as plt
bream_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0,
31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0,
35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0]
bream_weight = [242.0, 290.0, 340.0, 363.0, 430.0, 450.0, 500.0, 390.0, 450.0, 500.0, 475.0, 500.0,
500.0, 340.0, 600.0, 600.0, 700.0, 700.0, 610.0, 650.0, 575.0, 685.0, 620.0, 680.0,
700.0, 725.0, 720.0, 714.0, 850.0, 1000.0, 920.0, 955.0, 925.0, 975.0, 950.0]
plt.scatter(bream_length, bream_weight)
plt.xlabel('length')
plt.ylabel('weight')
plt.show()
x축이 길이, y축이 무게인 2차원 그래프이다. 여기서 알 수 있는 점은 길이가 길수록, 무게가 많이 나간다는 점이다. 이렇게 산점도의 그래프가 일직선에 가까운 형태로 나타나는 경우를 선형 이라고 부른다.
2️⃣ 빙어 데이터 모으기
#빙어 그래프
smelt_length = [9.8, 10.5, 10.6, 11.0, 11.2, 11.3,
11.8, 11.8, 12.0, 12.2, 12.4, 13.0, 14.3, 15.0]
smelt_weight = [6.7, 7.5, 7.0, 9.7, 9.8, 8.7,
10.0, 9.9, 9.8, 12.2, 13.4, 12.2, 19.7, 19.9]
plt.scatter(smelt_length, smelt_weight)
plt.xlabel("length")
plt.ylabel("weight")
plt.show()
3️⃣ length-weight 2차원 리스트 만들기
fish_data = [[l, w] for l, w in zip(length, weight)]
- zip 함수 : 나열된 리스트에서 하나씩 꺼내주는 역할
4️⃣ 정답 데이터 만들기
fish_data와 매칭이 되는 정답 데이터를 만든다. 어떤 것이 도미의 데이터이고, 어떤 것이 빙어의 데이터인지를 알려주는 작업이다. 이 책에서는 도미의 데이터를 1, 빙어의 데이터를 0으로 처리하였다.
fish_target = [1] * 35 _ [0] * 14
📦 사이킷런
-
KNeighborsClassifier() 클래스 : fish_data와 fish_target 데이터를 전달하여 도미를 찾기 위한 기준을 학습시킨다. 이 과정을 머신 러닝에서는 훈련 이라고 한다.
- fit(특성, 정답) 메서드 : 주어진 데이터로 알고리즘을 훈련할 때 사용
- predict() 메서드 : 사이킷런 모델을 훈련하고 예측할 때 사용
- score() 메서드 : 훈련된 사이킷런 모델의 성능을 측정, 어느 정도 맞췄는지 확인할 수 있는 메서드
댓글남기기