GNM(Gaussian Mixture Model)
·
머신러닝
GNM(Gaussian Mixture Model) GNM 군집화는 군집화를 적용하고자 하는 데이터가 여러 개의 가우시안 분포를 섞어서 생성된 모델로 가정해 수행하는 방식이다. 정규 분포로도 알려진 가우시안 분포는 좌우 대칭형의 종(Bell) 형태를 가진 연속 확률 함수 이다. GNM은 데이터를 여러 개의 가우시안 분포가 섞인 것으로 간주한다. 섞인 데이터 분포에서 개별 유형의 가우시안 분포를 추출한다. 먼저 아래 사진처럼 세 개의 가우시안 불포를 합치면 다음과 같은 형태가 될 것이다. ( 파란색 선 : 개별 가우시안 분포, 빨간색선 : 합친 가우시안 분포 ) 군집화를 수행하려는 실제 데이터 셋의 데이터 분포도가 다음과 같다면 쉽게 이 데이터 셋이 정규 분포 A, B, C를 합쳐서 된 데이터 분포도임을 알..
평균이동(Mean Shift)
·
머신러닝
Mean Shift 평균 이동(Mean Shift)는 K-평균과 유사하게 중심을 군집의 중심으로 지속적으로 움직이면서 군집화를 수행한다. 하지만 K-평균이 중심에 소속된 데이터의 평균 거리 중심으로 이동하는 데 반해, Mean Shift는 중심을 데이터가 모여 있는 밀도가 가장 높은 곳으로 이동시킨다. 다음 그림에서 볼 수 있듯이 평균 이동 알고리즘은 특정 대역폭을 가지고 최초의 확률 밀도 중심 내에서 데이터의 확률 밀도 중심이 더 높은 곳으로 중심을 이동한다. 평균 이동은 데이터의 분포도를 이용해 군집 중심점을 찾는다. 군집 중심점은 데이터 포인트가 모여 있는 곳이라는 생각에서 착안한 것이며 이를 위해 확률 밀도 함수(P.D.F)를 이용한다. 가장 집중적으로 데이터가 모여있어 확률 밀도 함수가 피크인 ..
군집 평가 - 실루엣 분석
·
머신러닝
군집 평가(Cluster Evaluation) 대부분의 군집화 데이터 셋은 비교할만한 데이터 셋을 가지고 있지 않다. 또한 군집화는 분류와 유사해 보일 수 있으나 성격이 많이 다르다. 데이터 내에 숨어 있는 별도의 그룹을 찾아서 의미를 부여하거나 동일한 분류 값에 속하더라도 그 안에서 더 세분화된 군집화를 추구하거나 서로 다른 분류 값의 데이터도 더 넓은 군집화 레벨하 등의 영역을 가지고 있다. 비지도 학습의 특성상 어떠한 지표라도 정확하게 성능을 평가하기는 어렵다. 그럼에도 불구하고 군집화의 성능을 평가하는 대표적인 방법으로 실루엣 분석을 이용한다. 실루엣 분석 이란 실루엣 분석은 각 군집 간의 거리가 얼마나 효율적으로 분리 돼있는지를 나타낸다. 효율적으로 잘 분리 됐다는 것은 다른 군집과의 거리는 떨..
군집화 - K-Means
·
머신러닝
군집화 K-means 알고리즘 K-means는 군집화에서 가장 일반적으로 사용되는 알고리즘이다. K-means는 군집 중심점이라는 특정한 임의의 지점을 선택해 해당 중심에 가장 가까운 포인트들을 선택하는 군집화 기법이다. 군집 중심점은 선택된 포인트의 평균 지점으로 이동하고 이동된 중심점에서 다시 가까운 포인트를 선택, 다시 중심점을 평균 지점으로 이동하는 프로세스를 반복적으로 수행한다. 모든 데이터 포인트에서 더 이상 중심점의 이동이 없을 경우 반복을 멈추고 해당 중심점에 속하는 데이터 포인트들을 군집화 하는 기법이다. 다음 그림에서 K-means가 어떻게 동작하는지 살펴보자. K-means 의 특징 일반적인 군집화에서 가장많이 활용 되는 알고리즘 알고리즘이 쉽고 간결. 거리 기반 알고리즘으로 속성의 ..
코딩야학 - 데이터 전처리, 효율높은 모델링
·
데이터 분석/코딩야학
판다스를 이용한 간단한 데이터 전처리 변수(칼럼) 데이터 확인 : 데이터.dtypes 변수를 범주형으로 변경 데이터['칼럼명'].astype('category') 변수를 수치형으로 변경 데이터['칼럼명'].astype('int') 데이터['칼럼명'].asfloat('float') NA 값의 처리 NA 갯수 체크 : 데이터.isna().sum() na 값 채우기 : 데이터['칼럼명'].fillna(특정숫자) # 라이브러리 사용 import pandas as pd # 파일 읽어오기 파일경로 = 'https://raw.githubusercontent.com/blackdew/tensorflow1/maste..
코딩야학 - 히든레이어
·
데이터 분석/코딩야학
히든 레이어 기존의 입력 부분과 출력 부분사이에 퍼셉트론을 이어주면 딥러닝이 깊어진다고 하는데, 그 추가된 퍼셉트론을 숨겨진 층 , 즉 히든 레이어 라고 한다 . 처음 인풋 데이터에서 총 5개의 퍼셉트론을 통해 히든레이어를 구성한다. 히든레이어 에서는 하나의 퍼셉트론으로 output Layer를 도출 할 수 있다. 히든레이어 구조를 생성하는 코드는 다음과 같다. 3개의 히든레이어를 만들고 싶으면 다음과 같이 코딩할 수 있다. 이렇게 하면 그전의 모델보다 더 똑똑한 모델을 학습할 수 있다. 보스턴 집값 예측 ########################## # 라이브러리 사용 import tensorflow as tf import pandas as pd # 1.과거의 데이터를 준비합니다. 파일경로 = &#3..
ariz1623
코딩의 숲