목록전체 글 (175)
Yours Ever, Data Chronicles

파이썬 판다스(pandas)에서 범주형 데이터 2개를 비교분석할 때 유용한 표, 교차분석표(crosstab)에 대해 알아보자. 이러한 교차분석표는 각 범주형 데이터의 개수를 행과 열로 cross해놓은 표를 의미한다. 다음은 pandas crosstab 공식 문서를 참고하였다. pd.crosstab(index, columns, values=None, rownames=None, colnames=None, aggfunc=None, margins=False, margins_name='All', dropna=True, normalize=False) 필수 input index: 행으로 그룹화할 값 (array, series, list) columns: 열로 그룹화할 값 (array, series, list) Opt..

파이썬 그래프를 그렸는데, 바로 밑의 그림처럼 그래프 위에 비율까지 쓰고 싶은 경우가 있을 것이다. 이럴 때 사용하면 유용한 파이썬 seaborn에서 제공하는 ax.patches, ax.text 메서드를 활용하면 손쉽게 그릴 수 있다. 먼저 데이터셋은 캐글 Categorical Feature Encoding Challenge 에서 제공하는 'train.csv' 파일을 활용하였다. NOTE: 코드는 저의 깃허브에서 내려받을 수 있습니다! import pandas as pd import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns df = pd.read_csv('train.csv', index_col = 'id') df.head() 먼..

벌써 7월이라니 시간이 정말 빠르다. 나는 주기적으로 회고를 해 두지 않으면 진짜로 뭘 했는지 까먹는 편이라 오늘은 올해 상반기 나의 독서 목록 회고 포스팅을 적어보려 한다 :) 나는 독서를 하고 꼭 서평을 쓰는 편이다. 원래부터 이런 습관이 있던 것은 아니었다. 하지만 서평을 쓰지 않으니 예전에 읽었던 책인데도 기억이 가물가물하고, '서평' 이라는 것 또한 하나의 '글쓰기' 이기 때문에 나의 글쓰기 실력 향상을 위해서라도 서평을 쓰고 있다. 나는 내 개인 노션 페이지가 있는데, 책을 읽고 나서는 반드시 이 노션에 1차적으로 서평을 적는다. 그냥 생각나는 대로, 마음 가는 대로 적다 보니 이 페이지에는 엄청 길게 적을 때도 있다. 서평을 적다가 과거를 회상해보기도 하고, 감정에 휩싸일 때도 종종 있다. ..

비즈니스를 잘 하는 방법은 무엇일까? 책 저자 마스다 무네아키는 컬쳐 컨비니언스 클럽의 대표이사이자, 일본에서만 약 1,500개에 이르는 츠타야(TSUTAYA) 서점을 운영하는 사업가이다. 이러한 츠타야 서점은 단순하게 보면 책, DVD, CD(음반), 영화 등을 대여하는 일반적인 서점이라고 볼 수도 있다. 하지만 저자는 이 책에서 츠타야에서 판매하는 것은 “라이프스타일” 이라고 강조한다. 그는 이 책을 통해 자신이 어떠한 방식으로 라이프스타일을 판매할 수 있는지를 이야기한다. 이를 통해 그가 세상을 바라보는 통찰력과, 이에 따른 기획, 그리고 이것이 어떻게 츠타야 서점에 반영되었는지를 얻어갈 수 있다. 그런데 왜 그는 책과 영화 등을 대여해주는 서점이라고 하지 않고 라이프스타일을 판매하는 것이라고 이야..

안녕하세요, Everly입니다 :) 오랫만에 요즘 정말 잘 사용하고 있는 어플이 있어 포스팅해보려고 합니다. 제가 어플 추천같은건 잘 안 하는 편인데, 이 어플로는 정말 많은 도움을 받고 있어서 감사한 마음을 담아 포스팅합니다. 2020년 이후 "미라클 모닝" 열풍이 불었었죠. 저는 한평생 올빼미족으로 살다가(주말이면 오후 1시에 일어나던 시절😂), 건강도 잃고 피부도 안 좋아지고.. 평일엔 많이 못자는데 주말에만 몰아서 자니까 더욱 더 피곤하더라구요. 게다가 주말을 알차게 보내지 못하는 날도 많아서 일요일 밤이면 자책하곤 했었습니다. 그러다 작년이었던 2021년 말부터 미라클 모닝을 직접 실천해보았는데요! 혼자서 하니까 1달 정도 되어서는 다시 또 흐지부지해지더라구요 🙄 그렇게 혼자 하니까 의지가 약해..

