한 개만 더, 한 발만 더

어제보다 조금 더 나은 오늘을 만들기 위해 노력합니다.

파이썬 15

[Dacon] 고객 대출등급 분류 해커톤

결과 - Private 등수는 98등, 백분율로는 상위 13% 정도 수준을 달성했다. AutoML을 사용하지 않는 제한 조건이 있었던 대회라서 XGB, LGBM, CatBoost를 사용했다. 배운 점 - '네이버 부스트코스 AI 엔지니어 기초 다지기' 코스를 듣고 있는데, 여기서 배우는 내용과 캐글 책에 나오는 노트북을 보면서 노트북 자체를 좀 더 가독성 있게 구성하고, 구조를 더 잘 만들어보려고 노력했다. 이번에 더 나아진지는 모르겠으나 다음에는 좀 더 잘할 수 있을 것 같다. 아쉬운 점 - 핑계를 대 본다면.. 회사 업무에 필요한 자격증을 하나 급하게 따야 해서 공부하느라 초반에 제출한 이후로 분석을 더 못했다. 하지만 언제나 새로운 할 일은 계속해서 생기는 법이다. 시간 관리를 좀 더 잘해 보자. ..

Gradio와 GPT를 활용한 영어 교육 서비스 만들기

요즘 딥 테크 문샷이라는 프로그램을 이수하는 중이다. 프로그램에서 조별 과제를 진행하면서 Gradio라는 서비스를 알게 되어 간단하게 포스팅해보려고 한다. Gradio https://www.gradio.app/ Gradio Build & Share Delightful Machine Learning Apps www.gradio.app Gradio는 누구나 어디서나 사용할 수 있도록 친숙한 웹 인터페이스로 기계 학습 모델을 시연하는 가장 빠른 방법이라고 공식 홈페이지에서 소개하고 있다. 허깅페이스나 Streamlit과는 또 다르다. 블록을 쌓아서 아주 쉽게 모델을 만들 수 있고, 특히 GPT를 활용한 생성형 서비스를 쉽게 만들 수 있다. 우리가 만든 서비스 조별 과제를 진행하면서 생성형 API를 이용해서 간..

[Dacon] Basic 흡연 여부 예측 AI 경진대회

회고 이번 대회에서는 제출을 3번밖에 하지 못했지만 Private 점수 11등이라는 좋은 성적을 거뒀습니다. Basic 대회이고 참여한 사람 수가 200명 미만이지만, 상위 7% 내에 들어왔다는 점이 개인적으로 기분이 좋습니다. '흡연 여부 예측'이라는 주제가 흥미로워서 여러가지 Feature Engineering을 해보고 싶었는데 회사 일과 사이드 프로젝트가 한창 바쁜 주간이라 대회 참여가 뒷전이 되었네요. 중구난방으로 분석을 진행하지 않고 좀 더 체계적으로 프로세스를 만들어보고 싶어서 오라일리의 책도 구매했는데, 전체적으로 정리하면서 적용해 보기에 좋은 것 같습니다. 이번 대회에서는 AutoML을 적용해 보는 게 목표였습니다. 저는 AutoGluon을 써봤는데 확실히 효율이 좋은것 같습니다. Grid..

[Github Gist] 티스토리 블로그에 주피터 노트북 올리는 법

티스토리에 주피터 노트북을 올리는 방법은 여러 가지가 있지만, 그 중에서 Gist와 Nbviewer를 사용하는 방법이 가장 간단한 것 같다. Github에서 버전 관리를 하고 있지 않거나 Gist를 써보지 않았더라도 5분 이내로 할 수 있다. 심지어 Nbviewer 사이트에는 접속하지 않아도 된다. 아래의 Github Gist와 Nbviewer에 대한 설명은 참고만 하면 된다. ※ HTML로 변환해서 올리는 것은 줄 수 제한 때문에 짧은 코드가 아니면 어렵다. 🤷‍♂️ Github Gist란? - 코드 스니펫(조각)을 만들어 간단하게 공유할 수 있는 툴이다. https://gist.github.com/ Discover gists GitHub Gist: instantly share code, notes, ..

[Dacon] Basic 풍속 예측 AI 경진대회

회고 데이콘 Basic에 올라온 풍속 예측 AI 경진대회에 참여했다. 마감을 일주일 정도 남겨놓고 연습 삼아 참가해보게 되었는데 나름 재밌었다. 이번에 참가하면서 AutoML을 활용해보고 싶었는데 그것까지 학습해서 적용하기엔 시간이 부족했다. 다음 대회에서는 AutoML 중 하나를 골라서 적용해보는 걸 목표로 해야겠다. 이번 대회에서 아쉬운 점은 풍속과 기후에 대한 도메인 지식이 전혀 없어서 기본적인 이상치, 결측치, 스케일링 외에는 피쳐 엔지니어링에 거의 손을 대지 못한 것. 논문을 하나 구매해서 챗지피티와 함께 공부했지만 짧은 시간에 이해하는 데 한계가 있었다. 고등학교 시절 생물, 화학 말고 지구과학도 열심히 들을 걸 그랬다. 이제 상위권 랭커들의 코드가 올라올텐데 보면서 공부 많이 해야겠다! 깃허..

