이전 포스트에서 데이터분석까지 살펴봤다. 이 포스트에서는 이제 KFold LigthGBM을 이용하여 Train하고 Prediction까지 해보겠다. 생각할 점 LightGBM이라는것을 이 대회를 통해 처음 들어봤는데 이에 대해 공부해 봐야 될것같다. 이 대회 같은 경우에 데이터가 매우 크다. 따라서 LightGBM을 사용하는 것으로 알고 있다. 문제는 데이터를 처리, train, prediction을 하는데 런타임 에러가 났다는 점이다. 필자는 총 4개의 커널을 살펴보았고 각 커널과 내가 공부한 내용을 바탕으로 작성할 때 데이터를 처리하거나 train 하는데 런타임 에러를 겪었고 결국에는 위에 첨부한 코드를 사용한 커널을 사용할 수 밖에 없었다. 런타임 에러를 겪지 않기 위해 데이터를 처리하는 과정에 대..
지난 두달동안의 스터디에서 최종적으로 발표한 kaggle competition이다. kaggle에 내가 관심있는 게임, 여행과 관련된 대회가 별로 없는듯 했다. 또한, https://www.kaggle.com/getting-started/78482 에서 이 대회를 추천했다. 마침, 주제도 흥미롭고 있어보이고 재밌어보여서 했다. 하지말았어야 했다. 대회 소개 이 대회는 2016년 데이터를 모델링하여 17년 1월 ~ 18년 6월까지의 에너지 사용량을 예측하는 대회이다. 세계 각국의 100개가 넘는 건물에서 생성된 3년간의 Electricity/Chilledwater/Steam/Hotwater 영역에서의 사용량을 기반으로 모델링을 하는 대회이다. ※ ASHRAE : 미국 냉난방 공조 협회 (American S..
Evaluation¶분류와 회귀중 회귀와 관련 된 문제 => 자전거 대여량을 예측하는 문제이기 때문에 In [1]: import pandas as pd import numpy as np import matplotlib as mpl import matplotlib.pyplot as plt import matplotlib.font_manager as fm import seaborn as sns from scipy import stats # 노트북 안에 그래프를 그리기 위해 %matplotlib inline # 그래프에서 격자로 숫자 범위가 눈에 잘 띄도록 ggplot 스타일을 사용 plt.style.use('ggplot') # 그래프에서 마이너스 폰트 깨지는 문제에 대한 대처 mpl.rcPar..
지도학습 : 정답이 있는 데이터를 활용해 데이터를 학습. 입력 값(X data)이 주어지면 입력값에 대한 Label(Y data)를 주어 학습시키며 대표적으로 분류, 회귀 문제가 있음 비지도학습 : 정답 라벨이 없는 데이터를 비슷한 특징끼리 군집화 하여 새로운 데이터에 대한 결과를 예측하는 방법을 비지도학습. 대표적으로는 Clustering이 있음. 강화학습 : 분류할 수 있는 데이터가 존재하는 것도 아니고 데이터가 있어도 정답이 따로 정해져 있지 않으며 자신이 한 행동에 대해 보상(reward)를 받으며 학습. 그 보상을 극대화하기 위해 노력함으로써 정답에 가까운 답을 찾아가는 것. 게임을 예시로 할때) 정해진 규칙이 알려지지 않은 게임 환경( Environment)에서 플레이어(Agent)가 현재 상..
사이킷런은 파이썬 머신러닝 라이브러리 중 가장 많이 사용되는 라이브러리이다. classification : 대표적인 문제로는 타이타닉 문제. 탑승자가 살았는지 죽었는지를 판별해야 되기 때문 regression : 대표적인 문제로는 자전거 대여량 예측 문제. 특정 기후 상황이 주어졌을때 대여 수량을 예측해야되기 때문 지도학습 vs 비지도학습 => 레이블이 있느냐 없느냐 training dataset과 label를 가지고 모델을 만들고 만든 모델에 test data를 넣어서 예측하고, 그 예측한 값을 가지고 평가하는 과정이 큰 맥락임 소스코드 4줄만으로 예측한 카운트값을 도출할 수 있다. x_train은 행렬로 만들고, y_train은 벡터로 만든다. Random Forest를 알려면 Decision Tre..
Data Science FAQ | https://www.kaggle.com/rounakbanik/data-science-faq Novice to Grandmaster | https://www.kaggle.com/ash316/novice-to-grandmaster -복잡한 코드 리뷰 형식으로 -더보기에 jupyter노트북으로 했던거 있음 Q12. 데이터 사이언티스트가 되기 위해 학위가 중요할까 import plotly.offline as py py.init_notebook_mode(connected=True) import plotly.figure_factory as fig_fact top_uni = mcq['UniversityImportance'].value_counts().head(5) top_uni_d..
Data Science FAQ | https://www.kaggle.com/rounakbanik/data-science-faq Novice to Grandmaster | https://www.kaggle.com/ash316/novice-to-grandmaster -복잡한 코드 리뷰 형식으로 -더보기에 jupyter노트북으로 했던거 있음 Q8. 데이터 과학자의 평균 급여는 얼마나 될까? mcq['CompensationAmount'] = mcq[ 'CompensationAmount'].str.replace(',','') mcq['CompensationAmount'] = mcq[ 'CompensationAmount'].str.replace('-','') # 환율계산을 위한 정보 가져오기 rates = pd.r..
Data Science FAQ | https://www.kaggle.com/rounakbanik/data-science-faq Novice to Grandmaster | https://www.kaggle.com/ash316/novice-to-grandmaster -복잡한 코드 리뷰 형식으로 -더보기에 jupyter노트북으로 했던거 있음 #missingno는 NaN 데이터들에 대해 시각화를 해준다. # NaN 데이터의 컬럼이 많아 아래 그래프만으로는 내용을 파악하기 어렵다. #pip install missingno 로 먼저 설치 import missingno as msno msno.matrix(mcq, figsize=(12,5)) 설문통계부분 #국가별 응답수 con_df = pd.DataFrame(mcq[..
reset_index : 인덱스를 다시 처음부터 재배열, 행인덱스 초기화 melt : 열을 행으로 모음(데이터 재구조화) groubby : 데이터 그룹화(재구성) pivot_table : 데이터 그룹화/ 행과 열의 위치 바꿈(데이터 재구조화) stack : 데이터프레임의 열을 행으로 옮겨줌 ?? 틀려서 다시 체크하긴 했는데 왜 맞는지 모르겠음 int를 빼야 맞음 a = b는 원본 데이터가 변하면 똑같이 변하는 얕은 복사인 반면, pandas.DataFrame.copy는 복사 당시의 데이터프레임 상태만 복사되는 깊은 복사 df_new = df.copy()로 해줘야함 밑에서 df를 사용하고 있기 때문 문제대로 한경우 고친경우 replace : 문자열 치환 split : 문자열 분리 rolling : 일정범위..