일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 크롤링
- 오류
- 멜버른
- 청청구역
- selenium
- 빅데이터분석기사
- 갈자신이없다
- 데이터전처리
- 색상변경
- 예쁜곳
- 언제또가보지
- 호주
- 애니메이션
- 방향변경
- 빅데이터분석기사필기
- 유니코드 제거
- BeautifulSoup
- 너무오래됐다
- OpenGL
- 파이썬
- 빅데이터분석기사후기
- 마우스클릭
- 사각형변형
- 정말
- 보라카이
- 필기후기
- 가고싶은데
Archives
- Today
- Total
wisdiom 아니고 wisdom
4. 머신러닝 데이터 분석(2) - 1 본문
KNN, k-neareast-neighbors
새로운 관측값이 주어지면 기존 데이터 중에서 가장 속성이 비슷한 k개의 이웃을 먼저 찾는다.
그리고 가까운 이웃들이 갖고 있는 목표 값과 같은 값으로 분류하여 예측한다.
전통적으로 k-NN 알고리즘은 유클리드 거리(Euclidean distance)를 사용한다. (수치형 데이터를 다룬다.)
(1) 장단점
🥰 | 😥 |
- 단순하고 효율적이다. - 기저 데이터 분포에 대한 가정을 하지 않는다. - 훈련 단계가 빠르다. |
- 적절한 k의 선택이 필요하다. - 분류 단계가 느리다. - 명목 특징과 누락 데이터에 대한 추가 처리가 필요하다. |
🚨🙋♀️ 적절한 k값 선택이란? 🤔
k값에 따라 예측의 정확도가 달라지므로, 적절한 k값을 찾는 것이 매우 중요하다.
k값이 클수록 노이즈가 많은 데이터로 인한 영향이나 분산은 감소하지만,
작더라도 중요한 패턴을 무시하는 위험을 감수하는 학습자로 편향될 수 있다.
즉, 과적합(overfitting) 또는 과소적합(underfitting)될 수 있다.
(2) 모형 학습 및 검증
# KNN 분류 모형
from sklearn.neighbors import KNeighborsClassifier
knn = KNeighborsClassifier(n_neighbors=5)
# 모형 학습
knn.fit(x_train, y_train)
# 모형 예측
y_hat = knn.predict(x_test)
print(y_hat[0:10]) # 예측값 [0 0 1 0 0 1 1 1 0 0]
print(y_test.values[0:10]) # 실제값 [0 0 1 0 0 1 1 1 0 0]
# 모형 성능 평가
# Confusion Matrix 계산
from sklearn import metrics
knn_matrix = metrics.confusion_matrix(y_test, y_hat)
print(knn_matrix)
print('\n')
# 평가 지표 계산
knn_report = metrics.classification_report(y_test, y_hat)
print(knn_report)
반응형
'👩💻 > pandas' 카테고리의 다른 글
4. 머신러닝 데이터 분석(2) - 3 (0) | 2021.02.15 |
---|---|
4. 머신러닝 데이터 분석(2) - 2 (0) | 2021.02.15 |
4. 머신러닝 데이터 분석(1) (0) | 2021.02.05 |
4. 머신러닝 데이터 분석(0) (0) | 2021.02.04 |
3. 데이터프레임 응용(6) (0) | 2021.02.02 |
Comments