sample 함수는 파이썬의 내장 함수이다. 보통 어떠한 데이터프레임에서 랜덤하게 n개의 데이터(인덱스)를 뽑아야 할 때 사용한다. DataFrame.sample(n=None, frac=None, replace=False, weights=None, random_state=None, axis=None, ignore_index=False) n: 추출할 개수 frac: 추출할 비율, 1보다 작은 값으로 설정 (ex. 절반을 뽑는다면 0.5) n과 frac은 동시에 사용 불가능 replace: 중복 추출 허용 여부, True로 지정 시 중복을 허용하여 추출 weights: 가중치로, 레이블별 추출될 확률 지정 가능 random_state: 시드(seed)로, 원하는 숫자 지정 시 항상 같은 결과 출력 axis:..

이번 포스팅은 캐글 Bike Sharing Demand(자전거 수요예측) 프로젝트의 마지막 포스팅이다. 저번 포스팅에서는 타겟을 count로 바꾸고, season과 month 중 더 유의미한 변수를 선택하는 등의 성능 개선을 통해 0.379까지 스코어를 올렸다! 이번 포스팅에서는 좀 더 스코어를 올리기 위해, windspeed 변수를 건드려볼 것이다. 이번에는 이 변수를 아예 제거하거나 0을 처리해주었을 때 스코어가 어떻게 변하는지를 알아보자! NOTE: 앞의 포스팅과 중복되는 코드가 많아 필요한 코드만 포스팅하였습니다. 전체 코드는 이 깃허브의 v.4, v.5 참고하세요! ✔Table of Contents ver.4 windspeed 변수 drop 이전 포스팅 결과에 따라, target은 count를,..

저번 포스팅에서 LGBM 모델을 하이퍼 파라미터 튜닝하여 얻은 스코어는 약 0.407이었다. 이번에는 이 score에서 성능을 더 끌어올리기 위해 내가 시도한 여러 가지 방법들에 대해 포스팅하였다. 과연 이 스코어는 얼마까지 좋아질 수 있을까? 🤔 참고로, 이번 포스팅은 저번 포스팅과 중복되는 코드가 많을 예정이기에, 달라진 부분들만 중점적으로 포스팅하려고 한다. 전체 코드가 궁금하신 분들께서는 깃허브에 ML v.2 부터 v.5까지 올라와 있으므로 참고하세요 :) ✔Table of Contents ver.2 count 변수를 타겟으로 앞의 LGBM 모델링은, casual에 대한 예측과 registered에 대한 예측을 따로 한 다음, 두 예측치를 합하여 count 예측치를 구했다. 이렇게 한 이유는 ED..

직전 포스팅에서는 베이스라인 모델로 선형 회귀(Linear Regression)를 사용해 k-fold를 진행하였고, 검증셋에 대한 RMSLE는 0.9~1 정도로 그렇게 좋은 성능은 얻어내지 못했다. 하지만! 베이스라인 모델이니까 어쩌면 당연하다. 이번에는 다양한 모델들(릿지 회귀, Random Forest, LGBM)을 사용해서 성능이 이전과 얼마나 달라졌는지를 확인하고, 최종 제출까지 해보았다. 참고로 전체 코드는 이 깃허브에서 확인하실 수 있습니다. (ML v.1 파일입니다!) ✔Table of Contents 3. Modeling (성능 개선 편) 캐글에서는 지표로 RMSLE 값을 사용한다고 하였으나, 사이킷런의 metric을 사용하는 관계로 편의를 위해 포스팅에선 MSLE값을 구하는 것으로 하였다..

저번 포스팅에선 모델링을 위한 데이터 전처리를 진행하였다. 이번 포스팅에선 직접 Baseline 모델을 만들어보자. ✔Table of Contents 3. Modeling 모델링을 하기 전에는 스코어를 집계하는 metric, 즉 지표로는 무엇을 사용하는지를 반드시 알아야 한다. 캐글에서 확인하면, 이 대회에서는 RMSLE를 사용한다고 되어 있다. 사이킷런(scikit-learn)을 활용하면 지표를 구하는 metric이 이미 구현되어 있다. MSE를 구하는 metric인데, RMSE 또한 MSE에 루트를 씌운 값이므로 MSE를 구한 후 np.sqrt로 루트만 씌워주면 된다. sklearn.metrics.mean_squared_error Examples using sklearn.metrics.mean_squ..