#!/usr/bin/env python # coding: utf-8 # # 레진 데이터 챌린지 with 파이콘 한국 2017 # # http://tech.lezhin.com/events/data-challenge-pyconkr-2017 # ## 데이터 분석 # In[1]: ls -lrt lezhin_dataset_v2_training.tsv # 9~15 번째 열이 정답 레이블인 0번째 열과 같은 값을 가지는지 확인해 보았습니다. # In[2]: import pandas as pd df = pd.read_table('lezhin_dataset_v2_training.tsv', header=None) print(all(df[0] == df[[9, 10, 11, 12, 13, 14, 15]].any(axis=1))) # 데이터 열끼리 상관관계를 다음처럼 히트맵으로 출력하였습니다. # In[3]: get_ipython().run_line_magic('matplotlib', 'inline') import seaborn as sns corr = df.corr() sns.heatmap(corr, xticklabels=corr.columns.values, yticklabels=corr.columns.values) # 데이터 열끼리 상관관계 값을 정렬하여 제일 높은 값을 출력하였습니다. # In[4]: # https://stackoverflow.com/questions/17778394/list-highest-correlation-pairs-from-a-large-correlation-matrix-in-pandas s = corr.unstack() so = s.sort_values(kind="quicksort") so = so.dropna() # https://stackoverflow.com/questions/18624039/pandas-reset-index-on-series-to-remove-multiindex so = so.reset_index() so[so['level_0']!=so['level_1']].tail(10) # 정답레이블과 다른 열과의 상관관계 값을 정렬하여 제일 높은 값을 출력하였습니다. # 가장 높은 값이 0.240389가 나왔습니다. # In[5]: so[so['level_0']==0].tail(10) # In[6]: print("전체 데이터 컬럼 개수 : %d" % len(df.columns)) # In[7]: print("전체 데이터 개수 : %d" % len(df)) # 학습에 사용할 데이터를 다음처럼 추출하였습니다. # In[8]: df_1 = df.drop(df.columns[[6,7,]], axis=1) df_1 = df_1.dropna(axis=1) df_1 # In[9]: print("학습할 데이터 컬럼 개수 : %d" % len(df_1.columns)) # 데이터 컬럼 개수 print("학습할 데이터 개수 : %d" % len(df_1)) # 데이터 개수 # 다음 페이지에서 '모델 학습 및 평가' 과정을 진행합니다. # # http://nbviewer.jupyter.org/github/SDRLurker/lezhin/blob/master/%EB%AA%A8%EB%8D%B8%20%ED%95%99%EC%8A%B5%20%EB%B0%8F%20%ED%8F%89%EA%B0%80.ipynb # In[ ]: