[ML] 상품명 기반 군집화: TF-IDF와 KMeans로 제품 카테고리 자동 분류하기
·
ML & DL
텍스트 데이터는 구조화되어 있지 않기 때문에 분석이 어렵다고 느껴질 수 있다.하지만 적절한 전처리와 벡터화 기법을 활용하면, 단순한 상품명만으로도 충분히 의미 있는 패턴을 발견할 수 있다. 이번 포스팅에서는 수업 중 연습문제로 내주신 상품명을 기반으로 유사한 제품들을 자동으로 묶는 '군집화(clustering)' 과정을 단계별로 정리해보고자 한다. 특히 TF-IDF와 KMeans를 활용하여 제품 카테고리가 어떻게 자연스럽게 분리되는지 확인해본다. 데이터 로드 및 기본 탐색# 먼저 UCI에서 제공하는 상품 데이터를 불러온다. 이 데이터에는 다양한 상품명(Product Title)이 포함되어 있다.import pandas as pddf = pd.read_csv('pricerunner_aggregate.csv..
[ML] 스마트폰 센서 데이터로 사용자 행동 분류하기: HAR 다중분류 실습
·
ML & DL
데이터 다운로드:https://www.kaggle.com/datasets/uciml/human-activity-recognition-with-smartphones Human Activity Recognition with SmartphonesRecordings of 30 study participants performing activities of daily livingwww.kaggle.com 1. 문제 소개: 사용자 행동 인식이란사용자 행동 인식(Human Activity Recognition, HAR)은 스마트폰이나 웨어러블 기기의 센서 데이터를 바탕으로 사람이 어떤 행동을 하고 있는지 분류하는 문제이다. 대표적으로 걷기, 앉기, 서 있기, 계단 오르기, 계단 내려가기, 눕기와 같은 행동을 예측하는 ..
[GitHub] 노트북 두고 온 날 유용했던 팁: 아이폰 Safari로 GitHub 업로드 하기(.gitkeep)
·
Python & SQL/Git & GitHub
며칠 전, 크롤링을 계속 켜두느라고 아이패드와 아이폰만 가지고 집을 나선 적이 있었다.그래서 처음에는 동기 분들께 노트북을 잠시 빌려야 할 상황에 대해 양해를 구했었지만, 결국 Safari에서 GitHub에 접속하여 파일 업로드에 성공했다. 모바일 깃허브 앱도 있지만, Safari에서 웹에 접속하는 방식이 더 잘 맞았고, 실제로 빈 폴더 생성을 위한 .gitkeep 생성도 이 방식으로 처리했다. (내가 안드로이드 폰으로 확인해본 것은 아니지만) 꼭 아이폰이 아니더라도 모바일 인터넷을 통해 같은 기능을 사용할 수 있으리라 생각한다. Safari로 GitHub 웹에 들어가면 의외로 할 수 있는 것들대표적으로 아래와 같은 것들이 가능하다.README 수정, 간단한 오타 수정, 새 파일 생성, 링크 추가, 폴더..
머신러닝을 한 단계 더 이해하기
·
ML & DL
교차검증, 하이퍼파라미터 튜닝 그리고 비지도학습머신러닝을 처음 공부할 때는 데이터를 나누고, 모델을 만들고, 정확도를 확인하는 과정 자체만으로도 충분히 새롭고 어렵게 느껴진다. 그런데 몇 번 반복하다 보면 비슷한 고민이 생기기 시작한다. "이 모델이 진짜 잘 만든 모델일까?", "이 결과를 그대로 믿어도 될까?" 같은 질문이다. 나 역시 간단한 모델을 만들어보고 정확도를 확인했을 때는 결과가 꽤 괜찮게 나와서 만족했던 적이 있다. 그런데 데이터를 나누는 방식을 조금 바꾸거나, 같은 모델을 다시 돌려보면 결과가 미묘하게 달라지는 것을 보게 된다. 이때부터 "모델을 한 번만 평가하는 것이 과연 충분한가"라는 의문을 가지게 된다. 이런 고민에서 등장하는 개념이 바로 교차검증(cross-validation)이다..
머신러닝 성능을 바꾸는 핵심 요소
·
ML & DL
전처리, 스케일링, 특성공학과 성능 평가머신러닝을 처음 공부할 때는 어떤 알고리즘을 사용하는지가 가장 중요해 보였다. k-NN, 선형회귀, 랜덤 포레스트 같은 모델 이름들이 계속 나오다보니, 어떤 모델을 선택하느냐가 성능을 결정한다고 생각하기 쉬웠다. 그런데 공부를 조금 진행해보니 생각보다 다른 부분에서 막히게 된다. 바로 데이터를 다루는 과정이다. 실제로 모델을 적용해보면, 데이터가 깔끔하게 정리되어 있는 경우는 거의 없다. 값이 비어 있기도 하고, 숫자가 아닌 문자열이 섞여 있기도 하고, 변수마다 값의 크기가 크게 다른 경우도 많다. 이런 상태에서는 모델을 제대로 적용하기 어렵다. 그래서 머신러닝에서는 모델 이전 단계인 데이터 전처리 과정이 중요하다는 말을 많이 듣게 된다. 가장 먼저 마주하게 되는..
지도학습 핵심 개념과 대표 알고리즘
·
ML & DL
분류와 회귀부터 과대적합까지 한 번에 이해하기머신러닝을 처음 배우면 다양한 알고리즘 이름이 쏟아진다. K-NN, 선형회귀, 로지스틱 회귀, SVM, 결정트리 등 익숙하지 않은 용어들이 이어지면서 무엇부터 이해해야할지 막막해지기 쉽다. 하지만 이 많은 알고리즘들은 사실 몇 가지 공통된 개념 위에서 움직인다. 그 핵심이 바로 지도학습(Supervised Learning)이다. 지도학습은 말 그대로 정답이 있는 데이터를 가지고 학습하는 방식이다. 데이터 안에 입력값과 함께 정답이 같이 들어 있고, 모델은 이 둘 사이의 관계를 학습한다. 예를 들어 고객 정보가 있고 그 고객이 이탈했는지 여부가 함께 기록되어 있다면, 모델은 "어떤 조건일 때 이탈하는가"라는 패턴을 배우게 된다. 이후 새로운 고객 데이터가 들어오..
머신러닝의 기본 흐름 이해하기: 데이터부터 첫 모델까지
·
ML & DL
K-NN으로 시작하는 첫 머신러닝 실습 흐름머신러닝을 이해하는 가장 좋은 방법은 이론을 오래 붙잡고 있는 것이 아니라, 실제로 한 번 끝까지 돌려보는 것이라고 한다. 데이터를 불러오고, 나누고, 모델을 만들고, 예측을 해보고, 그 결과를 평가하는 전체 흐름을 한 번 경험해보면 이후에 배우는 알고리즘들이 훨씬 명확하게 연결된다. 이번 글에서는 그 첫 번째 경험을 만드는 데 초점을 둔다. 머신러닝은 결국 데이터를 다루는 작업이기 때문에 가장 먼저 해야 할 일은 데이터를 준비하는 것이다. 데이터는 CSV 파일 형태일 수도 있고, 데이터베이스에서 불러올 수도 있으며, 라이브러리에서 제공하는 샘플 데이터일 수도 있다. 입문 단계에서는 구조가 잘 정리된 데이터를 사용하는 것이 이해해 도움이 될 것이다. 파이썬에서는..
머신러닝을 시작할 때 먼저 알아야 할 것들
·
ML & DL
파이썬, scikit-learn, 그리고 필수 도구까지머신러닝을 처음 공부할 때 많은 사람이 곧바로 알고리즘부터 배우고 싶어 한다. k-최근접 이웃, 선형회귀, 결정트리 같은 이름을 접하면 뭔가 본격적인 공부가 시작되는 것 같기 때문이다. 하지만 실제로 머신러닝의 출발점은 알고리즘의 이름을 외우는 데 있지 않다. 먼저 해야할 일은 어떤 문제를 풀고 싶은지 이해하고, 그 문제를 데이터로 어떻게 표현할 수 있는지 파악하는 것이다. 이 출발점을 놓치면 이후에 어떤 모델을 배우더라도 전체 흐름을 잡기가 어려울 것이다. 머신러닝은 결국 데이터를 바탕으로 어떤 규칙이나 패턴을 학습하고, 그 학습 결과를 이용해 예측이나 판단을 수행하는 방법이다. 그런데 여기서 중요한 점은 머신러닝이 마법처럼 정답을 만들어내는 기술이..