[노코드머신러닝]데이터를 유사한 속성으로 묶어준다고요? 📊

<노코드 머신러닝>이 궁금하다면, 여기 클릭📊



오늘도 어김없이 돌아온 <노코드 머신러닝> 3️⃣번째 시간! 어려운 프로그래밍 대신 평소에 자주 사용하는 엑셀로 머신러닝을 해볼 텐데요! 오늘은 거대한 양의 데이터들을 유사한 속성으로 묶어주는 K-평균 클러스터링에 대해 알아보도록 하죠! 엑셀로 파헤치는 K-평균 클러스터링의 작동원리, 궁금하지 않으신가요?


  

이 뉴스레터를 보면 좋은 사람은?

👶🏻 : 러닝머신? 머신러닝? 머신러닝을 처음 들어보는 왕왕왕초보!

👲🏻 : 실무에서 사용하는 엑셀로 노코드 머신러닝 하고 싶으신 분!

👸🏻 : ‘나도 어디서 K-평균 클러스터링 해봤어~’ 라고 자랑하고 싶으신 분!

-에이블런 리사 드림💌





💬 클러스터링이 뭐야?

#군집화 #계층적_클러스터링 #분할적_클러스터링 #유유상종


우리가 관심을 가지는 ‘K-평균 클러스터링’을 알아보기 전, ‘클러스터링’(Clustering)에 대한 이해가 필요한데요. 여러분은 클러스터링의 의미를 알고 계시나요? 🤷🏻‍♀️🤷🏻‍♂️ 클러스터링이란 ‘무리를 이룬다’는 뜻으로, 서로 유사한 속성을 갖는 데이터를 같은 군집으로 묶어주는 작업을 의미합니다. 즉, 서로 비슷한 데이터들끼리 그룹을 만들어주는 것이라고 이해하면 쉽죠! 이러한 클러스터링은 2가지 종류로 구분되는데요. 바로 계층적 클러스터링(Hierarchical Clustering)과 분할적 클러스터링(Partitional Clustering)입니다.


먼저 계층적 클러스터링부터 살펴보도록 해요. 계층적 클러스터링이란 유사한 데이터들을 차례로 묶어 계층적으로 결합하는 방법입니다. 여기서 유사하다는 의미는 ‘데이터가 가까이 위치한다’는 것으로 위 사진을 통해 자세히 알 수 있는데요. (가장 먼 데이터나 데이터들의 평균 등을 이용할 수도 있지만, 이번에는 가장 가까운 데이터를 연결하는 최단 연결 방법을 사용하도록 할게요) 먼저, 각 데이터인 a, b, c, d, e가 적힌 네모 상자를 하나의 최초 군집으로 생각합니다. 그 후, 가까이 위치한 순서에 따라 한 번에 2개씩의 데이터를 묶어 하나의 군집을 만들어주는 것이죠. 이때, 세로 선의 길이를 클러스터간의 거리라고 생각하면 되는데요. 즉, 제일 가까이 위치한 a와 b가 하나의 군집이 된 후, 그 다음으로 가까이 위치한 c와 d가 하나의 군집이 됩니다. 그 후 c와 d 군집에 가까이 위치한 e가 결합하여 c, d, e 군집이 만들어지고 최종적으로는 군집 a, b와 군집 c, d, e가 합쳐진 하나의 군집이 되는 것이죠. 이러한 계층적 클러스터링은 사전에 군집의 개수를 지정하지 않는다는 특징이 있어요.



이번에는 분할적 클러스터링인데요. 분할적 클러스터링이란 각 데이터들을 사전에 정해둔 군집 중 하나의 군집으로 분할해주는 방법입니다. 즉, 계층적 클러스터링과는 다르게 사전에 군집의 개수를 지정해준다는 특징이 있어요. 클러스터링을 하기 전 군집수를 K개로 지정한 후, 유사도가 높은 데이터끼리 묶어 K개의 군집에 분할해주는 것이죠. 위 사진에서도 알 수 있듯이 우리가 원하는 군집의 수인 K를 3으로 설정한 후, 유사도가 높은 데이터들을 묶은 결과입니다. (자세한 방법은 아래에서 설명하도록 할게요) 여기서 잠깐! 🙋🏻‍♀️🙋🏻‍♂️ 우리가 관심을 가지는 K-평균 클러스터링’은 대표적인 분할적 클러스터링에 속한답니다.

그렇다면, 이러한 클러스터링을 사용하는 이유는 무엇일까요? 바로 ‘유유상종’의 결과를 얻을 수 있기 때문이죠. ‘유유상종’은 같은 성격을 가진 무리끼리 모이고 사귄다는 의미인데요. 거대한 양의 데이터들을 유사한 속성으로 묶어 숨겨진 유의미한 구조를 파악할 수 있다는 장점이 있습니다! 즉, 지금까지 발행한 뉴스레터를 클러스터링한다면 데이터 교육 홍보와 데이터 지식 콘텐츠 등으로 묶을 수 있는 것이죠. 또한, 이커머스 업계에서는 사용자들의 리뷰 작성이나 이벤트 참여에 관한 데이터를 활용하여 군집별 고객의 정보를 파악해 각 군집에 알맞은 사용 목적 및 구매 요인을 파악했습니다. 뿐만 아니라 유명 포털 사이트는 K-평균 클러스터링을 활용하여 유사한 뉴스를 군집으로 묶어주었고, 실시간으로 양산되는 뉴스로 인한 불편을 해소했어요. 




