inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[개정판] 파이썬 머신러닝 완벽 가이드

사이킷런을 이용한 DBSCAN 군집화 실습

eps에 대해서 질문있습니다.

295

옥깡깡

작성한 질문수 7

0

선생님 안녕하세요?

강의 잘듣고 있고 항상 답변 잘해주셔서 감사합니다 :)

혹시 입실론(eps)을 하이퍼 파라미터라고 생각하고 이를 최적으로 튜닝하는 방법은 없을까요?

답변해주시면 감사하겠습니다.

머신러닝 배워볼래요? 통계 python

답변 1

4

권 철민

안녕하십니까,

epsilon과 min points을 튜닝하는게 만만치는 않습니다. 먼저 GridSearch와 같이 값을 변화 시키면서 최적값을 찾는 방법이 있습니다. 하지만 이걸 여쭤보신건 아닌것 같습니다.

epsilon 튜닝은 보통 K Distance plot(KNN Distance plot)을 이용해서 감을 잡는 방법이 있습니다( 이 방법이 정확한지는 논란이 있습니다만)

1. K Nearest Neighbor를 각 point별로 수행하여 각 point별로 K개 내에 있는 가장 가까운 거리를 계산합니다. 이때 거리는 0~1 사이 값으로 정규화 합니다. 

2. 개별 point별로 계산된 k distance값을 기반으로 다시 이들 개별 point들을 k distance값별로 오름차순 정렬을 합니다. 즉 가장 작은 k distance값을 가진 point를 첫번째 위치로 놓고,  순차적으로 큰 k distance값을 가진 point들을 두번째, 세번째 위치로 놓습니다.

예를 들어 첫번째 포인트가 0.05, 두번째 포인트가 0.01, 세번째 포인트가 0.07 이라면 이들의 순서를 이동해서 첫번째 위치에 두번째 포인트를, 두번째 위치에 첫번째 포인트, 세번째 위치에 세번째 포인트를 놓는 형식으로 정렬시킵니다.

3. 그런 다음 이렇게 정렬된 point 집합들을 plot을 scatter plot형식으로 x축을 개별 데이터 포인트의 인덱스(그러니까 첫번째, 두번째, 세번째.), 그리고 y축을 K distance로 표시해서 그리면 자연스럽게 왼쪽으로 오른쪽으로 가면서 우상향 하는 그래프가 만들어집니다. 이때 k distance가 급격히 커지는, 즉 너무 포인트간의 거리가 커지는 영역(즉 포인트들이 몰려있지 않는 영역) 이전 까지가 주로 포인트들이 몰려 있는 것입니다. 그러니가 k plot으로 그렸을 때 갑자기 우상향 그래프가 위로 올라가지 전까지의 지점까지를 골라서 epsilon으로 선택합니다. 

이게 설명으로만 하기에 이해가 부족하실 수 있어서, 아래 링크도 참조하시면 좋을 것 같습니다.

https://medium.com/@mohantysandip/a-step-by-step-approach-to-solve-dbscan-algorithms-by-tuning-its-hyper-parameters-93e693a91289 

안녕하세요 열심히 수강중인 학생입니다

0

60

2

정수 인덱싱

0

68

2

넘파이 오류

0

83

2

11강 numpy의 axis 축 질문 드립니다.

0

85

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

77

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

69

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

75

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

64

2

5강 강의 오류가 있어요.

0

83

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

72

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

69

3

파이썬 다운그레이 후 사이킷런 재설치

0

116

2

좋은 강의 감사합니다.

0

72

2

scoring 함수 음수값

0

67

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

99

2

분류 평가 정확도 예측

0

76

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

98

1

카카오톡 채널 있나요

0

106

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

188

2

pca 스케일링 관련하여 질문드립니다.

0

100

2

주피터 대신 구글 코랩

0

171

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

146

2

실루엣 스코어..

0

84

2

float64 null 값 처리 방법

0

102

2