본문 바로가기

분류 전체보기

(29)
[RecSys #5-1] 추천 시스템의 숨은 영웅, Negative Sampling "이 상품을 구매했습니다", "이 영화를 시청했습니다" - 추천 시스템이 수집하는 데이터는 대부분 이런 긍정적인 행동 기록이다. 그런데 여기에 치명적인 문제가 하나 있다. 사용자가 "이 상품을 싫어한다"라고 명시적으로 말해주지 않는다는 것이다. 머신러닝 모델은 좋아하는 것과 싫어하는 것을 구분해야 학습할 수 있는데, 우리에게는 "좋아함"만 있고 "싫어함"이 없다. 이 문제를 해결하는 영리한 방법이 바로 Negative Sampling이다.Implicit Feedback의 딜레마실제 서비스 환경에서 수집되는 데이터는 대부분 Implicit Feedback(암묵적 피드백)이다. 사용자가 상품을 구매했는지, 영화를 봤는지, 링크를 클릭했는지 같은 행동 기록만 남는다. 문제는 이런 데이터에는 긍정적인 신호(Po..
[RecSys #1] 넷플릭스는 어떻게 내가 좋아할 영화를 알까? | 추천 시스템의 원리 넷플릭스를 켜면 메인 화면에 "회원님을 위한 추천" 목록이 가득하다. 유튜브는 다음에 볼 영상을 자동으로 재생하고, 쿠팡은 "이 상품은 어떠세요?"라며 끊임없이 제안한다. 이 모든 것이 바로 추천 시스템(Recommender System)의 결과물이다. 오늘은 추천 시스템이 무엇이며, 어떤 원리로 작동하는지 살펴볼 예정이다.왜 추천 시스템이 필요한가?정보 과부하 시대의 선택온라인 세상에는 선택지가 넘쳐난다. 넷플릭스에는 수만 개의 콘텐츠가 있고, 아마존에는 수억 개의 상품이 진열되어 있다. 이렇게 많은 선택 앞에서 사용자는 역설적으로 "무엇을 선택해야 할지" 막막해진다. 이것이 바로 정보 과부하(Information Overload) 문제다.아마존 창업자 제프 베조스는 이렇게 말했다."고객이 300만 명..
[Numpy] 간단 요약 1. 데이터 처리에 중요한 라이브러리NumPy: 파이썬을 사용한 과학 계산을 위한 기본 패키지Pandas: 사용하기 쉬운 데이터 구조와 데이터 분석 도구 제공Matplotlib: 고품질 2D 그래프를 그리는 파이썬 라이브러리Seaborn: Matplotlib 기반으로 통계적 그래프를 쉽게 그릴 수 있는 인터페이스 제공2. NumPy 기초배열(Array) 생성NumPy 배열은 데이터를 효율적으로 저장하고 처리할 수 있는 구조 제공배열의 구조:(samples, features): 샘플별 특징(samples, timesteps, features): 시계열 데이터(samples, height, width): 이미지 데이터(samples, height, width, channels): 색상 채널 포함 이미지 데이..
[Pandas] 판다스 기초 요약노트 2 - 데이터 처리 1. 데이터 저장CSV 및 Pickle 파일 저장데이터 클렌징 후 저장:df.to_csv('파일명.csv', index=False, encoding='utf-8-sig')CSV 파일 저장 시 데이터 타입 변동 가능성(날짜, Boolean 등) 주의 필요인덱스 저장 여부는 index=True 또는 기본값 사용 시 포함됨엑셀에서 열기 위해 인코딩 방식은 utf-8-sig 또는 euc-kr 권장Pickle 파일 저장:df.to_pickle('파일명.pkl')Pickle 파일은 현재 상태 그대로 로딩 가능(영속성 보장)파일 불러오기:pd.read_pickle('파일명.pkl')단, 엑셀 등 다른 프로그램에서 로딩 불가 2. 결측치 처리결측치(Missing Value) 구분None vs. NaNNone: 아무것도..
[Pandas] 판다스 기초 요약노트 1 - 데이터 클렌징 1. 데이터 처리 개요Why Data Preprocessing is Important?데이터를 분석하여 시스템이 데이터 패턴의 변화에 적응하도록 유도COVID-19로 인해 은행의 머신러닝 및 데이터 과학 애플리케이션에서 발생하는 기회와 리스크Challenges for Analytics데이터의 정합성 유지 및 품질 문제데이터 클렌징의 필요성Data Cleansing (Cleaning)잘못되거나 일관되지 않은 데이터를 식별, 삭제 또는 교체하는 과정잘못된 결론의 도출을 방지데이터 클렌징의 주요 단계데이터 로딩 후 검토 (Importing Data)관련 없는 데이터 제거 (Scrub for Irrelevant Data)잘못된 데이터 처리 (Scrub for Incorrect Data)결측치 처리 (Handle..
[Python] 파이썬 Basic 모듈과 파일다루기 정리 1. 모듈모듈은 프로그램에서 독립적인 단위로, 특정 기능을 가진 코드의 모음입니다.import 문을 이용해 모듈을 불러와 사용할 수 있습니다.모듈 호출 시 이름을 지정해 사용 가능합니다.import 모듈이름 as 별칭 import의 사용법불러온 모듈의 함수를 모듈.함수 형태로 사용할 수 있습니다.모듈의 함수 사용은 메서드 사용법과 비슷합니다.import mathprint(math.sqrt(9)) # 3.0특정 함수만 임포트하는 방법도 있습니다.from random import randintprint(randint(1, 10)) # 1에서 10 사이의 랜덤한 정수from ... import * 형태로 모듈 내 모든 함수를 임포트할 수 있지만, 여러 모듈을 임포트하면 어떤 함수를 임포트했는지 알기 어렵습..
[Python] 파이썬 Basic 자료구조의 이해와 제어함수 활용 간단 정리 개요파이썬에서 기본 제공하는 자료구조: 리스트, 튜플, 사전, 집합데이터 관리와 저장 방법을 제공하며, 다양한 데이터 구조를 통해 데이터를 효과적으로 다룰 수 있음리스트(List)여러 값을 하나의 변수에 할당할 수 있는 가변적인 컨테이너대괄호 []를 사용하여 정의하며, 순서가 있는 자료를 관리하기 편리예:colors = ['red', 'blue', 'green']리스트는 여러 자료형을 혼합하여 사용할 수 있음인덱싱(Indexing)리스트에서 특정 위치의 값에 접근하는 방법양의 인덱스:x = [1, 2, 3]x[0] # 첫 번째 요소, 결과: 1음의 인덱스:x[-1] # 마지막 요소, 결과: 3x[-2] # 끝에서 두 번째 요소, 결과: 2슬라이싱(Slicing)리스트에서 특정 범위를 선택하는 방법예..
[Python] 제어 함수와 프로그래밍 리뷰 오늘은 Python 프로그래밍에서 중요한 제어 함수와 반복문을 복습했다. 최근 GPT로만 코드를 짜서 직접 코드를 작성하는 것이 오랜만이라 어색하다. 조건문, 반복문, 리스트 컴프리헨션, 그리고 enumerate와 zip 함수에 대해 다시 한번 정리해보았다.1. 조건문 (if문)조건문은 프로그램의 흐름을 제어하는 데 필수적인 요소이다. if문을 사용하면 특정 조건이 참일 때만 코드를 실행할 수 있다.기본 구조if 조건: 실행할 코드 예를 들어, x가 3보다 클 때만 "크다"를 출력하고 싶다면 다음과 같이 작성할 수 있다.x = 5if x > 3: print("크다") else와 elif조건이 만족하지 않을 때 다른 코드를 실행하려면 else를 사용할 수 있다. 여러 조건을 체크하고 ..