[공공데이터] 지하철 승하차 데이터 분석

회고 햇수로 10년 째, 매일 아침 저녁으로 지하철을 타고 출퇴근한다. 여러 번 이사와 이직을 하며 유동인구가 많은 역에서 내릴 때도 있었고, 사람이 별로 없는 역에서 내릴 때도 있었다. 그런데 어떤 날은 지하철에 사람이 많은 것 같고, 어떤 날에는 사람이 유난히 적은 것 같았다. 특히 요일별로 앉아서 가느냐 서서 가느냐가 정해질 때가 있었다. 과연 기분 탓일까? 그래서 공공데이터포털에 들어가 지하철 승하차 정보 관련 데이터를 분석해봤다. 아주 깊게 분석한 것은 아니지만, 그래도 대략적인 지하철 승하차 정보에 대해 알 수 있었다. 깃허브 https://github.com/YoungjaeKang/subway_congestion_analysis/blob/main/subway_congestion_v1.ipyn..

[Dacon] 영화 관객 수 예측 경진대회

개요 - 가짜연에서 'XGBoost와 사이킷런을 활용한 그래디언트 부스팅'이라는 책으로 세 달 가량 스터디를 진행했고, 그 이후 혼자 공부 중이다. - 책에서 배운 내용을 적용해보기 위해 데이콘 교육용 대회인 영화 관객 수 예측 경진대회를 진행했다 (회귀). http://www.yes24.com/Product/Goods/108708980 XGBoost와 사이킷런을 활용한 그레이디언트 부스팅 - YES24 캐글 우승자들의 머신러닝 우승 비법이자 현존하는 가장 우월한 머신러닝 모델 XGBoost이 책은 기본적인 머신러닝과 판다스부터 사용자 정의 변환기, 파이프라인과 희소 행렬로 새로운 데이터의 www.yes24.com 결과 [베이스 라인 코드 제출 시, Random Forest] 점수는 1383414점으로 ..

[github] git push가 되지 않을 때 - error: RPC failed;

잠들기 직전, 오늘 작업한 코드를 git에 push하려고 했다.. 그런데 에러 코드가 떴다. 구글링으로 몇 가지 시도해 봤는데 해결이 안 된다. 자고 내일 해결해도 되지만 뭔가 찝찝해서 자기 전에 꼭 고치고 싶다. 어떻게 해야 할까? 에러코드 git push -u origin master Enumerating objects: 15, done. Counting objects: 100% (15/15), done. Delta compression using up to 8 threads Compressing objects: 100% (12/12), done. Writing objects: 100% (12/12), 1.79 MiB | 16.18 MiB/s, done. Total 12 (delta 5), reuse..

[AWS] Free Tier임에도 돈을 내는 사람

아마존에서 8.18달러를 걷어갔다. 환율도 많이 올랐는데.... 배포 연습을 하면서 EC2 인스턴스 하나를 중지해 뒀는데, 예전에도 그냥 중지해둔 적이 있어서 별로 신경쓰지 않았었다. 그러나 이번에는 탄력적IP에 인스턴스를 연결해 두었고, 이것이 원인인 듯 하다. IT팀 차장님께 여쭤봤더니 탄력적IP 자체가 과금 대상인 것으로 알고 있다고 하셨다. 정확한 파악을 위해 찾아봤다. AWS 홈페이지에 따르면. 탄력적IP 주소는 몇 가지 조건 하에서 비용이 발생하지 않고, 해당 조건을 충족하지 못하면 시간당 요금이 발생한다고 한다. 아래는 AWS 홈페이지에 있는 내용이다. 모든 인스턴스를 종료했는데, 탄력적인 IP 주소에 대해 요금이 부과되는 이유는 무엇입니까? 최종 업데이트 날짜: 2020년 3월 27일 Am..

[Excel] SUMIF 함수에 대한 재미있는 사실

회사에서 엑셀 작업을 검토하다가 SUMIF의 Range와 Sum_range가 잘못 지정되어 있는 것을 발견하였다. 워낙 많은 값이 뒤섞인 상태라 별 생각 없이 수정하고 넘어가려 했는데, 자세히 보니 뭔가 의문이 드는 점이 있어 예제를 만들어서 실험해 보았다. 먼저, 문제와 의문점은 아래와 같다. 아래는 구분이 D인 데이터의 금액 합계를 구하는 수식이다 (실제 회사 데이터를 정리한 예제). Range는 7행에서부터 시작한 반면 Sum_range는 9행에서부터 시작하고 있다. 처음에는 D인 데이터의 합계를 구하고 있고 D는 정상적으로 범주에 포함되었으니 결과값이 맞을 거라고 생각하고, 수정하고 넘어가려고 했다. 그런데! 보니까 결과가 맞지 않다. 실제로는 Total이 45,000,000이어야 한다. 그럼 한..