💬 클러스터링 VS 분류

#사전정보존재의유무 #비지도학습 #지도학습


지금까지 클러스터링에 대하여 열심히 알아보았어요. 클러스터링은 서로 유사한 속성을 갖는 데이터를 같은 군집으로 묶어주는 작업이었죠! 그런데, 생각해보니 조금 이상한 점이 있어요.🤯 ‘분류’ 역시 종류에 따라서 데이터를 나눠주는 작업인데요. 그렇다면, 클러스터링과 분류는 어떠한 차이점이 있는걸까요?




클러스터링과 분류를 구분하는 기준은 바로 ‘사전정보의 존재 유무’인데요! 클러스터링이란 사전정보가 존재하지 않는 비지도 학습입니다. 즉, 왼쪽 사진과 같이 모두 색이 동일한(정답이 없는) 데이터를 비슷한 특징으로 군집화하여 새로운 데이터에 대한 결과를 예측하는 것이죠. 이와 다르게 분류란 사전정보가 존재하는 지도학습입니다. 즉, 오른쪽 사진과 같이 색으로 구분되는(정답이 있는) 데이터를 활용해 새롭게 들어오는 데이터에 답할 수 있도록 학습을 시키는 것이죠. 




💬 K-평균 클러스터링이 뭐야?

#K_군집의수 #작동원리_파헤치기


그렇다면 이제 본격적으로 K-평균 클러스터링을 알아보도록 해요. 여기서 의미하는 K-평균은 K-팝, K-컬처와 같이 Korea를 의미하는 것일까요? 정답은 아닙니다! 🙅🏻‍♀️🙅🏻‍♂️ K란 내가 설정하고 싶은 군집의 개수를 의미하는데요. 따라서 K-평균 클러스터링이란 각 데이터와 군집 내의 중심점 사이의 평균 거리를 계산하여 가장 가까운 K개의 군집으로 배정하는 방법인 것이죠! 조금 어려우시다고요?🙄 K-평균 클러스터링의 작동원리를 자세히 살펴보며, 이해해보도록 해요. 


① 먼저 데이터 a, b, c, d, e를 K-평균 클러스터링으로 군집화하려고 합니다.

② 원하는 군집의 개수(K)를 설정한 후, 초기의 중심점을 K개만큼 임의로 지정해주면 됩니다. 이번 예시에서는 군집의 수인 K를 2개로 지정한 후, 2개의 중심점을 임의로 설정해주었는데요. 바로 진한 보라색 점인 중심1, 중심2가 되는 것이죠.


③ 설정한 중심점을 기준으로 가장 가까운 데이터를 선택하여 군집으로 만들어주면 됩니다. 데이터 a와 b, c는 중심1과 가깝게 나타났으며, 데이터 d와 e는 중심2와 가깝게 나타났죠. 따라서 a,b,c가 하나의 군집이 되며 d,e가 또다른 군집으로 설정되는데요.

 

④ 그 다음에는 중심점이 이동을 합니다. 이때의 중심점은 각 군집의 데이터들의 평균값으로 계산이 됩니다. 따라서 a,b,c가 하나의 군집이기 때문에 a,b,c 사이로 중심1이 이동하며 d,e가 하나의 군집이기 때문에 d와 e 사이로 중심2가 이동하는 것이죠.


 ⑤ 앞선 ③번에서 했던 과정과 동일하게 설정한 중심점을 기준으로 가장 가까운 데이터를 선택하여 군집으로 만들어주면 됩니다. 이때 데이터 a와 b는 중심1과 가깝게 나탔으며, 데이터 c,d,e는 중심 2와 가깝게 나타났죠. 


⑥ 따라서 이번에는 데이터 a와 b가 하나의 군집이 되며, 데이터 c,d,e가 하나의 군집이 됩니다. 새롭게 형성된 군집을 바탕으로 중심점을 이동한 결과, a와 b 사이로 중심1이 이동하며 c,d,e 사이로 중심2가 이동하게 됩니다. 이때, 각 군집이 잘 설정되어 중심들이 변화가 없는 것을 알 수 있는데요. 따라서 최종 군집은 a와 b 그리고 c,d,e가 되는 것을 확인할 수 있죠!
 


이러한 클러스터링은 같은 군집에 속한 데이터들은 유사하고, 다른 군집에 속한 데이터들은 서로 이질적일수록 더욱 좋겠죠? K-평균 클러스터링 미션 클리어 😎

How K-mean clustering groups data-: A Simple Example
Shokoufeh Mirzaei 


지금까지 자세한 작동원리로 알아본 K-평균 클러스터링, 엑셀로 해보고 싶으시다고요? 그럼 위에 있는 유튜브 사진을 클릭해 주세요! 🔼🔼🔼 



이번주 에이블레터 어떠셨나요?
좋았어요😁    아쉬웠어요😕

지난 <노코드 데이터분석> 다시 보기
유튜브에 베이즈 정리가 적용된다고?😲
베이즈 정리가 순진하다고요?🥴


지금 이 콘텐츠 공유하기👇