분류 전체보기 122

[Data Science] EPOCH_ch04. 포르토 세구로 안전 운전자 예측 경진대회 (p.258 ~ p.267)

4.7 Baseline 모델 실질적인 머신러닝 파이프라인 구축하기(Baseline 모델 구축) 순서 : 데이터 전처리 -> 피처 엔지니어링 -> 학습 모델(LightGBM) 정의 -> 모델 학습 및 교차 검증 평가 -> 테스트 데이터 예측 및 캐글 업로드  머신 러닝 파이프라인은 일련의 상호 연결된 데이터 처리 및 모델링 단계로서, 머신 러닝 모델을 구축, 학습, 평가 및 배포하는 프로세스를 자동화, 표준화 및 간소화하도록 설계되었습니다. 머신 러닝 시스템 개발 및 생산화의 중요한 구성 요소인 머신 러닝 파이프라인은 데이터 과학자와 데이터 엔지니어가 엔드투엔드 머신 러닝 프로세스의 복잡성을 관리하고, 다양한 애플리케이션을 위한 정확하고 확장 가능한 솔루션을 개발할 수 있도록 지원합니다. 머신 러닝 기술은..

CS/Data Science 2025.03.23

[Data Science] EPOCH_Kaggle 3주차

2.7 Baseline 모델 : 일반적인 머신러닝 파이프라인의 모든 과정을 포함하는 가장 기초적 모델경진대회 상위 참가자들이 baseline 모델 공개 but 직접 개인 baseline 모델 구축해보면 배움 향상! Tabular 데이터를 다루는 캐글 경진대회에서의 머신러닝 파이프라인의 일반적 순서데이터 전처리 제품변수 결측값 0으로 대체(보유여부 정보가 없으면 보유하고 있지 않다고 가정)훈련데이터와 테스트데이터 통합(날짜변수(fetcha_dato)로 쉽게 구분가능.  동일한 24개의 고객변수 공유, 테스트 데이터에 없는 24개의 제품변수는 0으로 채움범주형, 수치형 데이터 전처리. 범주형 데이터는 .factorize()를 통해 Label Encoding 수행.데이터 타입이 object로 표현되는 수치형 ..

CS/Data Science 2025.03.19

[Data Science] EPOCH_Kaggle 2주차

[4개의 정답이 모두 마지막 4개일 때]#Prediction (예측결과)0 0 0 1 1 1 1#Precicion (예측의 정확도)0 0 0 1/4 2/5 3/6 4/7#Average Precision (예측 정확도의 평균)(1/1 + 2/2 + 3/3 + 4/4) / 4 = 1.002.1 경진대회 소개산탄데르 은행은 고객 맞춤형 제품 추천 제공소수 고객에게만 다양한 추천 제공, 나머지 고객에게는 제품추천기회가 적어 불균등한 고객경험으로 이어진다. 고객의 과거 이력과 유사한 고객군들의 데이터를 기반으로 다음달에 해당 고객이 무슨 제품을 사용할지 예측하는 문제 준비더 효과적인 추천시스템을 갖추게 된다면 산탄데르는 고객이 인생의 어느 단계에 있든 모든 고객의 개인적 필요에 알맞는 제품을 추천하여 그들을 만족..

CS/Data Science 2025.03.19

[C++] 알튜비튜 4주차 - 브루트포스

브루트포스 무차별 대입, 완전 탐색해답을 찾기 위해 가능한 모든 경우의 수를 찾는 기법시간복잡도는 입력크기에 비례간단하지만 매우 느림 BUT 떠올리기 가장 쉬운 기법 -> 문제를 풀 때 가장 먼저 고려해야 한다.입력범위와 시간복잡도를 잘 고려 분해합n의 분해합 = n과 n을 이루는 각 자리수의 합n의 생성자 = 분해합이 n인 어떤 자연수 m 비트마스킹비트 필드 각각을 하나의 원소처럼 사용하는 기법 C++ 에서 int는 32비트의 공간을 사용 -> int 한 개로 32개의 원소 저장 가능산술 연산보다 빠른 연산 수행가능1개의 int만으로 32개의 원소를 저장하는 효과효율적 메모리사용DP, 백트래킹 등 방문 여부를 저장해야 하는 알고리즘에 사용  비트연산자AND(&) : int ans = a & b;1100..

언어/C++ 2025.03.12

[Data Science] EPOCH_Kaggle 1주차

[4개의 정답이 모두 마지막 4개일 때]#Prediction (예측결과)0 0 0 1 1 1 1#Precicion (예측의 정확도)0 0 0 1/4 2/5 3/6 4/7#Average Precision (예측 정확도의 평균)(1/1 + 2/2 + 3/3 + 4/4) / 4 = 1.002.1 경진대회 소개산탄데르 은행은 고객 맞춤형 제품 추천 제공소수 고객에게만 다양한 추천 제공, 나머지 고객에게는 제품추천기회가 적어 불균등한 고객경험으로 이어진다. 고객의 과거 이력과 유사한 고객군들의 데이터를 기반으로 다음달에 해당 고객이 무슨 제품을 사용할지 예측하는 문제 준비더 효과적인 추천시스템을 갖추게 된다면 산탄데르는 고객이 인생의 어느 단계에 있든 모든 고객의 개인적 필요에 알맞는 제품을 추천하여 그들을 만족..

CS/Data Science 2025.03.06

[C++] 알튜비튜 3주차 - 정수론

정수론이란?각종 수의 성질을 다룬다.약수 배수 최대공약수 최소공배수 소수 판결최대공약수소인수분해 이용 - 두 수 중 작은 수 기준으로 돌리면서 가장 큰 공통 약수 구하기구현 까다로움, 시간복잡도 O(n)유클리드 호제법: 시간복잡도 O(log(n))기본 원리A와 B의 최대공약수 = A-B 와 B의 최대공약수A = a*GB = b*G(a와 b는 서로소)A - B = a*G-b*G = (a-b)*G(a-b)와 b 또한 서로소 -> A-B 와 B의 최대공약수도 G이미 gcd⁡(a,b)=1 이므로, 어떤 정수 x,y 가 존재해서 ax+by=1을 만족시킨다. 그럼 (a−b)x+by=1도 만족. 어떤 정수 조합으로 1을 만들 수 있으니까 gcd(a−b,b)=1 이 된다.GCD(A,B) = GCD(A-B,B) -> A..

언어/C++ 2025.03.04

WEB 기초지식(React/html/css/JavaScript)

React란?사용자 인터페이스를 구축하기 위한 JavaScript 라이브러리페이스북에서 개발중, 현재는 개발자 커뮤니티에서 유지보수중React는 컴포넌트 기반 아키텍처를 사용하여 interactive, 동적인 웹 애플리케이션을 쉽게 만들 수 있도록 도와준다.JSX란?JavaScript XML :자바스크립트의 구문확장. React에서 자주 사용JSX를 사용하면 JS 코드 내에 HTML과 유사한 코드 작성 가능 -> React 컴포넌트의 구조와 외형을 정의하기 더 쉬워진다.const element = 안녕하세요. :JSX는 브라우저에서 실행 전 일반 JS코드로 변환 React 컴포넌트란?사용자 인터페이스의 일부분을 캡슐화한 재사용 가능하고 독립적인 빌딩 블록버튼, 폼과 같은 UI요소부터 내비게이션 바, 전..

[Data Science] Kaggle 사용법

1. Kaggle이란 무엇인가캐글은 데이터 분석 경진대회 주최 플랫폼. 경진대회는 회사의 연구과제,주요 서비스를 위해 분석이 필요한 데이터를 제공해서 주최하는 것이 일반적.인공지능, 머신러닝 붐 -> 참가자 증가 -> Alphabet의 인수 -> Kaggle은 단순 플랫폼이 아닌 데이터사이언티스트, 엔지니어들에게 매우 중요한 사이트가 되었다.Kaggle의 사용자: Kaggler / Kaggle에서 활동하거나 Competition에 참가하는 것 : Kaggling파이썬, 머신러닝, 시각화 등의 실무, 실용적 강의 제공. 모든 강의는 영어, 무료, 수료증 제공프로그래밍 언어: 일반적으로 python과 R필요한 지식: python, 데이터분석, 영어2. Kaggle은 어떻게 활용되는가데이터 분석을 위한 인프라..

CS/Data Science 2025.02.28

[C++] 알튜비튜 2주차 - 스택, 큐, 덱

스택(Stack)LIFO(last in first out)자료의 맨 끝 위치에서만 모든 연산이 이루어진다.모든 연산에 대한 시간복잡도는 O(1)연산이 이루어지는 위치 : top, 삽입: push, 삭제: pop std::stackpush(element): top에 원소 추가pop(): top에 있는 원소 삭제top(): top에 있는 원소 반환empty(): 스택이 비어있는지 확인(비어있으면 true)size(): 스택 사이즈 반환* 파이썬은 ?따로 Stack 자료구조 제공 x. 이미 리스트에 모두 구현돼있다.list()stack = list()일 때...stack.append(element): top에 원소 추가stack.pop(): top에 있는 원소를 반환하고 삭제stack[-1]: top에 있는 ..

언어/C++ 2025.02.27

[C++] ICPC 25W 9회차 - dp

dynamic programming: 큰 문제를 부분문제로 쪼개어 푸는데, 여러 번 나오는 부분문제를 기억해서 최적화하는 기법 메모이제이션피보나치 수열: 단지 이미 계산한 값을 들고있는 것으로 호출의 양을 엄청나게 줄이는 것을 알 수 있다.dp - 메모이제이션 : 여러 번 나오는 부분 문제를 기억한다.사용법값을 저장해둘 테이블 만들기테이블을 식별할 수 있는 값으로 초기화해두기;내가 지금 풀어야 하는 문제의 답이 테이블에 존재하면 사용하기dp - 분할정복 : 문제를 바로 해결 가능하면 해결함. 지금 바로 해결 불가하면 문제를 잘게 쪼갠 후 조립문제 정의부분문제 정의내가 정의한 부분문제로 주어진 문제를 해결 가능한지 보이기내가 정의한 부분문제를 해결 가능한지 보이기

언어/C++ 2025.02.23