{"cells":[{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true,"_kg_hide-input":true,"_kg_hide-output":true},"cell_type":"code","source":"\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\nimport matplotlib.pyplot as plt\nfrom ipywidgets import interact, interactive, fixed, interact_manual\nimport ipywidgets as widgets\nfrom astropy.time import Time\n\nimport os\nprint(os.listdir(\"../input\"))\n\n","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","trusted":true,"_kg_hide-input":true,"_kg_hide-output":true},"cell_type":"code","source":"train_df = pd.read_csv(\"../input/training_set.csv\", dtype={\"object_id\": \"object\"})\ntrain_meta_df = pd.read_csv(\"../input/training_set_metadata.csv\", dtype={\"object_id\": \"object\"})\n\ntest_df = pd.read_csv(\"../input/test_set.csv\", iterator=True, dtype={\"object_id\": \"object\"}) # Large size hence loading as iterator\ntest_meta_df = pd.read_csv(\"../input/test_set_metadata.csv\", iterator=True, dtype={\"object_id\": \"object\"})\n\nsample_submission_df = pd.read_csv(\"../input/sample_submission.csv\", dtype={\"object_id\": \"object\"})","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"2930fee6e2bc4b1fb63e72607d772bbd6dfced0f","_kg_hide-input":true,"_kg_hide-output":true},"cell_type":"code","source":"train_df.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"7be680e8127e57f71a2ff0dbae414e11e0b3a7ee","_kg_hide-input":true,"_kg_hide-output":true},"cell_type":"code","source":"test_df.get_chunk(size=5)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"dc9a55ad5fc6a37e2ef8e735fbe71ef11c866239","_kg_hide-input":true,"_kg_hide-output":true},"cell_type":"code","source":"train_meta_df.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"a6b8361e7ba5c31d30e95c0b0476500ac55814d9","_kg_hide-input":true,"_kg_hide-output":true},"cell_type":"code","source":"test_meta_df.get_chunk(size=5)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"586f326ef7cb644cd30b380d0600737e14154707","_kg_hide-input":true,"_kg_hide-output":true},"cell_type":"code","source":"print(\"--------------Shape------------------\")\nprint(\" Train: {}\\n Train meta: {}\".format(train_df.shape, train_meta_df.shape))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"99d9ea91fbf561c6e221da0d2b453d6f838a4df0"},"cell_type":"code","source":"ID_col = \"object_id\"\ntarget_col = \"target\"\nts_index_col = \"mjd\"\nts_cols = [\"passband\", \"flux\", \"flux_err\", \"detected\"]\nstatic_cols = [\"ra\", \"decl\", \"gal_l\", \"gal_b\", \"ddf\", \"hostgal_specz\", \n               \"hostgal_photoz\", \"hostgal_photoz_err\", \"distmod\", \"mwebv\"]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"scrolled":false,"_uuid":"6e23b4f25b60346c1c18e19d74b5d9fe01542c83"},"cell_type":"code","source":"train_df[ts_index_col] =train_df[ts_index_col].apply(lambda x : )","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"5b7a50128279d5e73a13df59659b698dfd53860c"},"cell_type":"markdown","source":"## Select object_id from dropdown to view all time series variable for that object (train). Only in edit mode"},{"metadata":{"trusted":true,"_uuid":"6d978abb5fa822ffca2903fbbdef2528c7499e00","_kg_hide-output":false,"_kg_hide-input":true},"cell_type":"code","source":"@interact(object_id=train_df.object_id.unique())\ndef plot_ts(object_id):\n    fig, axs = plt.subplots(4,sharex=True, figsize=(20,10))\n    object_df = train_df[train_df.object_id == object_id]\n    for i, col in enumerate(ts_cols):\n        axs[i].plot(object_df[col], label=col)\n        axs[i].grid()\n        axs[i].set_title(col)\n    plt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"4cc3e3c2ec9dc94e163d33dca950a75b2a31405c"},"cell_type":"markdown","source":"## Following inferneces can be drawn from time series plots\n*  \"flux\" variable follows periodic trend "},{"metadata":{"_uuid":"f7137eede16c95be16c52d6301537f8ea79af79d"},"cell_type":"markdown","source":"## Analyzing length of time series for each object id (train). Adjust slider to change number of bins. Only in edit mode"},{"metadata":{"trusted":true,"scrolled":true,"_uuid":"8904479dbecd4981d2ee308bb52ac769358026e9"},"cell_type":"code","source":"@interact(bins= (5, 40))\ndef plt_series_len(bins):\n    plt.figure(figsize=(10, 4))\n    plt.hist(train_df[ID_col].value_counts(), bins=bins, color='purple', align= 'left')\n    plt.xlabel(\"Length of Series\")\n    plt.ylabel(\"Number of objects\")\n    plt.show()","execution_count":null,"outputs":[]},{"metadata":{"_uuid":"f8a4d0d5e2777bbd9367dc23d1659d92855f183f"},"cell_type":"markdown","source":"## Observations\n* It can be seen that most of objects have time series length between 100 and 150 \n* Series length can be used as a feature while modelling. As it can be the case that some astronomical objects are easier to track as compared to others hence have more observations. Also, some astronomical objects can be observed only during a fixed window of time.\n"},{"metadata":{"trusted":true,"_uuid":"4522dbca76e2665db25498be08468eac137c2784"},"cell_type":"code","source":"### Distribution of train labels","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"1d4be165a94f162372792df91a8d5c664ba12e41"},"cell_type":"code","source":"train_lbls = train_meta_df[target_col].value_counts()\n\nplt.figure(figsize=(20,5))\nplt.barh(train_lbls.index.astype(\"str\"), width= train_lbls.values)\nplt.ylabel(\"Class\")\nplt.xlabel(\"Number of objects\")\nplt.title(\"Class wise object distribution\")\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"186a9417a4193b34af5937a21b4c08e9cfae9170"},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"18013296c88dd0de3a8d092fca207d4bc96eb4f6"},"cell_type":"code","source":"","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}