본문 바로가기

KNN3

혼자 공부하는 머신러닝 + 딥러닝 - Ch3-1 Ch3-1에서는 KNN 회귀 알고리즘과 그 한계에 대해 공부합니다. KNN 알고리즘은 분류 뿐만 아니라 회귀에서도 사용할 수 있습니다. 값들은 인접한 \(k\)개의 값들의 평균으로 계산됩니다. KNN 회귀함수는 사이킷런의 KNeighborRegressor을 import하여 사용할 수 있습니다. 어떤 물고기의 데이터를 받아 그래프를 찍어봅시다. fish_length = np.array([8.4, 13.7, 15.0, 16.2, 17.4, 18.0, 18.7, 19.0, 19.6, 20.0, 21.0, 21.0, 21.0, 21.3, 22.0, 22.0, 22.0, 22.0, 22.0, 22.5, 22.5, 22.7, 23.0, 23.5, 24.0, 24.0, 24.6, 25.0, 25.6, 26.5, 27.. 2023. 1. 8.
혼자 공부하는 머신러닝 + 딥러닝 - Ch2 Ch2에서는 지도학습을 공부하고 데이터 전처리의 필요성에 대해 공부합니다. 지도학습은 훈련데이터와 정답데이터를 통해 학습하는 머신러닝 방법입니다. 반면 비지도학습은 따로 정답이 없고 입력데이터만을 사용해 학습합니다. 지도학습에 필요한 훈련데이터를 만드는 방법은 두가지가 있습니다. 1. 충분한 양의 데이터가 있는 경우 훈련데이터를 따로 마련한다. 2. 한정된 양의 데이터로 훈련하는 경우 입력 데이터의 일부를 훈련데이터와 테스트데이터로 나눈다. 데이터를 분리할 때는 적절히 섞어서 편향이 없게끔 해줘야 합니다. 예를 들어 Ch1에서 도미와 빙어 데이터를 합쳤었는데 만약 훈련데이터는 전부 도미만 있고 테스트데이터에는 빙어만 있다면 0%의 효율을 내게 되겠죠. 사이킷런의 train_test_split() 함수는 .. 2023. 1. 7.
혼자 공부하는 머신러닝 + 딥러닝 - Ch1 오늘부터 혼자 공부하는 머신러닝으로 공부하고 여기에 정리글을 쓰려고 합니다. 처음 공부하는 소재는 KNN 알고리즘을 이용한 생선 분류입니다. 우선 KNN 알고리즘이란 K-Nearest Neighbor 의 약자로, 가장 인접한 k개의 데이터를 토대로 새로운 값을 분류해주는 알고리즘입니다. 사실 이 방법은 model을 훈련시키는게 아니라, 학습한 모든 데이터를 저장하고 있다가 새로운 값이 들어오면 거리계산을 통해 k개중 비중이 높은걸 출력해주는 형식입니다. 거리를 계산할 땐, 맨해튼 거리나 유클리드 거리등 다양한 방법이 존재합니다. 또한 k 값 또한 우리가 적절히 정해줄 수 있습니다. 이 방법의 장점은 매우 간단하고 직관적입니다. 그리고 효율도 꽤나 잘 나옵니다. 하지만 새로운 데이터가 들어오면 모든 데이터.. 2023. 1. 4.