{"cells":[{"metadata":{"_uuid":"44b65a72c910727cffaf729e4764e7026f40c3e4"},"cell_type":"markdown","source":"The saga continues with trying to differentiate the classes.  We know that distinguishing between 88,92 is easy where 42,90 is hard for most models"},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"import numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\nfrom sklearn.metrics import log_loss\nfrom sklearn.model_selection import StratifiedKFold\nimport matplotlib.pyplot as plt\nimport seaborn as sns ","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true},"cell_type":"code","source":"meta_train = pd.read_csv('../input/training_set_metadata.csv')\ntrain = pd.read_csv('../input/training_set.csv')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"1ab081d4884260c3dd1dfcc96931e7abdbc704c0"},"cell_type":"code","source":"for ix in range(2):\n    fig, axes = plt.subplots(2, 6,figsize=(15,10))\n    for i, t in enumerate([42,90]):\n        for pb in train.passband.unique():\n            oid = meta_train[meta_train.target==t].object_id.values[ix]\n            a = train[(train.passband==pb)&(train.object_id==oid)]\n            x = a.groupby(['object_id','passband'])['mjd','flux'].diff().fillna(0)\n            x['object_id'] = a.object_id\n            x = x.groupby(['object_id'])['mjd','flux'].cumsum().fillna(0)\n            x['object_id'] = a.object_id\n            x['detected'] = a.detected\n            axes[i, pb].scatter(x.mjd,x.flux,s=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"e03a83277edf153ed560dbbeeb76b6275a8d730b"},"cell_type":"code","source":"for ix in range(2):\n    fig, axes = plt.subplots(2, 6,figsize=(15,10))\n\n    for i, t in enumerate([88,92]):\n        for pb in train.passband.unique():\n            oid = meta_train[meta_train.target==t].object_id.values[ix]\n            a = train[(train.passband==pb)&(train.object_id==oid)]\n            x = a.groupby(['object_id','passband'])['mjd','flux'].diff().fillna(0)\n            x['object_id'] = a.object_id\n            x = x.groupby(['object_id'])['mjd','flux'].cumsum().fillna(0)\n            x['object_id'] = a.object_id\n            x['detected'] = a.detected\n            axes[i, pb].scatter(x.mjd,x.flux,s=1)","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"be65e8831f3e8a6ceb0b07dd38982e07db4878ac"},"cell_type":"markdown","source":"Now let us do some Lomb Scargle"},{"metadata":{"trusted":true,"_uuid":"06615e6409a4ab151678dbaa9221f1f959456825"},"cell_type":"code","source":"from astropy.stats import LombScargle","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"53fb45464387b233dbd335c5830fd3117ced56fd"},"cell_type":"code","source":"for ix in range(2):\n    fig, axes = plt.subplots(2, 6,figsize=(15,10))\n    for i, t in enumerate([42,90]):\n        for pb in train.passband.unique():\n            oid = meta_train[meta_train.target==t].object_id.values[ix]\n            a = train[(train.passband==pb)&(train.object_id==oid)]\n            x = a.groupby(['object_id','passband'])['mjd','flux'].diff().fillna(0)\n            x['object_id'] = a.object_id\n            x = x.groupby(['object_id'])['mjd','flux'].cumsum().fillna(0)\n            x['object_id'] = a.object_id\n            x['detected'] = a.detected\n            frequency, power = LombScargle(x.mjd,x.flux).autopower(nyquist_factor=2)\n            axes[i, pb].scatter(frequency,power,s=1)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"8f6930501cf491660e87baee01522cc29b1a9146"},"cell_type":"code","source":"for ix in range(2):\n    fig, axes = plt.subplots(2, 6,figsize=(15,10))\n    for i, t in enumerate([88,92]):\n        for pb in train.passband.unique():\n            oid = meta_train[meta_train.target==t].object_id.values[ix]\n            a = train[(train.passband==pb)&(train.object_id==oid)]\n            x = a.groupby(['object_id','passband'])['mjd','flux'].diff().fillna(0)\n            x['object_id'] = a.object_id\n            x = x.groupby(['object_id'])['mjd','flux'].cumsum().fillna(0)\n            x['object_id'] = a.object_id\n            x['detected'] = a.detected\n            frequency, power = LombScargle(x.mjd,x.flux).autopower(nyquist_factor=2)\n            axes[i, pb].scatter(frequency,power,s=1)","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}