전체 글 28

입찰제안서용 AI 솔루션 구축기 (1)

인턴 생활을 하면서 개인적으로 가장 인상 깊었던 건 제안서 작업의 규모였다. 백 페이지에 달하는 제안요청서(RFP)를 처음부터 끝까지 읽고, 요구사항과 배점표를 수동으로 뽑아내는 작업이 입찰마다 반복됐다. 보면서 자연스럽게 드는 생각이 있었다. 이거 AI로 자동화할 수 있지 않을까?1. 문제처음엔 단순하게 접근했다. 스크립트로 텍스트를 뽑아서 Gemini API에 통째로 던지면 되지 않을까 싶었는데, 두 가지 문제가 바로 터졌다.첫째는 노이즈였다. 한글 문서(HWP, HWPX) 특성상 폰트 메타데이터나 표 레이아웃 같은 쓸모없는 데이터가 텍스트 안에 잔뜩 섞여 들어왔다. 둘째는 토큰이었다. RFP 텍스트가 10만 자를 넘어가는 경우가 많은데, 행정 절차나 서론 같은 불필요한 내용까지 전부 넘기다 보니 A..

2월 인턴 생활 회고 & AI를 활용한 제작안 구축기

내배캠의 1달 인턴에 지원하여 그로스 마케터로 들어갔으나, 공공입찰 기획 파트에 흥미를 느껴 해당 파트에 지원하겠다고 말했다. 개인적으로 다양한 경험을 할수록 더 넓은 인사이트와 좋은 결과물이 나온다고 믿는 편인데, 대시보드나 기능 개발을 원하는 기업과 핏을 맞춰볼 수 있는 좋은 기회라고 생각했다.2월 동안 총 2개의 프로젝트를 진행했다. 제안요청서를 읽으면서 "이 기능을 어떻게 풀어낼 것인가, 어떻게 어필할 것인가, 우리가 추가로 제안할 수 있는 포인트는 무엇인가"를 계속 고민했다. 단순히 요구사항을 받아 구현하는 것이 아니라 제안의 맥락을 이해하고 설득력 있게 구성하는 작업이었는데, 생각보다 훨씬 재밌었다.대시보드도 정말 많이 만들었다. 구상한 것만 10가지, A4에 직접 그려가며 구체화한 것도 5개..

네번째 프로젝트 [AI기반 카드 추천 모델]

개인적으로 최신기술에 대한 이해가 가장 늘어난 프로젝트가 아닐까싶다. 크롤링, 데이터 정제, RAG, LLM API, 마케팅 퍼널 설계까지 다 진행했던 프로젝트라 좀 뜻깊다. 0. 문제 설정새로운 프로젝트를 시작하면서 어떤 문제를 풀어볼까 고민이 많았다. 그러던 중 최근 카드를 바꾸려다 복잡한 로직때문에 그냥 기존에 쓰던 카드에 좋아보이는 카드를 하나 더 발급받은 경험이 생각나서 이 문제를 해결해보고 싶었다. 0-1. 기존 카드추천 모델 점검보시다싶이 대부분의 카드추천 모델들은 데이터를 통한 랭킹이나 마케팅적인 인기순위를 기반으로 한다. 커뮤니티의 카드 추천 역시 이런이런 카드가 더 좋더라~ 의 틀을 크게 벗어나지 못한다. 이는 카드의 혜택 로직이 고도화됨에 따라 하나의 카드에 하나의 계산 로직이 필..

세번째 프로젝트 [낙농업 관리 최적화 프로젝트]

진행 기간 : 2025.10.30 ~ 2025.11.12 (2주) | 4인기여 내역 : 전처리, 문제 정의, 분석, 클러스터링 군집별 라벨링 및 관리법 제언 1. 데이터 소개스마트팜 코리아의 2021 「낙농_로봇착유기_데이터_2021」 및 「낙농_유성분검사성적서_데이터_2021」2. 전처리중복 제거 및 결측치 제거주요 컬럼 [305일 유성분, 유단백 등]이 모두 결측치인 행이 약 40%가까이 되어 결측치 데이터를 어떻게 처리할 것인지가 1차적인 고민이였다. 생각했던 처리방법은 두가지로 1) 각 개체번호 별 중앙값, 혹은 평균으로 채우기2) 제거였다. 첫번째 방법은 각 개체의 특성(유지방, 유량, 유단백, 체세포수)을 살리면서 데이터를 살릴 수 있다는 장점이 있으나 데이터가 중앙으로 군집한다는 단점이 있다..

1.5 프로젝트 [서울시 부동산 예측 프로젝트]

첫번째 프로젝트인 서울시 부동산 프로젝트의 아쉬운점과 당시 배우고 있던 ML관련학습을 위해 진행한 프로젝트다. 원하는 정보가 있는지 서치하고, 적용하고, 없다면 만들어서 넣는 등의 활동을 하면서 데이터에 대한 이해와 피쳐선정을 어떻게 해야하는지 배울 수 있었다. 다만 '무엇을 만들어서 어떻게 사용하겠다'라는게 존재하지 않지 않았나라는 생각을 한다. 어떤 기술을 쓸때는 의도가 있어야 하는데 배웠다고 쓰고, 신기하다고 쓰고, 호기심에 쓰는 등 기술 선택에 있어서 리소스 낭비가 있었다. 또 머리속에 있는것을 쏟아내는것에 집중하여 정리가 안된것도 흠이다. 고생을 더블로 하는 기분... 그렇지만 스스로 찾아서 배워서 사용해보고, 어떤게 필요할까 고민하면서 가장 많이 성장한 프로젝트라고 생각한다. 진행기간 : ..

