미리보기
기본 정보
자기소개
1. 문제를 직접 정의하고 데이터를 기반으로 한 합리적 의사결정
지금 하고 있는 작업이 타당한 작업인지 꾸준히 확인하며 문제 정의 및 가설을 설정하고, 데이터나 테스트를 기반으로 판단하는 것을 가장 중요하게 생각합니다.
2. 다양한 백그라운드를 가진 팀원들과 협업
팀원들과 매일 데일리 스크럼을 진행하며 작업 상황을 다른 과정의 팀원들도 이해하기 쉽게 설명하고, 서로의 이슈나 트러블 슈팅에 대해 관심을 갖고 도움을 주고 받으며 분업이 아닌 협업하고자 하였습니다.
3. 애자일한 프로젝트 관리
완벽한 프로젝트뿐만 아니라 완성된 프로젝트도 중요하다고 생각합니다. 프로젝트의 중요 기능을 선정하여 전체 프로세스에 대한 프로토타입을 최우선적으로 개발합니다. 그 후 세부 기능을 개발하고, 고도화 및 최적화를 고려하는 방향으로 프로젝트를 계획 및 관리하였습니다.
기술 스택
Python, R, PyTorch, LangChain, FastAPI, Docker, Git, SQL
포트폴리오
프로젝트
Credit Score Classification
건국대학교
2023.03. ~ 2023.06.
고객의 신용도를 예측하는 데이터 분석 프로젝트 (R)
데이터마이닝 수업에서 통계학도 5명(데이터 분석: 2, 모델링: 3)이 함께 진행한 팀프로젝트입니다.
데이터의 특성을 반영하여 기존 고객과 신규 고객에 대한 서로 다른 분석 시나리오 설계
데이터의 특성: 8개월동안 반복 수집된 고객의 정보
문제: 데이터가 없는 신규 고객에 대한 신용도를 어떻게 예측할 수 있을까?
해결: 학습 전 데이터를 분할하여 학습에 사용하지 않을 고객을 신규 고객으로 가정
성능 보조 지표 정의
상황
예측할 신용도(poor, standard, good)는 순서가 존재
실제 낮은 신용도의 고객을 높은 신용도로 예측한 경우와 실제 높은 신용도의 고객을 낮은 신용도로 예측한 경우는 다르게 평가되어야 함
문제: 정확도는 오분류 케이스에 대한 설명이 불충분
해결
보조 지표 정의: 전체 오분류 케이스 중에서 신용도가 낮은 고객을 높다고 예측한 케이스의 비율
모델 성능 평가 단계에서 정확도 뿐만 아니라 보조 지표를 함께 사용
결과: 앙상블 모델(정확도: 약 69.2%, 보조 지표: 0.575)이 가장 높은 정확도를 보였지만, 비슷한 정확도에 보조 지표의 평가가 좋은 ElasticNet(정확도: 약 68.75%, 보조 지표: 0.45)을 최종 모델로 선정
k-Fold Cross Validation 및 Grid Search CV 구현
Soft voting Ensemble model 구현
고객 대출등급 분류 AI 해커톤
DAICON
2024.01. ~ 2024.02.
고객의 대출등급을 예측하는 ML 모델 개발 (Python), 해커톤 상위 5%
DAICON에서 진행된 해커톤에 개인으로 참가한 프로젝트입니다.
데이터 시각화와 EDA를 통한 12개의 파생 변수 생성 및 테스트
가설: 대출을 성실히 갚는 사람의 대출 등급이 높을 것이다.
주요 파생 변수: 상환율(총 상환 원금 / 대출금액), 이자 상환율(총 상환 이자 / 대출금액)
결과: 모델의 성능 향상(F1-score: 0.78 -> 0.9)
Optuna를 활용하여 Hyperparameter Tuning 자동화
취뽀랩
Kakao Tech Bootcamp
2024.09. ~ 진행 중
채용 공고 기반 사용자 맞춤형 프로젝트 주제 추천 및 가이드 라인 생성 서비스
카카오테크 부트캠프에서 6명(Full-Stack: 2, AI: 2, Cloud: 2)이 함께 진행한 팀프로젝트입니다.
Python · Langchain · PostgreSQL · Redis · FastAPI
RAG를 활용하여 채용 공고 검색 및 프로젝트 생성
검색 성능을 높이기 위한 쿼리 최적화
프로젝트 계획을 구체적으로 생성하기 위한 Prompt Engineering
비동기 처리를 통한 성능 개선
문제
동기 처리로 인한 사용자의 지연 시간 증가
커넥션 유지로 인한 리소스 낭비
Timeout으로 응답을 받지 못하는 요청이 많음
실험: AI 서버의 코드를 비동기 방식으로 변경 후 부하테스트 진행
결과: 최대 vUser 40명 -> 1500명
Redis를 통한 세션 관리
데이터를 영구 보관할 필요가 없기 때문에, 속도가 빠르고 TTL로 세션을 관리할 수 있는 Redis 사용
불필요한 API 호출 및 DB 조회 생략
채용 공고 데이터 수집 및 가공 (Image -> Tabular)
약 200건의 채용 공고 데이터 수집 및 전처리
이미지 내의 표 구조를 유지하여 텍스트 추출 및 정형화
TodayFin
Kakao Tech Bootcamp
2024.07. ~ 2024.09.
통합 SNS 기반 뉴스 및 금융 정보 서비스
카카오테크 부트캠프에서 6명(Full-Stack: 2, AI: 2, Cloud: 2)이 함께 진행한 팀프로젝트입니다.
Python · MongoDB · FastAPI
뉴스 추천 시스템 개발
문제: 콜드 스타트
실시간으로 새로운 기사가 업로드 됨
모델을 개발하는 과정에서 컨텐츠와 유저간의 상호작용 데이터 부족
해결
신규 사용자: 관심 주제 및 신문사의 최신 기사 필터링
기존 사용자: 사용자가 읽었던 기사와 유사한 기사를 추천하는 컨텐츠 기반 추천 시스템 개발(최신 뉴스에 가중치 추가)
뉴스 데이터 수집 및 가공, 적재 파이프라인 구축
모델을 위한 데이터 전처리 자동화
FastAPI를 통해 모델 실시간 서빙
교육
건국대학교
대학교(학사) | 응용통계학과
2018.03. ~ 2024.08. | 졸업
대외활동
Kakao Tech Bootcamp
Kakao
다양한 백그라운드를 가진 팀원과 협업 경험(풀스택, 클라우드, 인공지능 통합 프로젝트)
소프트 스킬 - 메인 프로젝트(취뽀랩, TodayFin), 해커톤 및 부하테스트 대회 등 모든 프로젝트를 다양한 과정의 팀원들과 함께 수행하며 협업방식과 의사소통 스킬을 함양하였습니다.
하드 스킬 - 클라우드 팀원과 소통하며 클라우드 인프라, CI/CD 지식을 학습하고, 백엔드 팀원에게 개발 및 CS 지식을 학습하고, 프론트엔드 팀원에게 사용자 경험을 고려한 개발을 배웠습니다. 이를 통해 서비스 개발 전반에 대한 이해를 키울 수 있었습니다.
애자일한 프로젝트 관리
매일 데일리 스크럼과 매주 Jira 스프린트를 활용하여 진행 상황과 이슈를 공유하고, 팀 차원에서 비슷한 이슈를 최대한 빨리 해결하고자 하였습니다.
모든 작업의 우선 순위를 고려하여 프로젝트를 계획 및 관리하였습니다. 한정된 프로젝트 기간동안 공수가 많이 들고 우선 순위가 낮은 작업에 시간을 낭비하지 않도록 하여 시간을 효율적으로 활용하고자 하였습니다.
꾸준한 학습
NLP 최신 논문 스터디:
트랜스포머 이후의 최신 논문을 읽으며 최신 트렌드를 파악하고 자연어 처리 지식을 쌓았습니다.
Google Machine Learning Bootcamp
Coursera(Deep Learning Specialization) 강의를 통한 딥러닝 지식 함양
Computer Vision, NLP, 데이터 분석 전략 등 기초 지식을 쌓았습니다.
Kaggle Competition 실습(2024.08 Playground 상위 2%)
Gemma Sprint, Gemma fine-tuning
CV, NLP 기초 논문 스터디 병행
자격증
TEPS
404 | 서울대학교발전재단
2024.03.
SQLD(SQL 개발자)
한국데이터산업진흥원
2023.04.
ADsP(데이터분석 준전문가)
한국데이터산업진흥원
2023.03.