TIL(Today I Learned)
1️⃣머신러닝 심화
군집화 (Clustering)
👉 비슷한 데이터끼리 묶는 것
- 목적: 데이터 안에 숨어있는 그룹 찾기
- 정답(label) 없이 스스로 그룹을 나눔 (비지도 학습)
예시
- 고객 데이터를 분석해서 비슷한 소비 패턴끼리 묶기
- 뉴스 기사들을 주제별로 자동 분류
대표 알고리즘
- K-means
- DBSCAN
- Hierarchical Clustering
👉 핵심: “누가 누구랑 비슷한지”를 찾는다
차원 축소 (Dimensionality Reduction)
👉 데이터의 변수(컬럼)를 줄이는 것
- 목적: 정보는 최대한 유지하면서 데이터 간단하게 만들기
- 고차원 데이터 → 저차원 데이터로 변환
예시
- 100개의 변수 → 2~3개로 줄여서 시각화
- 모델 학습 속도 개선, 과적합 방지
대표 기법
- PCA (주성분 분석)
- t-SNE
- UMAP
👉 핵심: “정보는 유지하면서 더 간단하게 표현”
한 줄 차이 정리
- 군집화 👉 데이터를 나눈다 (그룹 찾기)
- 차원축소 👉 데이터를 줄인다 (압축)
같이 쓰는 경우
- 차원축소(PCA)로 데이터 정리 → 군집화(K-means)로 그룹 나누기
👉 이유: 차원이 너무 많으면 군집화 성능이 떨어질 수 있음
2️⃣Python 알고리즘 주요 문제
문제
- 문제 설명: 코딩테스트 연습 - 바탕화면 정리 | 프로그래머스 스쿨
- 제한 사항
- 1 ≤ wallpaper의 길이 ≤ 50
- 1 ≤ wallpaper[i]의 길이 ≤ 50
- wallpaper의 모든 원소의 길이는 동일합니다.
- wallpaper[i][j]는 바탕화면에서 i + 1행 j + 1열에 해당하는 칸의 상태를 나타냅니다.
- wallpaper[i][j]는 "#" 또는 "."의 값만 가집니다.
- 바탕화면에는 적어도 하나의 파일이 있습니다.
- 드래그 시작점 (lux, luy)와 끝점 (rdx, rdy)는 lux < rdx, luy < rdy를 만족해야 합니다.
- 입출력 예

- 문제 접근
- 좌표에 따른 최대 최소값을 넣을 변수 선언
- 이중 for문을 통해 순회
- 조건문을 통해 #의 위치 찾기
- 조건에 부합할 때마다 변수에 대입
- 계산한 결과값 반환
- 코드
더보기
def solution(wallpaper):
min_r, min_c = float('inf'), float('inf')
max_r, max_c = -1, -1
for i, arr in enumerate(wallpaper):
for j, value in enumerate(arr):
if value == '#':
min_r = min(min_r, i)
min_c = min(min_c, j)
max_r = max(max_r, i)
max_c = max(max_c, j)
return [min_r, min_c, max_r+1, max_c+1]
- pythonic(리스트 컴프리헨션)
더보기
def solution(wallpaper):
rows = [i for i, row in enumerate(wallpaper)
for j, val in enumerate(row) if val == '#']
cols = [j for i, row in enumerate(wallpaper)
for j, val in enumerate(row) if val == '#']
return [min(rows), min(cols), max(rows)+1, max(cols)+1]
💡 느낀점
군집화와 차원축소를 공부하면서 데이터는 그대로 두기보다, 목적에 맞게 정리하고 구조를 파악하는 과정이 더 중요하다는 걸 느꼈다. 단순히 모델을 적용하는 것이 아니라, 데이터의 특성을 이해하고 불필요한 정보를 줄이거나 비슷한 데이터끼리 묶는 과정이 분석의 핵심이라는 점이 인상적이었다.
'데이터 분석 심화' 카테고리의 다른 글
| Chapter.4 데이터 분석 심화(9) (1) | 2026.04.23 |
|---|---|
| Chapter.4 데이터 분석 심화(8) (0) | 2026.04.22 |
| Chapter.4 데이터 분석 심화(6) (1) | 2026.04.20 |
| Chapter.4 데이터 분석 심화(5) (0) | 2026.04.17 |
| Chapter.4 데이터 분석 심화(4) (0) | 2026.04.16 |