두번째 프로젝트 [Olist 전자상거래 데이터 분석]

두번째로 진행한 프로젝트다. 이전 프로젝트에서 내배캠 매니저님이 " 팀원이 틀려도 실행하는게 좋다. 프로젝트의 목적은 배움이고, 실패에서 배운다" 라고 하여서 내 의견을 최대한 배제하고 팀원의 자율성을 존중 한 프로젝트이다. 어느정도로 개입하고 리드해야 하는지 확인할 수 있었던 프로젝트다. 진행 기간 : 2025년 10/13~10/23(9일)/4인사용된 데이터 : 캐글에 공개된 2016-09~ 2018-10 Oilst 전자상거래 데이터기여 내역 : 전처리, 분석, 인사이트 도출, 자료수집 1. Olist 기업 분석Olist는 2015년에 설립된 브라질 내 최대 규모 마켓플레이스 중 하나이다. 여러 대형 마켓플레이스(아마존 등)에 Olist store라는 이름으로 상품을 노출, 판매하도록 도와주는 판매자..

첫번째 프로젝트 회고[서울시 부동산 데이터 분석]

가장 처음으로 했던 프로젝트다. 파이썬을 배운지 2주 뒤에 진행했던것으로 기억난다. 초기 프로젝트다 보니 아쉬운 점도 많고 기간이 7일, 주말 포함하면 9일이 주어졌기에 하지 못한것도 많다.데이터 파악 및 전처리에 3일, 분석에 2일, 그 외는 ppt제작 및 대본작성을 했으며 사실상 동시에 진행하였다. 진행 기간 : 2025년 09/04~09/12(7일)/4인사용된 데이터 : 서울 열린 데이터 광장 내 2018~2024 서울시 부동산 거래기여 내역 : 문제 설정 및 분석 1. 프로젝트 배경 및 문제 설정문제 상황- 부동산 시장은 금리 변동, 정책 규제, 경기 상황 등으로 인해 거래량과 가격의 변동성이 심화되고 있다.- 따라서 중개사 역시 감각에 의존하여 매물을 추천할 것이 아니라 데이터에 기반하여 매수..

딕셔너리 및 세트 컴프리헨션

리스트 컴프리헨션과 마찬가지로 for루프를 한줄로 축약하여 딕셔너리와 세트를 간결하게 생성하는 문법이다. 1. 딕셔너리 컴프리헨션딕셔너리의 {key : value}쌍을 for 루프를 통해 생성한다. 리스트 컴프리헨션과 유사하지만 콜론:을 사용하여 키와 값을 명시해야 한다. new_dict = {key_expression: value_expression for item in iterable} 리스트를 딕셔너리로 변환n_item = ['asd', 'asdf', 'asdfg']# 각 이름(key)과 그 이름의 길이(value)를 매핑item_lengths = {name: len(name) for name in n_item}print(item_lengths)출력: {'asd': 3, 'asdf': 4, 'as..

정말 쉽고 편한 컨텍스트 관리자 Context Manager 기능

컨텍스트 관리자는 어떤 작업의 시작과 종료를 관리하는 객체다.파일, 데이터베이스 연결, 스레드 잠금 등 반드시 닫거나 해제해야 하는 자원을 다룰 때 쓰인다. 코드 예시 with open('data.txt', 'w') as f: f.write('hi') 컨텍스트 관리자가 없는 예시f = open('data.txt', 'w')f.write('hi')f.close() 컨텍스트 관리자가 없을 때의 문제를 살펴보면 f.write()와 f.close() 사이에서 예외가 발생하면 f.close()가 호출되지 않는다는 것이다. 이로인해 자원이 해제되지 않고 시스템에 남아있게 될 수 있다. 이에 대한 전통적인 해결책으로는 try-finally를 사용하는것인데 finally 블록은 try블록에서 예외가 발생하더라..

pipeline의 개념과 활용

scikit-learn의 pipeline은 데이터 전처리 단계와 모델 학습 단계를 하나의 객체로 묶어 순차적으로 실행하도록 돕는 라이브러리다.자동화와 교차 검증시 데이터 누수를 방지하는 역할을 한다. pipeline을 사용한 것과 사용하지 않은것을 간략하게 도식화 하면 다음과 같다. X->변수 선택 -> X_select -> 표준화 -> X_standard + y -> 모델 학습pipeline은 여기서 변수 선택부터 모델 클래스까지를 묶어주는 라이브러리로 (변수 선택, 표준화, 클래스)X,y -> pipeline -> 모델 학습코드의 구조도 훨씬 간략해지며 pipeline의 구조 자체도 쉽기에 재사용성도 올라가게 된다. 데이터 누수 방지 데이터 누수란 모델 학습(train)과정에 검증 또는 테스트(t..