DBSCAN 임의의 datapoint 생성 관련 질문
198
작성한 질문수 14
안녕하세요. 강의를 수강중인 학생입니다.
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}입니다.
항상 자세하고 유익한 강의 감사드립니다.
답변 1
0
김민규님,
질문에 대한 답변입니다.
(질문)
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





