머신러닝 입문 | 이진분류해보기 (k-Nearest Neighbors algorithm 사용)

2022. 1. 10. 18:35·데이터분석과 머신러닝
목차
  1. 챕터1 : 
  2. 다음 포스팅: 
  3. 2022.01.12 - [데이터분석과 머신러닝] - 머신러닝 입문 | 지도학습, train set과 test set

 

한빛미디어 도서 <혼자 공부하는 머신러닝+딥러닝>으로 입문한다. 

사실 입문은 아니지만 부실한 개념이 많아서 바로잡는 느낌으로 시작!!

 

1주차 진도는 챕터1과 챕터2이다.

머신러닝 관련 개념을 정리하고, 머신러닝에 필요한 데이터를 정리하는 방법을 설명한다.

 

 


챕터1 : 

* 인공지능, 머신러닝, 딥러닝의 차이점을 이해합니다.
* 구글 코랩 사용법을 배웁니다.
* 첫 번째 머신러닝 프로그램을 만들고 머신러닝의 기본 작동 원리를 이해합니다.

이 학습목표 세가지에서,

첫번째는 바로 아래 더보기란에 간단히 정리하고,

두번째 코랩사용법은 그냥 넘어가고,

세번째 학습목표 중심으로 정리하였다.

 

 

# 머신러닝, 딥러닝

더보기

알고 있던 내용으로는, AI ⊃ 머신러닝 ⊃ 딥러닝 이런 포함관계를 가진다는 것이다. 

새로 알게된 것 : 

- 딥러닝은 인공신경망 기반의 머신러닝 알고리즘을 통칭한다. 

- Yann Lecun이 신경망 model을 만들어서 손글씨 숫자를 인식하는데 성공했다 - 오!! 나도 이 실습을 최근에 해보았는데 근원이 이거구나!! (최초의 합성곱 신경망, LeNet-5) 

- 머신러닝 라이브러리 사이킷런

- 딥러닝 라이브러리 텐서플로(구글), 파이토치(페이스북) 모두 딥러닝(인공신경망) 라이브러리다. 

 

아.. 우리학과 데이터 분석 교육을 들으면서도 이 세가지 라이브러리에 대한 구분 없이 실습하기 급급했던 것을 반성하자. 텐서플로랑 파이토치가 신경망 라이브러리로 분류되는구나. 사실 배웠을 지도 모른다. 내가 그냥 지나쳐버렸겠지.. 

 

이 책에서는

1장 ~ 6장 : 사이킷런 이용

7장 ~ 9장 : 텐서플로 이용

그렇다고 한다. 

 

 


 

# Binary Classification 경험해보기

 

보통 프로그램은 '누군가 정해준 기준대로 일'을 합니다. 반대로 머신러닝은 누구도 알려주지 않는 기준을 찾아서 일을 합니다 - 혼공머신 46페이지.. 마음에 드는 표현이라 옮겨두겠다.

 

2개의 종류(class)중 하나를 구별해 내는 문제를 binary classification(이진 분류)라고 한다. 

도미와 빙어를 분류하는 binary classification을 이번 챕터1에서 진행해본다.

 

이진분류를 할 때, 

"k-최근접 이웃(k-Nearest Neighbors)" 알고리즘을 적용할 것이다.

(혼공머신 책에서 선택한 방법이다. 간단하고 이해가 쉽기 때문이라고 한다.)

 

 

 

>>데이터 파악 : 도미보다 빙어가 덜 선형적이다. length와 weight의 상관관계가 덜한 모습을 볼 수 있다. 

이런 도미, 빙어를 이제 스스로 구분하게끔 머신러닝 프로그램을 만들 차례다.

 

.

.

 

사이킷런을 이용해야하니 데이터를 2차원리스트로 정리해야 한다.

그리고나서 사이킷런의 K-최근접이웃 알고리즘 이용해보자. 

 

 

자 이렇게 k-최근접이웃 알고리즘으로 분류하는 객체 kn을 만들고, 

fit()으로 훈련하며 score()로 분류모델의 성능(정확도) 확인하였다.

score()메서드 내부적으로 predict()를 사용한다고 한다.

 

다만 여기서 함정! 

우리가 가지고 있는 fish_data로 훈련시키고, 테스트 또한 fish_data로 진행시켰다.

즉, 위 코드 중 kn.score(fish_data, fish_target)이 잘못된 것이다. 

이건 원래 알고있던 답안지로 테스트 한 격이다. 당연히 100% 정답이라는 결과가 나온다. 

그러므로 원래는 train data와 test data를 따로 두어야 한다. 

일단 학습흐름상 넘어간다. 다음부터는 train data와 test data를 따로 두어 사용할 것이고, 그래야 한다. 

 

 

.

.

 

마지막으로,

k-최근접이웃 알고리즘을 정리하자면 이렇다. 

 

 

오케이.. 이렇게 챕터1 끝!

도미와 빙어의 이진분류를 해보았다!

(k-Nearest Neighbors algorithm을 사용)

 


다음 포스팅: 

2022.01.12 - [데이터분석과 머신러닝] - 머신러닝 입문 | 지도학습, train set과 test set

 

 

 

 

'데이터분석과 머신러닝' 카테고리의 다른 글

머신러닝 | 데이터 전처리 | 스케일 조정, 표준화하여 전처리 | 표준점수로 변환  (0) 2022.01.12
머신러닝 입문 | 지도학습, train set과 test set  (0) 2022.01.12
혼자 공부하는 머신러닝+딥러닝 | 도서 추천도 하고 내 얘기도 겸사겸사..  (0) 2022.01.10
오예~!  (0) 2021.11.15
R데이터분석 | 지역별 교육측도와 정보측도(기기보유율)의 상관관계 | 양의상관관계  (0) 2021.09.21
  1. 챕터1 : 
  2. 다음 포스팅: 
  3. 2022.01.12 - [데이터분석과 머신러닝] - 머신러닝 입문 | 지도학습, train set과 test set
'데이터분석과 머신러닝' 카테고리의 다른 글
  • 머신러닝 | 데이터 전처리 | 스케일 조정, 표준화하여 전처리 | 표준점수로 변환
  • 머신러닝 입문 | 지도학습, train set과 test set
  • 혼자 공부하는 머신러닝+딥러닝 | 도서 추천도 하고 내 얘기도 겸사겸사..
  • 오예~!
히어로맛쿠키
히어로맛쿠키
yeny_lab히어로맛쿠키 님의 블로그입니다.
  • 히어로맛쿠키
    yeny_lab
    히어로맛쿠키
  • 전체
    오늘
    어제
    • 분류 전체보기 (387)
      • 미분류글 (30)
        • ㅇ (2)
      • JAVA (84)
        • Effective Java (1)
        • Application (21)
      • 컴퓨터구조 & OS (28)
      • 자료구조 + 알고리즘 (43)
      • Database (12)
      • 컴파일러 (10)
      • 수학 (33)
        • 미분방정식 (12)
      • 데이터분석과 머신러닝 (38)
      • 기타 (58)
      • yyeeennyy (25)
  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
히어로맛쿠키
머신러닝 입문 | 이진분류해보기 (k-Nearest Neighbors algorithm 사용)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.