{"cells":[{"metadata":{},"cell_type":"markdown","source":"![dd.png](attachment:dd.png)","attachments":{"dd.png":{"image/png":"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"}}},{"metadata":{},"cell_type":"markdown","source":"# Introduction \n"},{"metadata":{},"cell_type":"markdown","source":"Le but du PROJET est de mesurer rétroactivement la consommation énergétique des 2 années prochaines en se basant sur la consommation d'un an.\nLes train data sur la consommation horaire d'énergie qu'on a sont collectées dans des milliers de bâtiments sur 16 sites mesurant la consommation d'électricité, d'eau glacée, de vapeur et d'eau chaude. Pour aider à l'analyse, les attributs des bâtiments tels que les pieds carrés, le nombre d'étages, etc. sont collectés ainsi que diverses conditions météorologiques ambiantes sur les 16 sites dans lesquels les bâtiments à l'étude sont situés."},{"metadata":{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-4769-8c92-a6c4dae69d19","trusted":true},"cell_type":"code","source":"# This Python 3 environment comes with many helpful analytics libraries installed\n# It is defined by the kaggle/python docker image: https://github.com/kaggle/docker-python\n# For example, here's several helpful packages to load in \n\nimport numpy as np # linear algebra\nimport pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in the \"../input/\" directory.\n# For example, running this (by clicking run or pressing Shift+Enter) will list all files under the input directory\n\nimport os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n    for filename in filenames:\n        print(os.path.join(dirname, filename))\n\n# Any results you write to the current directory are saved as output.","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Upload les données directement de kaggle:\n\nPour l'etape du train on va utilisé les datasets suivants:\n* train\n* building_metadata\n* weather_train\n"},{"metadata":{"_cell_guid":"","_uuid":"","trusted":true},"cell_type":"code","source":"import pandas as pd\nbuilding_metadata = pd.read_csv(\"../input/ashrae-energy-prediction/building_metadata.csv\")\nsample_submission = pd.read_csv(\"../input/ashrae-energy-prediction/sample_submission.csv\")\ntest = pd.read_csv(\"../input/ashrae-energy-prediction/test.csv\")\ntrain = pd.read_csv(\"../input/ashrae-energy-prediction/train.csv\")\nweather_test = pd.read_csv(\"../input/ashrae-energy-prediction/weather_test.csv\")\nweather_train = pd.read_csv(\"../input/ashrae-energy-prediction/weather_train.csv\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# 1. Exploration de données\n \n"},{"metadata":{},"cell_type":"markdown","source":"prenons une idée sur la taille du chaque dataframes\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"print('Size of train data', train.shape)\nprint('Size of weather_train data', weather_train.shape)\nprint('Size of weather_test data', weather_test.shape)\nprint('Size of building_meta data', building_metadata.shape)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 1.a Reduction du memoire\ncomme les jeux de données sont trop volumineux, nous allons utiliser cette fonction pour réduire l'utilisation de la mémoire lors de l'exploration des données.\n\nc'est pas moi qui a codé cette fonction,     \n   Lien du source: https://www.kaggle.com/arjanso/reducing-dataframe-memory-size-by-65"},{"metadata":{"trusted":true},"cell_type":"code","source":"## Function to reduce the DF size\ndef reduce_memory_usage(df, verbose=True):\n    numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']\n    start_mem = df.memory_usage().sum() / 1024**2    \n    for col in df.columns:\n        col_type = df[col].dtypes\n        if col_type in numerics:\n            c_min = df[col].min()\n            c_max = df[col].max()\n            if str(col_type)[:3] == 'int':\n                if c_min > np.iinfo(np.int8).min and c_max < np.iinfo(np.int8).max:\n                    df[col] = df[col].astype(np.int8)\n                elif c_min > np.iinfo(np.int16).min and c_max < np.iinfo(np.int16).max:\n                    df[col] = df[col].astype(np.int16)\n                elif c_min > np.iinfo(np.int32).min and c_max < np.iinfo(np.int32).max:\n                    df[col] = df[col].astype(np.int32)\n                elif c_min > np.iinfo(np.int64).min and c_max < np.iinfo(np.int64).max:\n                    df[col] = df[col].astype(np.int64)  \n            else:\n                if c_min > np.finfo(np.float16).min and c_max < np.finfo(np.float16).max:\n                    df[col] = df[col].astype(np.float16)\n                elif c_min > np.finfo(np.float32).min and c_max < np.finfo(np.float32).max:\n                    df[col] = df[col].astype(np.float32)\n                else:\n                    df[col] = df[col].astype(np.float64)    \n    end_mem = df.memory_usage().sum() / 1024**2\n    if verbose: print('Mem. usage decreased to {:5.2f} Mb ({:.1f}% reduction)'.format(end_mem, 100 * (start_mem - end_mem) / start_mem))\n    return df","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Ici, nous avons utilisé la fonction sur nos jeux de données"},{"metadata":{"trusted":true},"cell_type":"code","source":"reduce_memory_usage(building_metadata)\nreduce_memory_usage(weather_train)\nreduce_memory_usage(train)\n\nreduce_memory_usage(weather_test)\nreduce_memory_usage(test)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 1.b Capter les données manquantes\n\nMaintenat et avant le merge des données on doit capter les données manquantes pour chaque dataframe, on va afficher le total et le pourcentage du données manquantes pour chaque feature du df"},{"metadata":{"trusted":true},"cell_type":"code","source":"# données manquantes pour le train df\ntotal = train.isnull().sum()\npercentage = (train.isnull().sum()/train.isnull().count()*100)\nzero_train  = pd.concat([total, percentage], axis=1, keys=['Total', 'Percentage'])\nzero_train.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# données manquantes du weather_train df\ntotal = weather_train.isnull().sum()\npercent = (weather_train.isnull().sum()/weather_train.isnull().count()*100)\nmissing_weather_data  = pd.concat([total, percent], axis=1, keys=['Total', 'Percent'])\nmissing_weather_data.head(10)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#données manquantes du building metadata df\ntotal = building_metadata.isnull().sum()\npercent = (building_metadata.isnull().sum()/building_metadata.isnull().count()*100)\nmissing_building_metadata  = pd.concat([total, percent], axis=1, keys=['Total', 'Percent'])\nmissing_building_metadata.head(10)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 1.c   Type, Nombre et Répartition des bâtiments"},{"metadata":{"trusted":true},"cell_type":"code","source":"print('Number of Buildings :', len(building_metadata.building_id.unique()))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"la repartition des bâtiments dans chaque site"},{"metadata":{"trusted":true},"cell_type":"code","source":"print('Number of Sites and number of Buildings in Each site')\nprint(building_metadata.site_id.unique())\nprint(building_metadata.site_id.value_counts().sort_index())","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"\nimport seaborn as sns\nimport statsmodels.formula.api as smf\nfrom sklearn.linear_model import LinearRegression\nfrom sklearn import metrics\nfrom sklearn.model_selection  import train_test_split\nimport gc\nfrom scipy.stats import norm # for scientific Computing\nfrom scipy import stats, integrate\nimport matplotlib.pyplot as plt","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Nombre de bâtiments par utilisation principale:"},{"metadata":{"trusted":true},"cell_type":"code","source":"building_count = building_metadata.primary_use.value_counts()\nprint('Number of Buildings by Primary Use:')\nplt.figure(figsize=(15,3))\nsns.barplot(building_count.index,building_metadata.primary_use.value_counts())\nplt.xticks(rotation = 90)\nplt.ylabel('Number of Buildings')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# 2. Feature Engineering"},{"metadata":{},"cell_type":"markdown","source":"On commence par merging the dataframes, on utilisant une jointure gauche/ LEFT JOIN pour avoir deux df seulement un pour le train et l'autre pour le test."},{"metadata":{"trusted":true},"cell_type":"code","source":"Train = building_metadata.merge(train, left_on='building_id', right_on='building_id' , how='left')\nTest = building_metadata.merge(test, left_on='building_id', right_on='building_id' , how='left')\nTrain.shape, Test.shape","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"puisque nous avons le résultat de la fusion nous n'avons plus besoin des df originaux, donc on les efface pour vide le RAM, on utilisant la fonction del ,et gc le garbage collector "},{"metadata":{"trusted":true},"cell_type":"code","source":"del test\ndel train\ndel building_metadata\ngc.collect()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train=Train.merge(weather_train,left_on=['site_id','timestamp'],right_on=['site_id','timestamp'],how='left')\ntest = Test.merge(weather_test,left_on=['site_id','timestamp'],right_on=['site_id','timestamp'],how='left')\ntrain.shape","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"del Test\ndel Train\ndel weather_test\ndel weather_train\ngc.collect()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"verifions qu'on a tous les features dans notre train dataframe"},{"metadata":{"trusted":true},"cell_type":"code","source":"train.columns","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 2.a Vérifions la distribution de la l'étiquette : meter_reading"},{"metadata":{"trusted":true},"cell_type":"code","source":"sns.distplot(train.meter_reading, kde = False)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"On remarque qu'il y a trop de relevés de compteur avec une valeur de zéro et donc une confusion de la distribution réelle. Nous allons traiter ces valeurs aberrantes en appliquons le Log Transformation pour rapprocher les points afin que les valeurs aberrantes soient écrasées et que d'autres observations deviennent visibles."},{"metadata":{"trusted":true},"cell_type":"code","source":"# plot hist of log transformed target variable\ntrain['log_meter_reading'] = np.log(train.meter_reading + 1)\nsns.distplot(train.log_meter_reading)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 2.b étude de corrélation"},{"metadata":{"trusted":true},"cell_type":"code","source":"corrmat=train.corr()\nfig,ax=plt.subplots(figsize=(12,10))\nsns.heatmap(corrmat,annot=True,annot_kws={'size': 12})","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"on remarque qu'on a une forte corrélation entre les varialbes:\n* floor-count et square_feet\n* wind_direction et wind_speed\n* dew_temperature et air_temperature"},{"metadata":{"trusted":true},"cell_type":"code","source":"train = train.drop(columns=['year_built', 'floor_count', 'wind_direction', 'dew_temperature'])\ntest = test.drop(columns=['year_built', 'floor_count','wind_direction', 'dew_temperature'])","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"ce mourceau de code est pris de kaggle, il sert a crée deux nouvelles colonnes month et day a partir du colonne timestamp deja existante "},{"metadata":{"trusted":true},"cell_type":"code","source":"train ['timestamp'] =  pd.to_datetime(train['timestamp'])\ntest ['timestamp'] =  pd.to_datetime(test['timestamp'])\ntrain['Month']=pd.DatetimeIndex(train['timestamp']).month\ntest['Month']=pd.DatetimeIndex(test['timestamp']).month\ntrain['Day']=pd.DatetimeIndex(train['timestamp']).day\ntest['Day']=pd.DatetimeIndex(test['timestamp']).day","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train= train.groupby(['meter',train['building_id'],'primary_use',train['Month'], train['Day']]).agg({'meter_reading':'sum', 'air_temperature': 'mean', 'wind_speed': 'mean', 'precip_depth_1_hr': 'mean', 'cloud_coverage': 'mean', 'square_feet': 'mean'})\ntest_1= test.groupby(['row_id','meter',test['building_id'],'primary_use',test['Month'], test['Day']]).agg({ 'air_temperature': 'mean', 'wind_speed': 'mean', 'precip_depth_1_hr': 'mean', 'cloud_coverage': 'mean', 'square_feet': 'mean'})","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"capter les données manquantes"},{"metadata":{"trusted":true},"cell_type":"code","source":"train.isna().sum()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train = train.reset_index()\ntrain.describe()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"maintenant on va Changer le type de données en float 32 pour remplir la valeur NA avant de les transformer en int pour un traitement de modélisation fluide"},{"metadata":{"trusted":true},"cell_type":"code","source":"train['wind_speed'] = train['wind_speed'].astype('float32')\ntrain['air_temperature'] = train['air_temperature'].astype('float32')\ntrain['precip_depth_1_hr'] = train['precip_depth_1_hr'].astype('float32')\ntrain['cloud_coverage'] = train['cloud_coverage'].astype('float32')\ntest['wind_speed'] = test['wind_speed'].astype('float32')\ntest['air_temperature'] = test['air_temperature'].astype('float32')\ntest['precip_depth_1_hr'] = test['precip_depth_1_hr'].astype('float32')\ntest['cloud_coverage'] = test['cloud_coverage'].astype('float32')","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"on remplit les valeur NA par la moyenne du colonne"},{"metadata":{"trusted":true},"cell_type":"code","source":"train['precip_depth_1_hr'].fillna(method='ffill', inplace = True)\ntrain['cloud_coverage'].fillna(method='bfill', inplace = True)\n\ntrain['wind_speed'].fillna(train['wind_speed'].mean(), inplace=True)\ntrain['air_temperature'].fillna(train['air_temperature'].mean(), inplace=True)\n\ntest['precip_depth_1_hr'].fillna(method='ffill', inplace = True)\ntest['cloud_coverage'].fillna(method='bfill', inplace = True)\ntest['precip_depth_1_hr'].fillna(test['precip_depth_1_hr'].mean(), inplace=True)\ntest['cloud_coverage'].fillna(test['cloud_coverage'].mean(), inplace=True)\n\ntest['wind_speed'].fillna(test['wind_speed'].mean(), inplace=True)\ntest['air_temperature'].fillna(test['air_temperature'].mean(), inplace=True)\ntrain.isnull().sum()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train.shape,train.dtypes","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 2.c une dernière visualisation des données après le feature engineering"},{"metadata":{},"cell_type":"markdown","source":"visualisation du relevé de compteur 'meter_reading' pour un building_id spécifique "},{"metadata":{"trusted":true},"cell_type":"code","source":"# Par jour\nbuilding_id = 100\nplt.figure(figsize=(14, 8))\nax = sns.lineplot(x=\"Day\", y=\"meter_reading\", hue=\"meter\", data=train[train['building_id'] == building_id])\nplt.title('visualisation du relevé de compteur pour le building numero {}'.format(building_id))\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# Par mois\nbuilding_id = 100\nplt.figure(figsize=(14, 8))\nax = sns.lineplot(x=\"Month\", y=\"meter_reading\", hue=\"meter\", data=train[train['building_id'] == building_id])\nplt.title('visualisation du relevé de compteur pour le building numero {}'.format(building_id))\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# 3 MODELE LSTM et préparation"},{"metadata":{"trusted":true},"cell_type":"code","source":"train.primary_use.unique()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 3.a préparation des données"},{"metadata":{},"cell_type":"markdown","source":"on commence par encoder notre donner pour préparer l'INPUT du modèle"},{"metadata":{"trusted":true},"cell_type":"code","source":"encoded = train[:]\ntest_encoded = test[:]","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# label encoding \nfrom sklearn.preprocessing import LabelEncoder\n\nle = LabelEncoder()\nencoded[\"primary_use\"] = le.fit_transform(encoded[\"primary_use\"])\ntest_encoded[\"primary_use\"] = le.fit_transform(test_encoded[\"primary_use\"])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"X = encoded[['meter', 'building_id', 'primary_use', 'Month', 'Day','air_temperature', 'wind_speed', 'precip_depth_1_hr', 'cloud_coverage',\n       'square_feet']]\ny = encoded['meter_reading']","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 3.c data splitting"},{"metadata":{},"cell_type":"markdown","source":"maintenat c'est l'étape du data splitting \n* 70% du data pour le train\n* 30% pour le test"},{"metadata":{"trusted":true},"cell_type":"code","source":"x_train, x_val, y_train, y_val = train_test_split(X,y, test_size = 0.3, random_state= 64)\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"from sklearn import preprocessing\nfrom keras import backend as K\nfrom keras.callbacks import ModelCheckpoint, EarlyStopping\nfrom keras.layers import Dense, LSTM, GRU, Dropout, BatchNormalization\nfrom keras.models import Sequential\nfrom keras.optimizers import RMSprop,Adam\nfrom keras import regularizers","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## 3.d  LSTM MODEL"},{"metadata":{"trusted":true},"cell_type":"code","source":"def root_mean_squared_error(y_true, y_pred):\n  return K.sqrt(K.mean(K.square(y_pred - y_true)))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Après beaucoup de tentatives pour trouver le meilleur modéle on va utiliser un modele du reseau de neurons qui contient 3 layers:\n* la première couche est une LSTM layer contient 128 noeuds\n* la deuxième couche est une LSTM layer contient 64 noeuds\n* la troisième couche est une Dense layer ( fully connected) avec un seul noeud."},{"metadata":{"trusted":true},"cell_type":"code","source":"def make_model(input_dim=10,metrics=root_mean_squared_error,loss='mse', optimizer=\"rmsprop\",drop_rate=0.5):\n\n  model = Sequential()\n  model.add(LSTM(128,return_sequences=True, input_shape=(None,input_dim)))\n  model.add(Dropout(drop_rate))\n  model.add(BatchNormalization())\n  model.add(LSTM(64,return_sequences=False))\n  model.add(BatchNormalization())\n  model.add(Dropout(drop_rate))\n  model.add(Dense(1))\n  model.compile(optimizer=optimizer, loss=loss, metrics=[metrics])\n  \n  return model","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"* Dans l'étape du fit on va utiliser le callbacks pour exécuter du code et interagir automatiquement avec le processus du training modèle.\n\n* Puisque la métrique demander est : Root Mean Squared Logarithmic Error on va appliquer la methode  np.log1p sur la validation_data[-1]\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"def run_model(model,x_train,y_train,epochs=30,batch_size=350,verbose=1,validation_data=(x_val,y_val),callbacks =None):\n  x_train = x_train.values[:]\n  x_train= x_train.reshape((x_train.shape[0],1,x_train.shape[-1]))\n  y_train = np.log1p(y_train)\n  if validation_data != None:\n    x_val = validation_data[0].values[:]\n    x_val = x_val.reshape((x_val.shape[0],1,x_val.shape[-1]))\n    y_val = np.log1p(validation_data[-1])\n      \n  return model.fit(x_train,y_train,epochs=epochs,batch_size=batch_size,verbose=verbose,validation_data=(x_val,y_val),callbacks=callbacks)","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"Le callbacks qu'on va utiliser est le EarlyStopping.\n\n\nIl sert à arrêt précoce la phase du training des réseaux de neurones au bon moment"},{"metadata":{"trusted":true},"cell_type":"code","source":"es = EarlyStopping(monitor='val_root_mean_squared_error', min_delta=0.0001, patience=5, verbose=True, mode='auto')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"model = make_model(input_dim=x_train.shape[-1],drop_rate=0.2)\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"model.summary()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"history = run_model(model,x_train,y_train,epochs=25,batch_size=250,verbose=1,validation_data=(x_val,y_val), callbacks =[es]) ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"loss = history.history\nloss.keys()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"#rmse loss\nrmse_loss_train = loss['root_mean_squared_error']\nrmse_loss_val = loss['val_root_mean_squared_error']\nepochs_stops = es.stopped_epoch +1 # epochs number from early stopping\nepochs = range(1,epochs_stops + 1)  #len(loss_train)\nplt.figure(figsize=(12,6))\nplt.plot(epochs,rmse_loss_train,'r', label='RMSE train loss')\nplt.plot(epochs,rmse_loss_val,'b',label='RMSE val loss')\nplt.title(' root mean square error loss')\nplt.legend()\nplt.show()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"submit = pd.read_csv('/kaggle/input/ashrae-energy-prediction/sample_submission.csv')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"train.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x_test = test[['meter', 'building_id', 'primary_use', 'Month', 'Day','air_temperature', 'wind_speed', 'precip_depth_1_hr', 'cloud_coverage','square_feet']]\n","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x_test.head()","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x_test.dtypes","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"ici on va changer le type du varible primary_use du categorical to numeric"},{"metadata":{"trusted":true},"cell_type":"code","source":"PrimaryUse = {'Education': 1,'Office': 3,'Entertainment/public assembly':4,'Public services': 5,'Lodging/residential': 6,'Other': 7,'Healthcare': 8,'Parking': 9,'Warehouse/storage': 10 ,'Manufacturing/industrial': 11,'Retail': 12,'Services': 13,'Technology/science': 14,'Food sales and service': 15,'Utility': 16,'Religious worship': 17} ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x_test.primary_use = [PrimaryUse[item] for item in x_test.primary_use] ","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"x_test.head()","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"vue que j'ai que 8GB ram sur ma machine et 13GB du ram sur ce kernel \net la taille du fichier test seul est 1.36 GB, il est impossible de traiter le dataframe test avec cette memoire RAM.\nj'ai téster sur le google colab aussi mais j'ai eu le meme probléme\n"},{"metadata":{"trusted":true},"cell_type":"code","source":"###############################problem is in this cell\n\n#x_test = x_test.values[:]\n#x_test = x_test.reshape((xx_test.shape[0],1,xx_test.shape[-1]))","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"prediction = model.predict(x_test)\nprediction = np.expm1(prediction)\nsubmit['meter_reading'] = prediction\nsubmit.to_csv('submission.csv', index=False,float_format='%.4f')","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}