inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬을 활용한 머신러닝 딥러닝 입문

실습 - Clustering - KMeans / DBSCAN

DBSCAN 임의의 datapoint 생성 관련 질문

198

김민규

작성한 질문수 14

0

안녕하세요. 강의를 수강중인 학생입니다.

DBSCAN 실습에서 총 1510개의 랜덤 datapoint를 만드는 과정에서 질문이 있어서 글을 작성합니다.

X1, X2를 생성하는 방식은 이해가 되는데, X3과 X4를 생성하는 것에서 잘 이해가 되지 않습니다.

X1과 X2를 생성할 시에는 KMeans에서 데이터를 만드는 방식과 동일하게 하였는데, 왜 갑자기 X3을 생성할 때에 저런 방식을 사용한 것인가요? 그리고 옆에 3과 +4는 무엇을 의미하는 것인가요? X4를 생성할 때에도 왜 3이 되어있는 건가요?

추가로, DBSCAN 훈련 결과 나온 label에서 -1을 결과로 가진 datapoint는 무조건 outlier 취급인 것이 기본 설정인가요? 그렇다면, 0을 결과로 가지는 datapoint는 무엇을 의미하나요? 강의에 따르면 set을 통해 나올 수 있는 label을 확인한 결과 {-1, 0, 1, 2, 3, 4, 5}입니다.

항상 자세하고 유익한 강의 감사드립니다.

numpy pandas python 딥러닝 머신러닝 배워볼래요? keras tensorflow anaconda matplotlib cnn

답변 1

0

YoungJea Oh

김민규님,

질문에 대한 답변입니다.

(질문)

X1, X2를 생성하는 방식은 이해가 되는데, X3과 X4를 생성하는 것에서 잘 이해가 되지 않습니다.

X1과 X2를 생성할 시에는 KMeans에서 데이터를 만드는 방식과 동일하게 하였는데, 왜 갑자기 X3을 생성할 때에 저런 방식을 사용한 것인가요? 그리고 옆에 3과 +4는 무엇을 의미하는 것인가요? X4를 생성할 때에도 왜 3이 되어있는 건가요?

(답변)

DBSCAN은 밀도 기반으로 inlier(정상치)와 outlier(이상치)를 구분하는 알고리즘이므로 밀집된 데이터를 임의로 만든 것일 뿐 특별한 의미가 있는 것은 아닙니다. X1 과 X2의 경우 중심점을 주고 중심점 부근의 밀집된 데이터를 생성했고, X3의 경우 np.random.rand를 이용했으므로 [0, 1) 사이의 데이터가 생성되는데 [0, 1)*3 +4를 해 주었으므로 [4, 7) 사이의 밀집된 데이터를 생성하기 위해 3을 곱하고 4를 더해 주었습니다. 실제로 X3.min(), X3.max() 를 출력해 보면 4~7 사이의 숫자가 생성된 것을 알 수 있습니다.
X4는 np.random.randn을 사용했으므로 0을 평균으로 하고 표준 편차가 1인 정규 분포 데이터가 생성되는데 3을 곱해 주었으므로 X4.min(), X4.max()를 해 보면 대략 -5~7 사이의 분포로 데이터가 생성되었을 것 입니다. X1, X2, X3 는 각각 500 개씩 비슷한 크기로 만들어 주었으므로 밀집된 데이터가 생성되었을 것이고 X4 는 -5~7 사이의 넓은 범위로 10개만 만들어 주었으므로 DBSCAN 알고리즘에 따르면 core 나 border point로 분류되지 않아 outlier로 분류될 것 입니다. 이러한 내용을 예상되로 잘 분류하는지 확인해 보기 위한 의도로 위와 같이 데이터를 만든 것입니다.

(질문)

추가로, DBSCAN 훈련 결과 나온 label에서 -1을 결과로 가진 datapoint는 무조건 outlier 취급인 것이 기본 설정인가요? 그렇다면, 0을 결과로 가지는 datapoint는 무엇을 의미하나요? 강의에 따르면 set을 통해 나올 수 있는 label을 확인한 결과 {-1, 0, 1, 2, 3, 4, 5}입니다.

(답변)

sklearn의 DBSCAN 함수는 outlier로 분류된 datapoint에 -1을 label로 반환합니다. 나머지 0, 1, 2, 3, 4, 5는 DBSCAN알고리즘에 따라 5 개의 밀집된 cluster가 있는 것으로 분류 되었다는 뜻 입니다. 마지막 시각화 부분에 색깔로 구분된 영역들이 밀도가 높다고 판단된 cluster 들 입니다.

좋은 질문 감사드리고 혹시 이해 안되시면 추가 질문 바랍니다.

감사합니다.

Colab실습관련

0

85

2

get_dummies 관련문의

0

85

2

강의 수강

0

93

1

섹션 10 비지도 학습에 대하여

0

78

1

훈련과 Predict를 분리할수 없나요?

0

109

2

scikit-learn이 업데이트 된 건가요?

0

167

2

feature scaling 부분

0

133

2

MAtplotlib 기초

0

123

1

섹션9 First Autoencoder 인코더, 디코더 모델 생성 오류 해결 방법

0

209

1

섹션7 텐서플로 허브 Trained_MobileNet 모델 생성 오류 해결 방법

0

343

1

Crash 파일 위치

0

266

1

주피터에서 파일 열기

0

324

1

션 7. CNN (Convolutional Neural Network)의 7번째 강의는 실습 - FashionMNIST 데이터셋 이용 실습 문제 풀이 관련 강의 내용순서 문의

0

253

1

DBSCAN 실습 결과

0

268

1

DBSCAN 질문

0

231

1

Feature Scaling 강의 질문 있습니다!

0

262

1

heatmap에서 numeric_only=True

0

311

1

pd.Series

0

228

1

Feature Scaling

0

234

1

categorical 변수의 수치화

0

194

1

Residual Error

1

193

1

매트릭스로 만들어주는 것

1

193

1

tf.data 를 이용한 shuffling and batch 구성 관련 문의

1

379

2

타이타닉 예제에서 혼동되는 개념이있습니다!

1

287

1