2022년 스택오버플로우 서베이에서 파이썬은 가장 배우고 싶은 언어 2위를 차지할 정도로 인기가 많다. 하지만 이러한 파이썬도 명확한 한계점이 지적된다. 속도이다. 파이썬은 자바, C, C++만큼 빠르지는 못하다. 그리고 커뮤니티를 통해서 이러한 한계점이 지적되어 왔던 것도 사실이다. 파이썬의 창시자 귀도 반 로섬은 파이썬 랭귀지 서밋(Python Language Summit)에서 파이썬을 빠르게 만드는 것을 언급했으며, 파이썬 3.11은 그에 대한 첫 결과물로 볼 수 있을 것이다. 이 글에서는 파이썬 3.11이 어떻게 빨라졌는지에 대해 알아보려고 한다.
소프트웨어는 ‘사람’이 만든다. 그리고 ‘함께’ 만든다. 리뷰어로서 지난 몇 년을 뒤돌아 보니 이 사실을 잊고 있었다는 생각이 들었다. 의지가 앞서 내 생각을 강요했고 맥락을 제대로 나누지 못했으며, 묻지 않고 내 말만 하기 바빴다. 이런 방식으로는 내가 원하는 것을 얻을 수 없었다. 내가 원하는 것을 얻기 위해서는 ‘함께’해야 한다. ‘함께’의 핵심은 내 생각을 자제하고 다양성을 인정하며 변화의 기회를 주고 기다려 주는 것이다. 그리고 그 밑바탕에는 사람에 대한 존중이 있다. 물론 쉽지 않은 일이다. 그래서 문화를 만드는 것이 아주 어려운 것이다.
오늘은 머신러닝의 비지도 학습 방법 중 군집화에 대해 알아보겠습니다. 먼저 군집화란 그룹이라는 일종의 카테고리(군집)를 만들고, 이후 데이터 값을 보고 특정 군집으로 결정짓는 것(군집화)을 말합니다. 보통 여러 데이터가 쌓인 표를 보면 어떻게 묶어줘야 할지 쉽게 결정하기 어려운데요. 이때 데이터의 양이 적은 경우, 좌표 평면을 사용하면 가까운 것들끼리 묶을 수 있습니다. 그러나 더 많은 양의 복잡한 데이터는 어떨까요? 2차원의 표로 정리하는 게 불가능할 수도 있습니다. 이때 군집화 방법을 이용하면 3차원 또는 4차원으로 정리된 데이터를 묶어줄 수 있습니다.