AI

[AI 도전기 5일차] 간단한 머신 러닝 예제 공부하기

alsruds 2024. 3. 31. 00:15

 

한빛미디어 교재에 나오는 도미와 빙어 예제를 사용했다 !

 

🔑 Keyword : 샘플, 특성, 모델, matplotlib, sklearn

 

https://www.youtube.com/watch?v=GOCVVSMeIf8&list=PLJN246lAkhQjoU0C4v8FgtbjOIXxSs_4Q&index=3


 

3강. 마켓과 머신러닝

 

📍 시나리오

머신 러닝 프로그램에 도미와 빙어 데이터를 넘겨주어 새로운 생선값이 주어졌을 때 어떤 생선일지 예측할 수 있도록 해보자 !
이 때, 데이터는 길이와 무게값으로 이루어져있다

예시) 생선의 크기 30~40cm ➡️ 머신러닝 : 이 생선은 도미구나 !

 

 

전통적인 프로그래밍

  - 거의 대부분의 프로그램

  - 누군가가 사전에 정해놓은 규칙 존재

    but 미리 규칙을 적용하기 어려운 경우 존재 → 머신러닝이 필요

 

머신러닝 프로그래밍

  - 프로그램을 만들어 규칙을 찾게끔 함

  - 학습 : 데이터에서 규칙을 찾음

 

 

💡 도미 & 빙어 머신러닝 프로그래밍 예제 구현 순서

 

1. 도미 데이터를 산점도에 표시하기

도미의 길이, 무게 데이터 (샘플/특성) 를 산점도에 표시

 

- x축 : 도미 길이

- y축 : 도미 무게

- matplotlib.pyplot

- 산점도 표시 : scatter

 

2. 빙어 데이터를 같은 산점도에 표시하기

 

- scatter 를 이용하여, 하나의 산점도에 두 개의 데이터를 표시할 수 있다

- 파란색 : 도미 샘플

- 주황색 : 빙어 샘플

 

 

 

 

 

 

3. 2차원 배열의 형태로 도미와 빙어 데이터 합치기 : fish_data

2차원 배열의 형태로 도미와 빙어의 데이터를 합쳐주어야 한다 !

 

- 덧셈 연산

- length = 도미 길이 + 빙어 길이

- weight = 도미 무게 + 빙어 무게

 

4. 정답 데이터 만들기 : fish_target

 

- 도미는 1 로, 빙어는 0 으로 표현한 정답 리스트를 준비한다

- 머신러닝 프로그래밍에게 어떤 것이 도미이고, 어떤 것이 빙어인지 알려주어야 한다

 

 

 

 

 

 

5. k-최근접 이웃 알고리즘으로 새로운 생선 예측하기

kn: 하나의 모델, score: 0~1 정확도 표현

 

- 사용 메서드

  - 구현 : fit

  - 테스트 : score

  - 가상 데이터 예측 : predict

 

- 예측 input : 2차원 배열값으로 넣어줘야 한다 ex) [[30, 600]]

- 예측 output : 이전에 세팅해주었던 정답 데이터 형식으로 출력됨

     ex) 이전에 도미를 1 로 설정해주었기 때문에, array([1]) 로 나옴

➡️ 주변 샘플 중 가장 많은 클래스로 해당 입력 데이터를 추측한다 (k-최근접 이웃)

 

 

🐟 새로운 생선 예측 성공 !