{"cells":[{"metadata":{"trusted":true,"_uuid":"e3474ba5884f3ebdcc2d19b0ec75002f9eacea11"},"cell_type":"code","source":"import numpy as np\nimport pandas as pd\nfrom sklearn.model_selection import StratifiedKFold\nimport gc\nimport matplotlib.pyplot as plt\nimport seaborn as sns\nimport lightgbm as lgb\nimport logging","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"33a881d0d38b9b4235f18a2544db262cd88bf4e1"},"cell_type":"code","source":"train = pd.read_csv('../input/training_set.csv')\nprint(train.shape)\nmeta_train = pd.read_csv('../input/training_set_metadata.csv')\nprint(meta_train.shape)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"373f30042788526f458ddbd72fb87fb875a7cfc1"},"cell_type":"code","source":"train.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"c43e816e859751a48969eb897086209447160072"},"cell_type":"code","source":"meta_train.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"db03ffa8640e90710922c0cc74541e187e143d30"},"cell_type":"code","source":"x = train.copy()\nx['mjd'] = x.groupby(['object_id','passband']).mjd.diff() #Try and give the change in flux by a standard time period\nx['mjd'] = x['mjd'].fillna(0)\nx.flux/=x.mjd\nx.flux_err/=x.mjd\nx.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"753577894a9066a0dd46a55bce6e0d831c5d7729"},"cell_type":"code","source":"x['cc'] = x.groupby(['object_id','passband'])['mjd'].cumcount()\nx.drop('mjd',inplace=True,axis=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"519b26ec2688518bfd427183c0452e156e1ec26e"},"cell_type":"code","source":"x = x.set_index(['object_id','passband','cc'])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"ed460aec7d9620132e3f1df851f34498676ada75"},"cell_type":"code","source":"x = x.unstack()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"a09a4f0f03c7658d6b1b72d8bbe94f20f5ffe638"},"cell_type":"code","source":"meta_train = meta_train.set_index('object_id')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"b002e132eeba315c551d9d43d53741d1b81b6314"},"cell_type":"code","source":"x = x.join(meta_train,on='object_id',how='left')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"6b400eb8438b02b0b31760e1c04fc7e9c3fc74ac"},"cell_type":"code","source":"x = x.reset_index(drop=False)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"0b5621f6fe6d64c8bfeed31b9200fbf15b1a1986"},"cell_type":"code","source":"cols = ['_'.join(str(s).strip() for s in col if s) if len(col)==2 else col for col in x.columns ]\nx.columns = cols","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"563d5d54a9de96304255d83f36907bea5c57d055"},"cell_type":"code","source":"x.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"529d5788b0eaee7d430c68f1c1b6baf24e4332d7"},"cell_type":"code","source":"fluxcolumns = [a  for a in x.columns if a.startswith('flux_') and not a.startswith('flux_err')]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"256065d2f08abf23ee9fa42d4ccc08fd08b9c2e0"},"cell_type":"code","source":"x.target.unique()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"b6378646fd3615bad60b4953fd6621ae3f89058b"},"cell_type":"code","source":"uniques = sorted(x.target.unique())\nf, ax = plt.subplots(len(uniques),6)\nf.set_figheight(15)\nf.set_figwidth(15)\nfor a in range(len(uniques)):\n    for b in range(6):\n        ax[a,b].set_xticks([])\n   \nfor i in range(len(uniques)):\n    ax[i][0].plot(x[(x.target==uniques[i])&(x.passband==0)][fluxcolumns].mean())\n    ax[i][1].plot(x[(x.target==uniques[i])&(x.passband==1)][fluxcolumns].mean())\n    ax[i][2].plot(x[(x.target==uniques[i])&(x.passband==2)][fluxcolumns].mean())\n    ax[i][3].plot(x[(x.target==uniques[i])&(x.passband==3)][fluxcolumns].mean())\n    ax[i][4].plot(x[(x.target==uniques[i])&(x.passband==4)][fluxcolumns].mean())\n    ax[i][5].plot(x[(x.target==uniques[i])&(x.passband==5)][fluxcolumns].mean())","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.6.6","mimetype":"text/x-python","codemirror_mode":{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"python","file_extension":".py"}},"nbformat":4,"nbformat_minor":1}