티스토리 뷰

반응형
 

[무료] 혼자 공부하는 머신러닝+딥러닝 - 인프런 | 강의

한빛미디어 혼공시리즈로 1:1 과외하듯이 배우는 초절정 머신러닝, 딥러닝 자습서, 수백 개의 손그림으로 이해하고 구글 코랩(Colab)을 통해 브라우저만 있으면 바로 실습 가능, - 강의 소개 | 인프

www.inflearn.com

 

2강. 코랩과 주피터 노트북

파이썬과 파이토치 라이브러리를 설치하는 대신, Google에서 제공하는 Colaboratory 서비스를 이용한다.

노트북은 텍스트셋과 코드셋으로 이루어져 있으며, 각 셀의 위아래에 자유롭게 셋을 추가해 코드 또는 텍스트를 작성할 수 있다. 코드는 파이썬 언어를 사용하고 있고 여러 라이브러리를 import하는 것도 가능하다.

 

 


3강. 마켓과 머신러닝

혼자 공부하는 머신러닝+딥러닝 (인프런 강의 영상)

 3강에서는 물고기의 길이와 크기를 통해 도미인지 또는 빙어인지 구분하는 머신러닝 프로그램을 만들고자 한다.

 

 

혼자 공부하는 머신러닝+딥러닝 (인프런 강의 영상)

도미와 빙어를 구분하기 위해서는 분류, 이진 분류 등의 머신러닝 기법이 쓰인다.

 

 

혼자 공부하는 머신러닝+딥러닝 (인프런 강의 영상)

 

 프로젝트를 진행하기 위해 도미와 빙어 각각의 데이터가 필요하다. 위의 사진처럼 도미와 빙어의 길이, 무게 리스트를 준비하도록 한다.

 

 

 

 

혼자 공부하는 머신러닝+딥러닝 (인프런 강의 영상)

import matplotlib.pyplot as plt

plt.scatter(bream_length, bream_weight)	# 도미 데이터 입력
plt.scatter(smelt_length, smelt_weight)	# 빙어 데이터 입력
plt.xlabel('length')
plt.ylabel('weight')
plt.show()

 

matplotlib.pyplot 모듈을 사용하면 도미와 빙어 데이터를 입력해 산점도(scatter plot)를 구할 수 있다. 그래프를 대충 보기만 해도 둘의 차이가 명확하다는 것을 알 수 있다.

 

 

혼자 공부하는 머신러닝+딥러닝 (인프런 강의 영상)

 빙어와 도미의 데이터를 length, weight 리스트에 합친 다음 물고기의 데이터 쌍을 준비한다.

 

혼자 공부하는 머신러닝+딥러닝 (인프런 강의 영상)

 그리고 각 데이터 쌍에 대한 정답을 준비한다. 1은 도미를, 0은 빙어를 뜻한다.

 

 

이제 빙어, 도미 예측을 위해 sklearn.neighbors 모듈을 사용하도록 한다. (k-최근접 이웃 기법)

from sklearn.neighbors import KNeighborsClassifier

kn = KNeighborsClassifier()
kn.fit(fish_data, fish_target)
kn.score(fish_data, fish_target)

 k-최근접 이웃 기법이란 해당 데이터와 가장 근접한 k개의 데이터를 추출해 데이터의 결과를 예측하는 기법이다. fit 메소드로 우리가 만든 fish_data 데이터 리스트로부터 fish_target의 데이터를 예측할 수 있으며 score 메소드는 모델이 예측한 결과값이 실제 정답값과 얼마나 일치하는지 수치로 나타낸다. (1.0 : 다 맞음, 0.0 : 다 틀림)

 

 

 

kn49 = KNeighborsClassifier(n_neighbors=49)

kn49.fit(fish_data, fish_target)
kn49.score(fish_data, fish_target)

 

우리가 앞에서 준비한 데이터 리스트는 총 49개의 데이터로 이루어져 있다. 만약 비교할 k개의 이웃을 49개로 지정한다면 어떻게 될까? 49개중 35개가 도미이기 때문에, 어떤 값이 들어오더라도 모델은 무조건 도미로 예측하게 된다. 이 때 정확도는 0.7142로 도미 데이터의 개수를 전체 데이터 개수로 나눈 결과와 같다.

반응형