AI/Machine Learning

[Python] 머신러닝 기초-1 Scikit-learn을 사용하여 물고기 예측

Jeong Jeon
반응형

물고기 종류 2가지의 데이터(무게,길이)를 학습시키고, 새로운 무게,길이 데이터를 입력했을 때 결과 예측하는 코드를 짜보자.

 

환경 : Colab

 

1). 물고기 데이터 입력

2). matplotlib를 통해 그래프로 표현

3). 리스트 두개를 하나로 합친다.

    bream 데이터 + smelt 데이터 => 이유? 학습시킬 데이터를 하나로 묶어 표현하기 위함

4). 사이킷 런 패키지를 사용하기 위해 length와 weight를 2차원 데이터로 묶어준다.

5). 우리는 찾고싶은 데이터를 기준으로 1, 나머지는 0으로 기준을 잡을 것이다.

1,0으로 구분하는것은 컴퓨터 기준으로 표현하기 위함이다.

6). KNeightborsClassifiler 사용

k-최근접 알고리즘으로, 입력된 데이터를 다른 데이터들에 대입하여 다수를 차지하는 것을 정답으로 하는 알고리즘이다.

결과 => 1.0  == 100% 기본 neighbor(근접데이터갯수)5개일 경우 100% 정확도라고 볼수있다. 

훈련이 잘되었다. 그럼 결과를 예측해보자

 

7). 근접데이터 갯수를 49개 모든 물고기 데이터의 갯수로 지정해서 결과를 확인해 보자

결과값 0.71...은 결국 35/14 의 값이다.

여기서 왜 35인 bream 으로 계산이되나?

fish_data에 49개의 데이터중 다수를 차지하는게 bream(35개)이기 때문에 다수를 차지하는것 기준으로 에측값이 나온다.

 

8). 다시 예측값 확인

똑같이 1을 반환하여 bream이라는것을 확인 할 수 있다.

반응형