일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- knn
- 30 Day Challenge
- 베이즈 정리
- AI Winter
- 조건부 확률
- 편향
- 인공신경망
- Stack
- 인공지능 겨울
- 인공지능
- AI
- 딥러닝
- Neural Network
- 분산분석
- 컴퓨터
- 확률
- 심층학습
- 컴퓨터 조립
- 통계
- 퍼셉트론
- Bayes Theorem
- LeetCode
- ANOVA
- p 값
- Bayes Rule
- p-value
- Today
- Total
목록knn (3)
군더더기 없는 기계학습 백과사전

이번 편에서는 진짜 데이터를 상대로 Scikit-learn 패키지에 내장된 K 근접 이웃 알고리즘과 2편에서 우리가 직접 파이썬에서 써본 알고리즘을 사용해보고 비교해 보도록 하겠다. 일단 데이터부터 구해보자. 데이터는 UCI 기계학습 데이터 저장소에서 구할 수 있는 위스콘신 대학에서 진행한 연구에서 집계한 유방암 진단 데이터를 가져오도록 하겠다. 데이터 폴더(Data Folder) 링크에 들어가서 breast-cancer-wisconsin.data 파일을 다운로드하면 된다. 해당 파일을 열어보면 다음과 같이 CSV 형식의 데이터가 등장할 것이다. breast-cancer-wisconsin.names 파일에서 속성(attribute)에 관한 정보를 찾아보면 다음 리스트를 볼 수 있을 것이다. 여기서 1열(..

이번 편에서는 유클리드 거리부터 시작해서 최근접 이웃 알고리즘을 밑바닥부터 파이썬으로 구현하도록 하겠다. 간단한 준비 운동으로 2차원의 두 점의 좌표를 이용해 유클리드 거리를 구해보도록 하자. 루트는 math 패키지에서 불러오도록 한다. 또한 두 좌표가 리스트(list)라는 점을 이용해 인덱스 이용해 리스트의 원소들을 불러서 사용하도록 한다. from math import sqrt 점1 = [1, 3] 점2 = [3, 4] 유클리드_거리 = sqrt((점1[0] - 점2[0])**2 + (점1[1] -점2[1])**2) print(유클리드_거리) 본격적인 코드에서는 해당 작업을 Numpy 패키지의 행렬 연산 함수들을 이용해 좀 더 단순하게 만들도록 하겠다. 일단 다음 코드 블록에 나열되어 있는 패키지들을..

소개 K 근접 이웃 분류 알고리즘은 그 단순함에도 불구하고 회귀 분석에 밀려나 기계학습 교과서 중간쯤으로 물러나 있는 것을 확인할 수 있을 것이다. 사실 컴퓨터 비전의 관점에서는 굉장히 단순 무식한 방법이고, 더 단순한 데이터를 상대로는 서포트 벡터 머신(SVM) 같이 평균적으로 더 관측 개체들을 분류 잘하는 알고리즘도 있지만 단순하다고 무시하기에는 굉장히 유용하고 비교적 이해하기 쉬운 알고리즘이다. 맨날 지겹도록 다루는 회귀 분석 말고 좀 더 색다른 알고리즘부터 먼저 보고 싶어 하는 여러분을 위해 일단 해당 알고리즘부터 다뤄보도록 하겠다. 일단 동기 부여부터 시작해보자. 여러분에게 다음과 같은 관측 개체들이 들어간 그림이 주어졌다고 하자. 해당 그림에는 '+' 그룹과 '-' 그룹이 들어가 있다. Sci..