티켓 예매, 수강신청의 필수 준비물 서버타임 https://server-time.inflow.co.kr/ 오늘은 각종 예매와 수강신청 성공률을 200% 올려주는 꿀팁을 공유해본다. 콘서트 티켓, 한정판 제품 출시, 독점 이벤트 등 예약 전쟁에서 살아남기 위해서는 정확한 서버시간을 확인하는게 필수다. 멜론티켓에서 17:00에 예매를 시작한다면, 내컴퓨터 시간이 아니라 멜론티켓 서버의 시간을 알고, '서버'의 시간에 맞춰서 클릭하는게 가장 높은 성공률을 보장하지 않겠는가!? 서버타임은 이런 긴박한 예약 상황에서 우위를 점할 수 있도록 설계된 서버 시간 조회 서비스를 제공한다. 특정 도메인의 정확한 서버 시간을 제공하는 이 서비스를 이용하면 예약 시간을 정확하게 정할 수 있어 먼저 자리를 확보할 가능성을 1%..
구글 클라우드(Google Cloud) 프리티어(Free Tier)로 개인 프로젝트 서버 구축하기 (1) fastAPI + postgresSQL + nginx (With Docker Compose) 를 사용해서 개인 프로젝트를 위한 서버를 구축해보자. 개인적으로 도커환경으로 서버를 배포해보고 싶기도 했고, 취미 프로젝트 배포를 목표로. 가난한 개발자의 프리티어 서버를 구축해보기로 했다. 1년전쯤 아무것도 모를때 헤로쿠(Heroku)에서 배포가 무료여서 해본적이 있었는데, 현재시점 헤로쿠 프리티어는 사라졌다고한다. 이 기회에 구글 클라우드 플랫폼 프리티어를 사용해보기로 했다. 이후 AWS도 1년 무료티어가 있으니 dockerize된 코드를 재사용해서 AWS를 통한 서버 배포도 진행해보려고한다. 1. 가입 ..
뜸~ 한 글쓰기, 어쨋든 회고 Section 2를 마무리 하며 Section2 Sprint2 회고 이후로 폭풍같은 3주가 벌써 지나버렸다. 그 동안 정리를 놔버리지는 않았지만. 노션에 정리를 하고 그걸 또 정제해서 블로깅을 한다는게 상당히 에너지를 써야 하는 일인것 같다. 뭔가 하나로 통일하던해야지 원,, 차라리 빠르고 짧게 적는 TIL과 노트 정리는 하던것 처럼 노션에 계속하고, 정제된 결과만 블로깅을 해봐야겠다. 일단 Section2 Sprint 3를 돌아보면. 매일 새로운 개념을 배우는건 똑같지만, Project에 사용해야 할 data를 찾아보고 EDA를 매일 수행해야 했기 때문에 특히 시간이 모자랐던것 같다. 덕분에 TODO list up이 산더미처럼 쌓이고야 말았다. 그리고 쉴 틈없이 이어지는 ..
M1칩셋,, 아무리 이번 M1칩셋을 달고 나온 Mac이 좋다고 하지만. 끝까지 버티다 M1.2 or M2 version이 나오면 구매하려고 마음먹었었지만. 피치못할 사정때문에 결국 M1 Mac을 구매할 수 밖에 없었다. 당연히 아직 지원하지 않는 패키지들이 많을 것으로 예상은 하고 있었지만. pip로 scipy를 설치하지 못할줄이야!! 로컬 python환경을 구성할 때, 처음 단추를 잘 끼우려면 Project마다 구분되는 가상환경을 만들어야 한다. 이번 로컬 환경을 변경하면서, poetry + pip 조합으로 설치해보려고 하던 중. 세상에 scipy가 아직 M1에 맞춰 업데이트가 안되있을줄이야.. 다행히 conda miniforge에서 머신러닝 환경에 필요한 대부분의 패키지들을 로제타버전이 아닌 M1칩셋..
Session 2, Sprint 2 회고 지난번 스프린트 챌린지의 경험을 거름삼아 어제 늦게까지 코드를 갈무리해 두었기 때문에 챌린지 과제 자체는 어렵지 않았다. 본격적인 ML 기법의 수업도 벌써 2주차, 아마 다음주는 SVM과 boosting 기법들에 대해서 더 배우지 않을까 싶다. 사실 단어만 들어봤지 아직 아는것도 없다. 단어, 혹은 개념들에 대해서 쪼~~금 알고 있다고 생각하지만, 그럼에도 불구하고 시간이 너무나 부족하다. Session당일 배운 개념을 완벽하게 소화하고, 코드를 갈무리하고 더해서 추가로 소개되는 method와 개념들에 대해서도 충분히 공부하고 싶은데, 시간이 참 부족하다는걸 느끼고 있는 Session2가 되어가고 있다. todo list만 가득 차고 있다... 그런 의미에서 오늘..
Random forest Bootstrapping sampling 오늘 한 일 해야 할 일 Random forest 트리기반 모델의 기본이 되는 decision tree, random forest의 기본적인 동작 알고리즘은 복잡하거나 어렵지 않고, simple 그 자체라고 할 수 있다. 하지만 트리기반 모델(random forest 한 가지만 알고있지만,,)들이 케글의 탑 티어를 대부분 석권하고 있다는 사실은 의미심장하다고 해야하나. 간단하게 짚고 넘어가자면 Gini impurity 지니 불순도 특정 feature가 지니 불순도를 얼마나 감소시키는가!? 1에서 전체 데이터 개수 중 각 레이블이 차지하는 개수의 비율을 제곱해서 뺌 Entropy기반의 Information Gain 특정 featuer의 질문..
Sprint Challenge 전반적인 section2 sprint1에 대한 회고를 해보려 한다. 결론 오늘 한 일 해야 할 일 Sprint Challenge 본격적인 머신러닝 기법을 배우게 되는 section2 첫 번째 스프린트 챌린지가 끝났다. 아쉬움이 많이 남는 과제였다. 시간 분배가 적절하지 못했기 때문에, 그리고 이해했다고 생각한 코드, 혹은 데이터 랭글링 방법들이 타임리밋이 다가올 수록 애러를 마구 뿜어냈다. 점심 이후에 다시 찬찬히 살펴보면, 역시 전에 다 해봤던 handling 방법들이었지만. 오늘 리뷰 시간에 공감이 되었던 말이었던 머슬매모리에 입력되지 않은 것 같다. 그래서 오늘 하루종일 첫 번째 과제부터 어제까지, 강의노트와 내가 만든 코드들을 메소드와 문제를 해결하는 전략을 중심으로..
Python Multi core processing 오늘 한 일 해야 할 일 Python Multi core processing 전부터 멀티코어 프로세싱에 관심은 있었는데, 막상 천천히 공부해 보지는 않고 생각만 하고 있었다. multiprocessing 과 같은 패키지는 알고 있었지만. 당장 결과에 적용하기가 쉽지 않았다고 해야하나. 코딩 실력도 부족하기도 했고. 어쩌다 검색으로 알게된 최신 멀티코어 프로세싱 패키지 Ray. 대충 봤는데 뭔가 적용하기 쉬울 것 같다. API page를 보면서 차근차근 공부해야겠지만. 일단은 적용가능한 데이터가 어떤게 있을지 부터 막막하니. 한줄이라도 처보자! alphas = np.linspace(0.0001,0.001) start = time.time() # 여러 al..
비용함수 관점에서 선형회귀를 직관적으로 이해하기오늘 한 일해야 할 일비용함수 관점에서 선형회귀를 직관적으로 이해하기가장 단순한 예측 모형이라고 할 수 있는 선형회귀(Linear Regression)는 같은 개념이지만 여러 방식으로 이해할 수 있다. 그 중 앞으로 익숙해져야 할 필요가 있는 비용함수(Cost function)의 관점으로 나름대로 이해하고 정리해 보았다.선형회귀는 x에 대응하는 y 와 가장 비슷한 값 ŷ 을 출력해 줄 수 있는 f(x) 함수를 찾는 과정이라고 할 수 있다.y^=f(x)≈y\hat = f(x)\approx yy^=f(x)≈y 함수 f(x)를 동일한 의미이지만 여러 방식으로 표현해 볼 수 있는데, 데이터 Feature의 관점에서 x = (x1, x2, x3 ...)을 featu..
데이터를 읽어 왔을 때, 날짜, 시간 정보가 str형태로, object인 경우가 많은데, pandas의 to_datetime 메소드로 형태를 바꿔줄 수 있다. return은 pandas datetime64 type이 된다. 아래와 같이 date가 object일 때. # format을 지정해 줄 수 있다. df['year'] = pd.to_datetime(df['date'], format='%Y%m%d %H:%M:%S') # datetime64 type의 dt.method에 handling 하기 좋은 도구가 많다. # 아래는 year를 4자리 숫자로 반환 df['year'] = pd.to_datetime(df['date'], format='%Y%m%d %H:%M:%S').dt.year 참고