{"cells":[{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"import csv\nimport pandas\nimport numpy as np\nimport scipy\nfrom sklearn.decomposition import PCA","execution_count":null,"outputs":[]},{"metadata":{"_cell_guid":"","_uuid":"","trusted":true},"cell_type":"code","source":"building_metadata = \"../input/ashrae-energy-prediction/building_metadata.csv\"\nsample_submission = \"../input/ashrae-energy-prediction/sample_submission.csv\"\ntest = \"../input/ashrae-energy-prediction/test.csv\"\ntrain = \"../input/ashrae-energy-prediction/train.csv\"\nweather_test = \"../input/ashrae-energy-prediction/weather_test.csv\"\nweather_train = \"../input/ashrae-energy-prediction/weather_train.csv\"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"def get_data(data_file, weather_data_file, building_data = 'building_metadata.csv', path = './'):\n    building_data = pandas.read_csv(path+building_metadata, dtype={'building_id':np.uint16, 'site_id':np.uint8})\n    data = pandas.read_csv(path+data_file, dtype={'building_id':np.uint16, 'meter':np.uint8}, parse_dates=['timestamp'])\n    weather_data = pandas.read_csv(path+weather_data_file, parse_dates=['timestamp'],\n                                                               dtype={'site_id':np.uint8, 'air_temperature':np.float16,\n                                                                      'cloud_coverage':np.float16, 'dew_temperature':np.float16,\n                                                                      'precip_depth_1_hr':np.float16})\n    data = data.merge(building_data, on='building_id', how='left')\n    data = data.merge(weather_data, on=['site_id', 'timestamp'], how='left')\n    \n    return data\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_data = get_data(train, weather_train)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"for col in train_data.columns:\n    if np.nan in train_data[col]:\n        print train_data[col]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train_data = train_data.dropna()\ntrain_data2 = train_data[train_data.meter_reading != 0]\ntrain_data2 = train_data2.drop(columns=['building_id', 'site_id', 'primary_use', 'timestamp'], errors='ignore')\ntarget = train_data2.meter_reading\ntrain_data2 = train_data2.drop(columns=['meter_reading'], errors='ignore')\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"import matplotlib.pyplot as plt  # To visualize\nfrom sklearn.linear_model import LinearRegression\n\ndef getLinearRegressorPandasDF(train_dataX, train_dataY):\n#     train_dataY = train_data['meter_reading']\n#     train_dataX = train_dataX.drop(['timestamp'],axis=1)\n\n    linear_regressor = LinearRegression()\n    linear_regressor.fit(train_dataX,train_dataY)\n    Y_pred = linear_regressor.predict(train_dataX)\n    print(Y_pred)\n    return linear_regressor\n    \nlr = getLinearRegressorPandasDF(train_dataX=train_data2, train_dataY=target)\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_data2 = test_data.drop(columns=['building_id', 'site_id', 'primary_use', 'timestamp', 'meter_reading'], errors='ignore')\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"test_pred = lr.predict(test_data2)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"for i in tqdm(range(max(train_data.building_id))):\n    train_data[train_data.building_id == i] = train_data[train_data.building_id == i].sort_values('timestamp').interpolate(method='linear', limit_direction='forward', axis=0)\n","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":1}