├── Sample Output ├── bed.png ├── Rplot.png ├── corr.png ├── corr1.png ├── neigh.png ├── plot95.png ├── zipcode.png ├── comparison.png └── feature_emptiness.png ├── ARIMA.R ├── README.md ├── cal_mod.py ├── bsts_airbnb.R ├── KNN.ipynb └── Dataset └── calendar_730.csv /Sample Output/bed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/Airbnb-Price-Prediction/master/Sample Output/bed.png -------------------------------------------------------------------------------- /Sample Output/Rplot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/Airbnb-Price-Prediction/master/Sample Output/Rplot.png -------------------------------------------------------------------------------- /Sample Output/corr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/Airbnb-Price-Prediction/master/Sample Output/corr.png -------------------------------------------------------------------------------- /Sample Output/corr1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/Airbnb-Price-Prediction/master/Sample Output/corr1.png -------------------------------------------------------------------------------- /Sample Output/neigh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/Airbnb-Price-Prediction/master/Sample Output/neigh.png -------------------------------------------------------------------------------- /Sample Output/plot95.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/Airbnb-Price-Prediction/master/Sample Output/plot95.png -------------------------------------------------------------------------------- /Sample Output/zipcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/Airbnb-Price-Prediction/master/Sample Output/zipcode.png -------------------------------------------------------------------------------- /Sample Output/comparison.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/Airbnb-Price-Prediction/master/Sample Output/comparison.png -------------------------------------------------------------------------------- /Sample Output/feature_emptiness.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ashishpatel26/Airbnb-Price-Prediction/master/Sample Output/feature_emptiness.png -------------------------------------------------------------------------------- /ARIMA.R: -------------------------------------------------------------------------------- 1 | library('ggplot2') 2 | library('forecast') 3 | library('tseries') 4 | 5 | daily_data = read.csv("calendar_730.csv", header=TRUE, stringsAsFactors=FALSE) 6 | daily_data$date = as.Date(daily_data$date) 7 | daily_data = na.omit(daily_data) 8 | 9 | onlyprice = ts(daily_data$price, frequency = 12) 10 | decomp = stl(onlyprice, s.window="periodic") 11 | deseasonal_cnt <- seasadj(decomp) 12 | plot(decomp) 13 | plot(deseasonal_cnt) 14 | adf.test(deseasonal_cnt, alternative = "stationary") 15 | 16 | #diffprice = diff(deseasonal_cnt, differences = 1) 17 | #adf.test(diffprice, alternative = "stationary") 18 | 19 | 20 | fit<-auto.arima(deseasonal_cnt, seasonal=FALSE) 21 | #tsdisplay(residuals(fit), lag.max=45, main='(1,1,1) Model Residuals') 22 | fcast<-forecast(fit,h=30) 23 | plot(fcast) 24 | 25 | #res_fit = residuals(fit) 26 | #Box.test(res_fit, lag=20, type = "Ljung-Box") 27 | #fcast<-forecast(res_fit, h=30) 28 | #plot(fcast) 29 | #hold <- window(ts(daily_data$price), start=650) 30 | #fit_no_holdout = auto.arima(ts(daily_data$price[-c(650:730)]), seasonal=TRUE) 31 | #fcast_no_holdout <- forecast(fit_no_holdout,h=80) 32 | #plot(fcast_no_holdout, main=" ") 33 | #accuracy(fcast_no_holdout) 34 | #summary(fcast_no_holdout) 35 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Airbnb-Price-Prediction 2 | Airbnb is one of the fastest growing companies and has been increasing it's user base rapidly. Airbnb’ing continues to expand in popularity among both leisure and business travelers. Airbnb gives independence to the host to price their listing. This provides interesting use cases to solve for both the hosts as well as the guests. I took up two use cases 3 | 4 | 1) Predicting competitive price for a listing based on the characteristics of the listing which helps the hosts when they enter the market. 5 | 6 | 2) Forecasting prices of listings based on the multivariate time series data to help the guests plan their trip and accommodation. 7 | 8 | The tasks performed in implementing the project are: 9 | 10 | 1. Exhaustive Data Exploration, Data preprocessing and Data Wrangling of the Airbnb dataset. 11 | 12 | 2. Used Ensemble models such as Random Forest, XGBoost and LightGBM for price prediction. Also used Ridge Regression and KNN. Computed Median Squared Error and Mean Squared Error of the test data. 13 | 14 | 3. Performed hyperparameter tuning on all 5 models using ARC(A Root Cluster for Research into Scalable Computer Systems) and the results showed a marked improvement. 15 | 16 | 4. Used Arima (AutoRegressive Integrated Moving Average) and BSTS (Bayesian Structural Time Series) to capture the seasonal effects and trends in the data which helped in forecasting the prices of the listings with great accuracy. 17 | 18 | 19 | Dataset: https://drive.google.com/drive/folders/1JgfEKq4Uz6XJ5MYDYvfzCM4Z3c-Ew86j?usp=sharing 20 | -------------------------------------------------------------------------------- /cal_mod.py: -------------------------------------------------------------------------------- 1 | 2 | # coding: utf-8 3 | 4 | # In[64]: 5 | 6 | 7 | import pandas as pd 8 | import numpy as np 9 | import math 10 | data=pd.read_csv('calendar_detail.csv',nrows=200000) 11 | df=pd.DataFrame(data) 12 | 13 | d = pd.read_csv('calendar_detail.csv') 14 | d1 = pd.DataFrame(d) 15 | #df.to_csv('calendar_mod.csv') 16 | print(d1['listing_id'].nunique()) 17 | print(df['listing_id'].nunique()) 18 | 19 | 20 | # In[65]: 21 | 22 | 23 | ids=np.unique(df['listing_id']) 24 | count=0 25 | for i in df.values: 26 | if(pd.isna(i[3])): 27 | count+=1 28 | 29 | 30 | print(count) 31 | lis_ids=[] 32 | nulist=[] 33 | counts=[] 34 | new=df.groupby('listing_id') 35 | count1=0 36 | for i,j in new: 37 | lis_ids.append(i) 38 | q=np.array(j['price']) 39 | nulist.append(len(q)) 40 | 41 | for k in q: 42 | if(pd.isna(k)): 43 | 44 | count1+=1 45 | counts.append(count1) 46 | count1=0 47 | for i in range(0,len(counts)): 48 | print(lis_ids[i],nulist[i],counts[i]) 49 | new_df=pd.DataFrame(list(zip(lis_ids,nulist,counts))) 50 | removes=[] 51 | for i in new_df.values: 52 | if(i[2]>=219): 53 | removes.append(i[0]) 54 | print(removes) 55 | #removes_num = set(removes) 56 | #for ind,i in enumerate(df.values): 57 | #if(i[0] in removes_num): 58 | #df.drop(ind,inplace=True) 59 | df = df[~df['listing_id'].isin(removes)] 60 | print(len(df)) 61 | df=df[1:] 62 | 63 | 64 | # In[66]: 65 | 66 | 67 | # from datetime import datetime 68 | # datetime_object = datetime.strptime('2018-09-23', '%Y-%m-%d') 69 | # print(datetime_object, df['date'].iloc[1]) 70 | # #weekno = datetime.datetime.pd.to_datetime(df['date'].iloc[1], format='%Y%m%d', errors='ignore').weekday() 71 | # print(datetime_object.weekday()) 72 | 73 | 74 | # In[67]: 75 | 76 | 77 | day=[] 78 | for i in range(len(df)): 79 | if(datetime.strptime(df['date'].iloc[i], '%Y-%m-%d').weekday()<5): 80 | b = 1 81 | else: 82 | b = 0 83 | 84 | day.append(b) 85 | 86 | df['day']=day 87 | 88 | 89 | # In[68]: 90 | 91 | 92 | #to fill missing values 93 | 94 | df.insert(0, 'r_id', range(0, 0 + len(df))) 95 | df['price'] = df['price'].str.replace('$', '') 96 | df['price'] = df['price'].str.replace(',', '') 97 | 98 | df['price'] = pd.to_numeric(df['price']) 99 | 100 | def prev5(d,listingId,rid,day): 101 | prev=d.loc[(d['listing_id'] == listingId) & (d['r_id']rid) & (d.price.notnull()) & (d['day']==day)] 106 | return next.head(5) 107 | 108 | 109 | for i, row in df.iterrows(): 110 | if pd.isnull(row['price']): 111 | print(row['price'], i) 112 | pre = prev5(df,row['listing_id'],row['r_id'],row['day']) 113 | if(len(pre.index)>4): 114 | df.at[i,'price'] = pre['price'].mean() 115 | else: 116 | nex = next5(df,row['listing_id'],row['r_id'],row['day']) 117 | if(len(nex.index)>4): 118 | df.at[i,'price'] = nex['price'].mean() 119 | 120 | df = df.drop('r_id', axis=1) 121 | df.to_csv('calendar_clean.csv',index=False) 122 | 123 | -------------------------------------------------------------------------------- /bsts_airbnb.R: -------------------------------------------------------------------------------- 1 | install.packages("bsts") 2 | install.packages("dplyr") 3 | install.packages("date") 4 | install.packages("prophet") 5 | install.packages("plotly") 6 | install.packages("corrplot") 7 | library(date) 8 | library(dplyr) 9 | library(bsts) # load the bsts package 10 | library(corrplot) 11 | library(plotly) 12 | library(prophet) 13 | 14 | calendar <- read.csv(file="calendar_730.csv",header=TRUE, sep=",") 15 | print(nrow(calendar)) 16 | sapply(calendar, mode) 17 | 18 | calendar <- calendar %>% 19 | mutate(available = ifelse(available == "f",0,1)) 20 | 21 | price <- transform(calendar, price = as.numeric(price)) 22 | sapply(price, mode) 23 | 24 | 25 | 26 | pr <- price$price 27 | 28 | #mode(pr) 29 | #class(pr) 30 | 31 | bsts_response <- price$price 32 | (model_components <- list()) 33 | AddLocalLinearTrend 34 | plot(pr, ylab = "") 35 | 36 | price = subset(price, select = -c(available)) 37 | 38 | 39 | #Trend - local trend after analaysing 40 | summary(model_components <- AddLocalLinearTrend(model_components, 41 | y = pr)) 42 | #seasonal - weeks and days of week 43 | summary(model_components <- AddSeasonal(model_components, y = pr, 44 | nseasons = 52, season.duration = 7)) 45 | 46 | #seasonlaity and trend 47 | st_bsts_fit <- bsts(pr, model_components, niter = 1000) 48 | 49 | 50 | #predict with 95% interval of confidence only using seasonality and trend 51 | pred <- predict(st_bsts_fit, horizon = 120, quantiles = c(.05, .95)) 52 | plot(pred) 53 | 54 | mu_bsts <- pred$mean 55 | 56 | 57 | 58 | # seasonality & trend and regressors 59 | bsts_fit <- bsts(pr ~ ., state.specification = model_components, 60 | data = price, niter = 1000) 61 | 62 | plot(bsts_fit) 63 | plot(bsts_fit, "predictors") 64 | plot(bsts_fit, "coef") 65 | 66 | colMeans(bsts_fit$coefficients) 67 | 68 | summary(bsts_fit) 69 | 70 | #cumulative absolute one step ahead prediction errors 71 | CompareBstsModels(list("ST" = st_bsts_fit, 72 | "ST + reg" = bsts_fit), 73 | colors = c("black", "red")) 74 | 75 | bsts_fit1 <- bsts(pr ~ ., state.specification = model_components, 76 | data = price, niter = 1000, expected.model.size = 10) #passed to spike and slab 77 | 78 | plot(bsts_fit1) 79 | plot(bsts_fit1, "predictors") 80 | plot(bsts_fit1, "coef") 81 | 82 | colMeans(bsts_fit1$coefficients) 83 | 84 | 85 | 86 | #comapre all three models 87 | CompareBstsModels(list("Seasonal+Trend" = st_bsts_fit, 88 | "Seasonal+Trend + reg" = bsts_fit, 89 | "ST + forced reg" = bsts_fit1), 90 | colors = c("black", "red", "blue")) 91 | 92 | 93 | 94 | pred_bsts <- predict(st_bsts_fit, newdata = price , horizon = 120, quantiles = c(.05, .95)) 95 | plot(pred_bsts) 96 | 97 | 98 | Date <- as.Date(calendar$date) 99 | price_real <- price$price 100 | price_Bsts <- pred_bsts$mean 101 | 102 | bs_data <- data.frame(Date, price_real , price_Bsts) 103 | bs_new <- subset(bs_data, Date >'2019-5-24') 104 | mean(abs((bs_new$price_real - bs_new$price_Bsts)/bs_new$price_real)) 105 | 106 | 107 | 108 | 109 | #Plot Real vs Baseline Of Bsts model 110 | Date <- as.Date(calendar$date) 111 | Bsts_price_Real <- price$price 112 | Bsts_price_forecast <- price_Bsts 113 | 114 | data <- data.frame(Date, Bsts_price_Real, Bsts_price_forecast) 115 | data$Date <- as.factor(data$Date) 116 | 117 | p <- plot_ly(data, x = ~Date, y = ~Bsts_price_Real, name = 'Real', type = 'scatter', mode = 'lines', 118 | line = list(color = 'rgb(207,181,59)', width = 3)) %>% 119 | add_trace(y = ~Bsts_price_forecast, name = 'Forecast', line = list(color = 'rgb(22, 96, 167)', width = 3)) %>% 120 | layout(title = "Bsts Model Real Price vs Predicted Price", 121 | xaxis = list(title = "Date"), 122 | yaxis = list (title = "Price")) 123 | 124 | print(p) -------------------------------------------------------------------------------- /KNN.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "nbformat": 4, 3 | "nbformat_minor": 0, 4 | "metadata": { 5 | "colab": { 6 | "name": "ridge_1.ipynb", 7 | "version": "0.3.2", 8 | "provenance": [] 9 | }, 10 | "kernelspec": { 11 | "display_name": "Python 3", 12 | "language": "python", 13 | "name": "python3" 14 | } 15 | }, 16 | "cells": [ 17 | { 18 | "metadata": { 19 | "id": "pZuCDAPSgXh0", 20 | "colab_type": "code", 21 | "colab": {}, 22 | "outputId": "9089b283-e34b-4ff2-bb5a-259b3882d1ac" 23 | }, 24 | "cell_type": "code", 25 | "source": [ 26 | "import os\n", 27 | "import numpy as np\n", 28 | "import pandas as pd\n", 29 | "from sklearn.neighbors import KNeighborsRegressor\n", 30 | "from sklearn.model_selection import train_test_split\n", 31 | "import warnings\n", 32 | "warnings.filterwarnings('ignore')\n", 33 | "from sklearn.model_selection import cross_val_score,KFold\n", 34 | "from sklearn.metrics import accuracy_score\n", 35 | "from sklearn.metrics import mean_absolute_error\n", 36 | "from sklearn.metrics import mean_squared_log_error\n", 37 | "import matplotlib.pyplot as plt\n", 38 | "from sklearn.preprocessing import StandardScaler\n", 39 | "from math import sqrt\n", 40 | "from sklearn.metrics import median_absolute_error\n", 41 | "from sklearn.metrics import mean_squared_error\n", 42 | "\n", 43 | "#os.chdir(r\"C:\\Users\\dcbharma\\Desktop\\airbnbridge\")\n", 44 | "df = pd.read_csv(\"listings_detail.csv\",low_memory=False,encoding = \"ISO-8859-1\")\n", 45 | "\n", 46 | "\n", 47 | "df = df[df['accommodates'] != 0]\n", 48 | "df = df[df['bedrooms'] != 0]\n", 49 | "df = df[df['beds'] != 0]\n", 50 | "df = df[df['price'] != 0.00]\n", 51 | "\n", 52 | "print((df['beds']))\n", 53 | "\n" 54 | ], 55 | "execution_count": 0, 56 | "outputs": [ 57 | { 58 | "output_type": "stream", 59 | "text": [ 60 | "1 1.0\n", 61 | "2 1.0\n", 62 | "3 3.0\n", 63 | "4 3.0\n", 64 | "5 1.0\n", 65 | "6 5.0\n", 66 | "7 1.0\n", 67 | "8 2.0\n", 68 | "9 1.0\n", 69 | "11 2.0\n", 70 | "12 3.0\n", 71 | "13 2.0\n", 72 | "14 1.0\n", 73 | "15 1.0\n", 74 | "16 2.0\n", 75 | "17 1.0\n", 76 | "18 1.0\n", 77 | "19 1.0\n", 78 | "20 1.0\n", 79 | "21 2.0\n", 80 | "22 1.0\n", 81 | "23 1.0\n", 82 | "24 1.0\n", 83 | "25 1.0\n", 84 | "26 3.0\n", 85 | "27 2.0\n", 86 | "28 4.0\n", 87 | "29 2.0\n", 88 | "30 2.0\n", 89 | "31 1.0\n", 90 | " ... \n", 91 | "44284 1.0\n", 92 | "44285 1.0\n", 93 | "44286 1.0\n", 94 | "44287 2.0\n", 95 | "44288 1.0\n", 96 | "44289 1.0\n", 97 | "44290 1.0\n", 98 | "44291 1.0\n", 99 | "44292 1.0\n", 100 | "44293 2.0\n", 101 | "44295 1.0\n", 102 | "44296 2.0\n", 103 | "44297 2.0\n", 104 | "44298 3.0\n", 105 | "44299 4.0\n", 106 | "44300 4.0\n", 107 | "44301 5.0\n", 108 | "44302 2.0\n", 109 | "44303 1.0\n", 110 | "44304 6.0\n", 111 | "44305 1.0\n", 112 | "44306 1.0\n", 113 | "44307 1.0\n", 114 | "44308 1.0\n", 115 | "44309 1.0\n", 116 | "44310 1.0\n", 117 | "44311 1.0\n", 118 | "44312 1.0\n", 119 | "44313 5.0\n", 120 | "44314 1.0\n", 121 | "Name: beds, Length: 40279, dtype: float64\n" 122 | ], 123 | "name": "stdout" 124 | } 125 | ] 126 | }, 127 | { 128 | "metadata": { 129 | "id": "gWjbUR1SgXh7", 130 | "colab_type": "code", 131 | "colab": {}, 132 | "outputId": "adc7a238-4752-40c4-d428-8f7f3b1bd6a6" 133 | }, 134 | "cell_type": "code", 135 | "source": [ 136 | "\n", 137 | "df = df[(pd.notnull(df['latitude']))&(pd.notnull(df['longitude']))&(pd.notnull(df['accommodates']))&(pd.notnull(df['bathrooms']))&(pd.notnull(df['beds']))&(pd.notnull(df['number_of_reviews']))&(pd.notnull(df['review_scores_rating']))&(pd.notnull(df['price']))]\n", 138 | "df['price'] = df['price'].str.replace('\\$|,', '')\n", 139 | "df['price'] = pd.to_numeric(df['price'])\n", 140 | "\n", 141 | "\n", 142 | "df_knn =df[['latitude', 'longitude', 'accommodates','bathrooms','bedrooms','beds','number_of_reviews','review_scores_rating','price']]\n", 143 | "df_knn.apply(pd.to_numeric)\n", 144 | "\n", 145 | "from sklearn.utils import shuffle\n", 146 | "df_knn = shuffle(df_knn)\n", 147 | "\n", 148 | "df_norm = (df_knn[['latitude', 'longitude', 'accommodates','bathrooms','bedrooms','beds','number_of_reviews','review_scores_rating']] - df_knn[['latitude', 'longitude', 'accommodates','bathrooms','bedrooms','beds','number_of_reviews','review_scores_rating']].min()) / (df_knn[['latitude', 'longitude', 'accommodates','bathrooms','bedrooms','beds','number_of_reviews','review_scores_rating']].max() - df_knn[['latitude', 'longitude', 'accommodates','bathrooms','bedrooms','beds','number_of_reviews','review_scores_rating']].min())\n", 149 | "df_norm = pd.concat([df_norm, df_knn[['price']]], axis=1)\n", 150 | "\n", 151 | "df_norm = df_norm[(pd.notnull(df['latitude']))&(pd.notnull(df['longitude']))&(pd.notnull(df['accommodates']))&(pd.notnull(df['bathrooms']))&(pd.notnull(df['beds']))&(pd.notnull(df['number_of_reviews']))&(pd.notnull(df['review_scores_rating']))&(pd.notnull(df['price']))]\n", 152 | "df_norm = df_norm.round(6)\n", 153 | "df_norm = df_norm.dropna()\n", 154 | "df_norm.apply(pd.to_numeric)\n", 155 | "\n", 156 | "df_norm = df_norm[df_norm['beds'] == min(df_norm['beds'])]\n", 157 | "x_train, x_test, y_train, y_test = train_test_split(df_norm[['latitude', 'longitude', 'accommodates','bathrooms','bedrooms','beds','number_of_reviews','review_scores_rating']],df_norm['price'], test_size=0.2, random_state = 42)\n", 158 | "print(len(x_train))\n", 159 | "print(len(x_test))\n", 160 | "\n", 161 | "print(len(y_train))\n", 162 | "print(len(y_test))\n", 163 | "\n", 164 | "# x_train = x_train[(pd.notnull(df['latitude']))&(pd.notnull(df['longitude']))&(pd.notnull(df['accommodates']))&(pd.notnull(df['bathrooms']))&(pd.notnull(df['beds']))&(pd.notnull(df['number_of_reviews']))&(pd.notnull(df['review_scores_rating']))]\n", 165 | "# x_train = x_train.dropna()\n", 166 | "# x_train = x_train.round(6)\n", 167 | "# x_train.apply(pd.to_numeric)\n", 168 | "\n", 169 | "# x_test = x_test[(pd.notnull(df['latitude']))&(pd.notnull(df['longitude']))&(pd.notnull(df['accommodates']))&(pd.notnull(df['bathrooms']))&(pd.notnull(df['beds']))&(pd.notnull(df['number_of_reviews']))&(pd.notnull(df['review_scores_rating']))]\n", 170 | "# x_test = x_test.dropna()\n", 171 | "# x_test = x_test.round(6)\n", 172 | "# x_test.apply(pd.to_numeric)\n", 173 | "\n", 174 | "# y_train.index.name = 'price'\n", 175 | "# y_test.index.name = 'price'\n", 176 | "\n", 177 | "# y_train = y_train[(pd.notnull(df['price']))]\n", 178 | "# y_train = y_train.dropna()\n", 179 | "# y_train = y_train.round(6)\n", 180 | "# y_train.apply(pd.to_numeric)\n", 181 | "\n", 182 | "# y_test = y_test[(pd.notnull(df['price']))]\n", 183 | "# y_test = y_test.dropna()\n", 184 | "# y_test = y_test.round(6)\n", 185 | "# y_test.apply(pd.to_numeric)\n", 186 | "\n" 187 | ], 188 | "execution_count": 0, 189 | "outputs": [ 190 | { 191 | "output_type": "stream", 192 | "text": [ 193 | "15816\n", 194 | "3954\n", 195 | "15816\n", 196 | "3954\n" 197 | ], 198 | "name": "stdout" 199 | } 200 | ] 201 | }, 202 | { 203 | "metadata": { 204 | "id": "sy0_OSyjgXh-", 205 | "colab_type": "code", 206 | "colab": {} 207 | }, 208 | "cell_type": "code", 209 | "source": [ 210 | "\n", 211 | "knn = KNeighborsRegressor(n_neighbors=7)\n", 212 | "knn.fit(x_train, y_train)\n", 213 | "predictions = knn.predict(x_test)\n", 214 | "predictions = pd.DataFrame({'price': predictions})" 215 | ], 216 | "execution_count": 0, 217 | "outputs": [] 218 | }, 219 | { 220 | "metadata": { 221 | "id": "DHOP7Jm5gXiB", 222 | "colab_type": "code", 223 | "colab": {}, 224 | "outputId": "a75e3626-10c8-40f2-99ea-0514236d1ec1" 225 | }, 226 | "cell_type": "code", 227 | "source": [ 228 | "\n", 229 | "print('mean_absolute_error:\\t$%.2f' % mean_absolute_error(y_test, predictions))\n", 230 | "print('mean_squared_log_error:\\t%.5f' % mean_squared_log_error(y_test, predictions))\n", 231 | "print(\"Median Absolute Error: \" + str(round(median_absolute_error(predictions, y_test), 2)))\n", 232 | "RMSE = round(sqrt(mean_squared_error(predictions, y_test)), 2)\n", 233 | "print(\"Root mean_squared_error: \" + str(RMSE))" 234 | ], 235 | "execution_count": 0, 236 | "outputs": [ 237 | { 238 | "output_type": "stream", 239 | "text": [ 240 | "mean_absolute_error:\t$38.19\n", 241 | "mean_squared_log_error:\t0.21357\n", 242 | "Median Absolute Error: 22.0\n", 243 | "Root mean_squared_error: 104.05\n" 244 | ], 245 | "name": "stdout" 246 | } 247 | ] 248 | }, 249 | { 250 | "metadata": { 251 | "id": "Jx7KW89YgXiG", 252 | "colab_type": "code", 253 | "colab": {} 254 | }, 255 | "cell_type": "code", 256 | "source": [ 257 | "" 258 | ], 259 | "execution_count": 0, 260 | "outputs": [] 261 | }, 262 | { 263 | "metadata": { 264 | "id": "NgJ5cz1jgXiJ", 265 | "colab_type": "code", 266 | "colab": {} 267 | }, 268 | "cell_type": "code", 269 | "source": [ 270 | "" 271 | ], 272 | "execution_count": 0, 273 | "outputs": [] 274 | } 275 | ] 276 | } -------------------------------------------------------------------------------- /Dataset/calendar_730.csv: -------------------------------------------------------------------------------- 1 | listing_id,date,available,price,day 2 | 65834,2019-10-02,t,175.0,1 3 | 65834,2019-10-01,t,175.0,1 4 | 65834,2019-09-30,t,175.0,1 5 | 65834,2019-09-29,t,175.0,0 6 | 65834,2019-09-28,t,180.0,0 7 | 65834,2019-09-27,t,180.0,1 8 | 65834,2019-09-26,t,175.0,1 9 | 65834,2019-09-25,t,175.0,1 10 | 65834,2019-09-24,t,175.0,1 11 | 65834,2019-09-23,t,175.0,1 12 | 65834,2019-09-22,t,175.0,0 13 | 65834,2019-09-21,t,180.0,0 14 | 65834,2019-09-20,t,180.0,1 15 | 65834,2019-09-19,t,175.0,1 16 | 65834,2019-09-18,t,175.0,1 17 | 65834,2019-09-17,t,175.0,1 18 | 65834,2019-09-16,t,175.0,1 19 | 65834,2019-09-15,t,175.0,0 20 | 65834,2019-09-14,t,180.0,0 21 | 65834,2019-09-13,t,180.0,1 22 | 65834,2019-09-12,t,175.0,1 23 | 65834,2019-09-11,t,175.0,1 24 | 65834,2019-09-10,t,175.0,1 25 | 65834,2019-09-09,t,175.0,1 26 | 65834,2019-09-08,t,175.0,0 27 | 65834,2019-09-07,t,180.0,0 28 | 65834,2019-09-06,t,180.0,1 29 | 65834,2019-09-05,t,175.0,1 30 | 65834,2019-09-04,t,175.0,1 31 | 65834,2019-09-03,t,175.0,1 32 | 65834,2019-09-02,t,175.0,1 33 | 65834,2019-09-01,t,175.0,0 34 | 65834,2019-08-31,t,180.0,0 35 | 65834,2019-08-30,t,180.0,1 36 | 65834,2019-08-29,t,175.0,1 37 | 65834,2019-08-28,t,175.0,1 38 | 65834,2019-08-27,t,175.0,1 39 | 65834,2019-08-26,t,175.0,1 40 | 65834,2019-08-25,t,175.0,0 41 | 65834,2019-08-24,t,180.0,0 42 | 65834,2019-08-23,t,180.0,1 43 | 65834,2019-08-22,t,175.0,1 44 | 65834,2019-08-21,t,175.0,1 45 | 65834,2019-08-20,t,175.0,1 46 | 65834,2019-08-19,t,175.0,1 47 | 65834,2019-08-18,t,175.0,0 48 | 65834,2019-08-17,t,180.0,0 49 | 65834,2019-08-16,t,180.0,1 50 | 65834,2019-08-15,t,175.0,1 51 | 65834,2019-08-14,t,175.0,1 52 | 65834,2019-08-13,t,175.0,1 53 | 65834,2019-08-12,t,175.0,1 54 | 65834,2019-08-11,t,175.0,0 55 | 65834,2019-08-10,t,180.0,0 56 | 65834,2019-08-09,t,180.0,1 57 | 65834,2019-08-08,t,175.0,1 58 | 65834,2019-08-07,t,175.0,1 59 | 65834,2019-08-06,t,175.0,1 60 | 65834,2019-08-05,t,175.0,1 61 | 65834,2019-08-04,t,175.0,0 62 | 65834,2019-08-03,t,180.0,0 63 | 65834,2019-08-02,t,180.0,1 64 | 65834,2019-08-01,t,175.0,1 65 | 65834,2019-07-31,t,175.0,1 66 | 65834,2019-07-30,t,175.0,1 67 | 65834,2019-07-29,t,175.0,1 68 | 65834,2019-07-28,t,175.0,0 69 | 65834,2019-07-27,t,180.0,0 70 | 65834,2019-07-26,t,180.0,1 71 | 65834,2019-07-25,t,175.0,1 72 | 65834,2019-07-24,t,175.0,1 73 | 65834,2019-07-23,t,175.0,1 74 | 65834,2019-07-22,t,175.0,1 75 | 65834,2019-07-21,t,175.0,0 76 | 65834,2019-07-20,t,180.0,0 77 | 65834,2019-07-19,t,180.0,1 78 | 65834,2019-07-18,t,175.0,1 79 | 65834,2019-07-17,t,175.0,1 80 | 65834,2019-07-16,t,175.0,1 81 | 65834,2019-07-15,t,175.0,1 82 | 65834,2019-07-14,t,175.0,0 83 | 65834,2019-07-13,t,180.0,0 84 | 65834,2019-07-12,t,180.0,1 85 | 65834,2019-07-11,t,175.0,1 86 | 65834,2019-07-10,t,175.0,1 87 | 65834,2019-07-09,t,175.0,1 88 | 65834,2019-07-08,t,175.0,1 89 | 65834,2019-07-07,t,175.0,0 90 | 65834,2019-07-06,t,180.0,0 91 | 65834,2019-07-05,t,180.0,1 92 | 65834,2019-07-04,t,175.0,1 93 | 65834,2019-07-03,t,175.0,1 94 | 65834,2019-06-20,t,175.0,1 95 | 65834,2019-06-19,t,175.0,1 96 | 65834,2019-06-18,t,175.0,1 97 | 65834,2019-06-17,t,175.0,1 98 | 65834,2019-06-16,t,175.0,0 99 | 65834,2019-06-15,t,180.0,0 100 | 65834,2019-06-14,t,180.0,1 101 | 65834,2019-06-13,t,175.0,1 102 | 65834,2019-06-12,t,175.0,1 103 | 65834,2019-06-11,t,175.0,1 104 | 65834,2019-06-10,t,175.0,1 105 | 65834,2019-06-09,t,175.0,0 106 | 65834,2019-06-08,t,180.0,0 107 | 65834,2019-06-07,t,180.0,1 108 | 65834,2019-06-06,t,175.0,1 109 | 65834,2019-06-05,t,175.0,1 110 | 65834,2019-06-04,t,175.0,1 111 | 65834,2019-06-03,t,175.0,1 112 | 65834,2019-06-02,t,175.0,0 113 | 65834,2019-06-01,t,180.0,0 114 | 65834,2019-05-31,t,180.0,1 115 | 65834,2019-05-30,t,175.0,1 116 | 65834,2019-05-29,t,175.0,1 117 | 65834,2019-05-28,t,175.0,1 118 | 65834,2019-05-27,t,175.0,1 119 | 65834,2019-05-26,t,175.0,0 120 | 65834,2019-05-25,t,180.0,0 121 | 65834,2019-05-24,t,180.0,1 122 | 65834,2019-05-23,t,175.0,1 123 | 65834,2019-05-22,t,175.0,1 124 | 65834,2019-05-21,t,175.0,1 125 | 65834,2019-05-20,t,175.0,1 126 | 65834,2019-05-19,t,175.0,0 127 | 65834,2019-05-18,t,180.0,0 128 | 65834,2019-05-17,t,180.0,1 129 | 65834,2019-05-16,t,175.0,1 130 | 65834,2019-05-15,t,175.0,1 131 | 65834,2019-05-14,t,175.0,1 132 | 65834,2019-05-13,t,175.0,1 133 | 65834,2019-05-12,t,175.0,0 134 | 65834,2019-05-11,t,180.0,0 135 | 65834,2019-05-10,t,180.0,1 136 | 65834,2019-05-09,t,175.0,1 137 | 65834,2019-05-08,t,175.0,1 138 | 65834,2019-05-07,t,175.0,1 139 | 65834,2019-05-06,t,175.0,1 140 | 65834,2019-05-05,t,175.0,0 141 | 65834,2019-05-04,t,180.0,0 142 | 65834,2019-05-03,t,180.0,1 143 | 65834,2019-05-02,t,175.0,1 144 | 65834,2019-05-01,t,175.0,1 145 | 65834,2019-04-30,t,175.0,1 146 | 65834,2019-04-29,t,175.0,1 147 | 65834,2019-04-28,t,175.0,0 148 | 65834,2019-04-27,t,180.0,0 149 | 65834,2019-04-26,t,180.0,1 150 | 65834,2019-04-25,t,175.0,1 151 | 65834,2019-04-24,t,175.0,1 152 | 65834,2019-04-23,t,175.0,1 153 | 65834,2019-04-22,t,175.0,1 154 | 65834,2019-04-21,t,175.0,0 155 | 65834,2019-04-20,t,180.0,0 156 | 65834,2019-04-19,t,180.0,1 157 | 65834,2019-04-18,t,175.0,1 158 | 65834,2019-04-17,t,175.0,1 159 | 65834,2019-04-16,t,175.0,1 160 | 65834,2019-04-15,t,175.0,1 161 | 65834,2019-04-14,t,175.0,0 162 | 65834,2019-04-13,t,180.0,0 163 | 65834,2019-04-12,t,180.0,1 164 | 65834,2019-04-11,t,175.0,1 165 | 65834,2019-04-10,t,175.0,1 166 | 65834,2019-04-09,t,175.0,1 167 | 65834,2019-04-08,t,175.0,1 168 | 65834,2019-04-07,t,175.0,0 169 | 65834,2019-04-06,t,180.0,0 170 | 65834,2019-04-05,t,180.0,1 171 | 65834,2019-04-04,t,175.0,1 172 | 65834,2019-04-03,t,175.0,1 173 | 65834,2019-04-02,t,175.0,1 174 | 65834,2019-04-01,t,175.0,1 175 | 65834,2019-03-31,t,175.0,0 176 | 65834,2019-03-30,t,180.0,0 177 | 65834,2019-03-29,t,180.0,1 178 | 65834,2019-03-28,t,175.0,1 179 | 65834,2019-03-27,t,175.0,1 180 | 65834,2019-03-26,t,175.0,1 181 | 65834,2019-03-25,t,175.0,1 182 | 65834,2019-03-24,t,175.0,0 183 | 65834,2019-03-23,t,180.0,0 184 | 65834,2019-03-22,t,180.0,1 185 | 65834,2019-03-21,t,175.0,1 186 | 65834,2019-03-20,t,175.0,1 187 | 65834,2019-03-19,t,175.0,1 188 | 65834,2019-03-18,t,175.0,1 189 | 65834,2019-03-17,t,175.0,0 190 | 65834,2019-03-16,t,180.0,0 191 | 65834,2019-03-15,t,180.0,1 192 | 65834,2019-03-14,t,175.0,1 193 | 65834,2019-03-13,t,175.0,1 194 | 65834,2019-03-12,t,175.0,1 195 | 65834,2019-03-11,t,175.0,1 196 | 65834,2019-03-10,t,175.0,0 197 | 65834,2019-03-09,t,180.0,0 198 | 65834,2019-03-08,t,180.0,1 199 | 65834,2019-03-07,t,175.0,1 200 | 65834,2019-03-06,t,175.0,1 201 | 65834,2019-03-05,t,175.0,1 202 | 65834,2019-03-04,t,175.0,1 203 | 65834,2019-03-03,t,175.0,0 204 | 65834,2019-03-02,t,180.0,0 205 | 65834,2019-03-01,t,180.0,1 206 | 65834,2019-02-28,t,175.0,1 207 | 65834,2019-02-27,t,175.0,1 208 | 65834,2019-02-26,t,175.0,1 209 | 65834,2019-02-25,t,175.0,1 210 | 65834,2019-02-24,t,175.0,0 211 | 65834,2019-02-23,t,180.0,0 212 | 65834,2019-02-22,t,180.0,1 213 | 65834,2019-02-21,t,175.0,1 214 | 65834,2019-02-20,t,175.0,1 215 | 65834,2019-02-19,t,175.0,1 216 | 65834,2019-02-18,t,175.0,1 217 | 65834,2019-02-17,t,175.0,0 218 | 65834,2019-02-16,t,180.0,0 219 | 65834,2019-02-15,t,180.0,1 220 | 65834,2019-02-14,t,175.0,1 221 | 65834,2019-02-13,t,175.0,1 222 | 65834,2019-02-12,t,175.0,1 223 | 65834,2019-02-11,t,175.0,1 224 | 65834,2019-02-10,t,175.0,0 225 | 65834,2019-02-09,t,180.0,0 226 | 65834,2019-02-08,t,180.0,1 227 | 65834,2019-02-07,t,175.0,1 228 | 65834,2019-02-06,t,175.0,1 229 | 65834,2019-02-05,t,175.0,1 230 | 65834,2019-02-04,t,175.0,1 231 | 65834,2019-02-03,t,175.0,0 232 | 65834,2019-02-02,t,180.0,0 233 | 65834,2019-02-01,t,180.0,1 234 | 65834,2019-01-31,t,175.0,1 235 | 65834,2019-01-30,t,175.0,1 236 | 65834,2019-01-29,t,175.0,1 237 | 65834,2019-01-28,t,175.0,1 238 | 65834,2019-01-27,t,175.0,0 239 | 65834,2019-01-26,t,180.0,0 240 | 65834,2019-01-25,t,180.0,1 241 | 65834,2019-01-24,t,175.0,1 242 | 65834,2019-01-23,t,175.0,1 243 | 65834,2019-01-22,t,175.0,1 244 | 65834,2019-01-21,t,175.0,1 245 | 65834,2019-01-20,t,175.0,0 246 | 65834,2019-01-19,t,180.0,0 247 | 65834,2019-01-18,t,180.0,1 248 | 65834,2019-01-17,t,175.0,1 249 | 65834,2019-01-16,t,175.0,1 250 | 65834,2019-01-15,t,175.0,1 251 | 65834,2019-01-14,t,175.0,1 252 | 65834,2019-01-13,t,175.0,0 253 | 65834,2019-01-12,t,180.0,0 254 | 65834,2019-01-11,t,180.0,1 255 | 65834,2019-01-10,t,175.0,1 256 | 65834,2019-01-09,t,175.0,1 257 | 65834,2019-01-08,t,175.0,1 258 | 65834,2019-01-07,t,175.0,1 259 | 65834,2019-01-06,t,175.0,0 260 | 65834,2019-01-05,t,180.0,0 261 | 65834,2019-01-04,t,180.0,1 262 | 65834,2019-01-03,t,175.0,1 263 | 65834,2019-01-02,t,175.0,1 264 | 65834,2019-01-01,t,175.0,1 265 | 65834,2018-12-31,t,175.0,1 266 | 65834,2018-12-30,t,175.0,0 267 | 65834,2018-12-29,t,180.0,0 268 | 65834,2018-12-28,t,180.0,1 269 | 65834,2018-12-27,t,175.0,1 270 | 65834,2018-12-26,t,175.0,1 271 | 65834,2018-12-25,t,175.0,1 272 | 65834,2018-12-24,t,175.0,1 273 | 65834,2018-12-23,t,175.0,0 274 | 65834,2018-12-22,t,180.0,0 275 | 65834,2018-12-21,t,180.0,1 276 | 65834,2018-12-20,t,175.0,1 277 | 65834,2018-12-19,t,175.0,1 278 | 65834,2018-12-18,t,175.0,1 279 | 65834,2018-12-17,t,175.0,1 280 | 65834,2018-12-16,t,175.0,0 281 | 65834,2018-12-15,t,180.0,0 282 | 65834,2018-12-14,t,180.0,1 283 | 65834,2018-12-13,t,175.0,1 284 | 65834,2018-12-12,t,175.0,1 285 | 65834,2018-12-11,t,175.0,1 286 | 65834,2018-12-10,t,175.0,1 287 | 65834,2018-12-09,t,175.0,0 288 | 65834,2018-12-08,t,180.0,0 289 | 65834,2018-12-07,t,180.0,1 290 | 65834,2018-12-06,t,175.0,1 291 | 65834,2018-12-05,t,175.0,1 292 | 65834,2018-12-04,t,175.0,1 293 | 65834,2018-12-03,t,175.0,1 294 | 65834,2018-12-02,t,175.0,0 295 | 65834,2018-12-01,t,180.0,0 296 | 65834,2018-11-30,t,180.0,1 297 | 65834,2018-11-29,t,175.0,1 298 | 65834,2018-11-28,t,175.0,1 299 | 65834,2018-11-27,t,175.0,1 300 | 65834,2018-11-26,t,175.0,1 301 | 65834,2019-07-02,t,175.0,1 302 | 65834,2019-07-01,t,175.0,1 303 | 65834,2019-06-30,t,175.0,0 304 | 65834,2019-06-29,t,180.0,0 305 | 65834,2019-06-28,t,180.0,1 306 | 65834,2019-06-27,t,175.0,1 307 | 65834,2019-06-26,t,175.0,1 308 | 65834,2019-06-25,t,175.0,1 309 | 65834,2019-06-24,t,175.0,1 310 | 65834,2019-06-23,t,175.0,0 311 | 65834,2019-06-22,t,180.0,0 312 | 65834,2019-06-21,t,180.0,1 313 | 65834,2018-11-25,t,175.0,0 314 | 65834,2018-11-24,t,180.0,0 315 | 65834,2018-11-23,t,180.0,1 316 | 65834,2018-11-22,t,175.0,1 317 | 65834,2018-11-21,t,175.0,1 318 | 65834,2018-11-20,t,175.0,1 319 | 65834,2018-11-19,t,175.0,1 320 | 65834,2018-11-18,t,175.0,0 321 | 65834,2018-11-17,t,180.0,0 322 | 65834,2018-11-16,t,180.0,1 323 | 65834,2018-11-15,t,175.0,1 324 | 65834,2018-11-14,t,175.0,1 325 | 65834,2018-11-13,t,175.0,1 326 | 65834,2018-11-12,t,175.0,1 327 | 65834,2018-11-11,t,175.0,0 328 | 65834,2018-11-10,t,180.0,0 329 | 65834,2018-11-09,t,180.0,1 330 | 65834,2018-11-08,t,175.0,1 331 | 65834,2018-11-07,t,175.0,1 332 | 65834,2018-11-06,t,175.0,1 333 | 65834,2018-11-05,t,175.0,1 334 | 65834,2018-11-04,t,175.0,0 335 | 65834,2018-11-03,f,177.0,0 336 | 65834,2018-11-02,f,176.0,1 337 | 65834,2018-11-01,f,175.2,1 338 | 65834,2018-10-31,f,175.24,1 339 | 65834,2018-10-30,f,175.288,1 340 | 65834,2018-10-29,f,175.34560000000002,1 341 | 65834,2018-10-28,f,177.4,0 342 | 65834,2018-10-27,f,176.88,0 343 | 65834,2018-10-26,f,175.41472000000002,1 344 | 65834,2018-10-25,f,175.297664,1 345 | 65834,2018-10-24,f,175.3171968,1 346 | 65834,2018-10-23,f,175.33263616000002,1 347 | 65834,2018-10-22,f,175.341563392,1 348 | 65834,2018-10-21,f,177.256,0 349 | 65834,2018-10-20,f,176.7072,0 350 | 65834,2018-10-19,f,175.3407560704,1 351 | 65834,2018-10-18,f,175.32596328448,1 352 | 65834,2018-10-17,f,175.33162314137599,1 353 | 65834,2018-10-16,f,175.3345084096512,1 354 | 65834,2018-10-15,f,175.33488285958146,1 355 | 65834,2018-10-14,f,177.04863999999998,0 356 | 65834,2018-10-13,f,177.05836799999997,0 357 | 65834,2018-10-12,f,175.33354675309775,1 358 | 65834,2018-10-11,f,175.33210488963726,1 359 | 65834,2018-10-10,f,175.3333332106687,1 360 | 65834,2018-10-09,f,175.33367522452724,1 361 | 65834,2018-10-08,f,175.33350858750248,1 362 | 65834,2018-10-07,f,176.99004159999998,0 363 | 65834,2018-10-06,f,177.01204991999998,0 364 | 65834,2018-10-05,f,175.3332337330867,1 365 | 65834,2018-10-04,f,175.3331711290845,1 366 | 65834,2018-10-03,f,175.33338437697392,1 367 | 65834,2018-10-01,t,175.0,1 368 | 65834,2018-09-30,t,175.0,0 369 | 65834,2018-09-29,t,180.0,0 370 | 65834,2018-09-28,t,180.0,1 371 | 65834,2018-09-27,t,175.0,1 372 | 65834,2018-09-26,t,175.0,1 373 | 65834,2018-09-25,t,175.0,1 374 | 65834,2018-09-24,t,175.0,1 375 | 65834,2018-09-23,t,175.0,0 376 | 65834,2018-09-22,t,180.0,0 377 | 65834,2018-09-21,t,180.0,1 378 | 65834,2018-09-20,t,175.0,1 379 | 65834,2018-09-19,t,175.0,1 380 | 65834,2018-09-18,t,175.0,1 381 | 65834,2018-09-17,t,175.0,1 382 | 65834,2018-09-16,t,175.0,0 383 | 65834,2018-09-15,t,180.0,0 384 | 65834,2018-09-14,t,180.0,1 385 | 65834,2018-09-13,t,175.0,1 386 | 65834,2018-09-12,t,175.0,1 387 | 65834,2018-09-11,t,175.0,1 388 | 65834,2018-09-10,t,175.0,1 389 | 65834,2018-09-09,t,175.0,0 390 | 65834,2018-09-08,t,180.0,0 391 | 65834,2018-09-07,t,180.0,1 392 | 65834,2018-09-06,t,175.0,1 393 | 65834,2018-09-05,t,175.0,1 394 | 65834,2018-09-04,t,175.0,1 395 | 65834,2018-09-03,t,175.0,1 396 | 65834,2018-09-02,t,175.0,0 397 | 65834,2018-09-01,t,180.0,0 398 | 65834,2018-08-31,t,180.0,1 399 | 65834,2018-08-30,t,175.0,1 400 | 65834,2018-08-29,t,175.0,1 401 | 65834,2018-08-28,t,175.0,1 402 | 65834,2018-08-27,t,175.0,1 403 | 65834,2018-08-26,t,175.0,0 404 | 65834,2018-08-25,t,180.0,0 405 | 65834,2018-08-24,t,180.0,1 406 | 65834,2018-08-23,t,175.0,1 407 | 65834,2018-08-22,t,175.0,1 408 | 65834,2018-08-21,t,175.0,1 409 | 65834,2018-08-20,t,175.0,1 410 | 65834,2018-08-19,t,175.0,0 411 | 65834,2018-08-18,t,180.0,0 412 | 65834,2018-08-17,t,180.0,1 413 | 65834,2018-08-16,t,175.0,1 414 | 65834,2018-08-15,t,175.0,1 415 | 65834,2018-08-14,t,175.0,1 416 | 65834,2018-08-13,t,175.0,1 417 | 65834,2018-08-12,t,175.0,0 418 | 65834,2018-08-11,t,180.0,0 419 | 65834,2018-08-10,t,180.0,1 420 | 65834,2018-08-09,t,175.0,1 421 | 65834,2018-08-08,t,175.0,1 422 | 65834,2018-08-07,t,175.0,1 423 | 65834,2018-08-06,t,175.0,1 424 | 65834,2018-08-05,t,175.0,0 425 | 65834,2018-08-04,t,180.0,0 426 | 65834,2018-08-03,t,180.0,1 427 | 65834,2018-08-02,t,175.0,1 428 | 65834,2018-08-01,t,175.0,1 429 | 65834,2018-07-31,t,175.0,1 430 | 65834,2018-07-30,t,175.0,1 431 | 65834,2018-07-29,t,175.0,0 432 | 65834,2018-07-28,t,180.0,0 433 | 65834,2018-07-27,t,180.0,1 434 | 65834,2018-07-26,t,175.0,1 435 | 65834,2018-07-25,t,175.0,1 436 | 65834,2018-07-24,t,175.0,1 437 | 65834,2018-07-23,t,175.0,1 438 | 65834,2018-07-22,t,175.0,0 439 | 65834,2018-07-21,t,180.0,0 440 | 65834,2018-07-17,t,175.0,1 441 | 65834,2018-07-16,t,175.0,1 442 | 65834,2018-07-15,t,175.0,0 443 | 65834,2018-07-14,t,180.0,0 444 | 65834,2018-07-13,t,180.0,1 445 | 65834,2018-07-12,t,175.0,1 446 | 65834,2018-07-11,t,175.0,1 447 | 65834,2018-07-10,t,175.0,1 448 | 65834,2018-07-09,t,175.0,1 449 | 65834,2018-07-08,t,175.0,0 450 | 65834,2018-07-07,t,180.0,0 451 | 65834,2018-07-06,t,180.0,1 452 | 65834,2018-07-05,t,175.0,1 453 | 65834,2018-07-04,t,175.0,1 454 | 65834,2018-07-03,t,175.0,1 455 | 65834,2018-07-02,t,175.0,1 456 | 65834,2018-07-01,t,175.0,0 457 | 65834,2018-06-30,t,180.0,0 458 | 65834,2018-06-29,t,180.0,1 459 | 65834,2018-06-28,t,175.0,1 460 | 65834,2018-06-27,t,175.0,1 461 | 65834,2018-06-26,t,175.0,1 462 | 65834,2018-06-25,t,175.0,1 463 | 65834,2018-06-24,t,175.0,0 464 | 65834,2018-06-23,t,180.0,0 465 | 65834,2018-06-22,t,180.0,1 466 | 65834,2018-06-21,t,175.0,1 467 | 65834,2018-06-20,t,175.0,1 468 | 65834,2018-06-19,t,175.0,1 469 | 65834,2018-06-18,t,175.0,1 470 | 65834,2018-06-17,t,175.0,0 471 | 65834,2018-06-16,t,180.0,0 472 | 65834,2018-06-15,t,180.0,1 473 | 65834,2018-06-14,t,175.0,1 474 | 65834,2018-06-13,t,175.0,1 475 | 65834,2018-06-12,t,175.0,1 476 | 65834,2018-06-11,t,175.0,1 477 | 65834,2018-06-10,t,175.0,0 478 | 65834,2018-06-09,t,180.0,0 479 | 65834,2018-06-08,t,180.0,1 480 | 65834,2018-06-07,t,175.0,1 481 | 65834,2018-06-06,t,175.0,1 482 | 65834,2018-06-05,t,175.0,1 483 | 65834,2018-06-04,t,175.0,1 484 | 65834,2018-06-03,t,175.0,0 485 | 65834,2018-06-02,t,180.0,0 486 | 65834,2018-06-01,t,180.0,1 487 | 65834,2018-05-31,t,175.0,1 488 | 65834,2018-05-30,t,175.0,1 489 | 65834,2018-05-29,t,175.0,1 490 | 65834,2018-05-28,t,175.0,1 491 | 65834,2018-05-27,t,175.0,0 492 | 65834,2018-05-26,t,180.0,0 493 | 65834,2018-05-25,t,180.0,1 494 | 65834,2018-05-24,t,175.0,1 495 | 65834,2018-05-23,t,175.0,1 496 | 65834,2018-05-22,t,175.0,1 497 | 65834,2018-05-21,t,175.0,1 498 | 65834,2018-05-20,t,175.0,0 499 | 65834,2018-05-19,t,180.0,0 500 | 65834,2018-05-18,t,180.0,1 501 | 65834,2018-05-17,t,175.0,1 502 | 65834,2018-05-16,t,175.0,1 503 | 65834,2018-05-15,t,175.0,1 504 | 65834,2018-05-14,t,175.0,1 505 | 65834,2018-05-13,t,175.0,0 506 | 65834,2018-05-12,t,180.0,0 507 | 65834,2018-05-11,t,180.0,1 508 | 65834,2018-05-10,t,175.0,1 509 | 65834,2018-05-09,t,175.0,1 510 | 65834,2018-05-08,t,175.0,1 511 | 65834,2018-05-07,t,175.0,1 512 | 65834,2018-05-06,t,175.0,0 513 | 65834,2018-05-05,t,180.0,0 514 | 65834,2018-05-04,t,180.0,1 515 | 65834,2018-05-03,t,175.0,1 516 | 65834,2018-05-02,t,175.0,1 517 | 65834,2018-05-01,t,175.0,1 518 | 65834,2018-04-30,t,175.0,1 519 | 65834,2018-04-29,t,175.0,0 520 | 65834,2018-04-28,t,180.0,0 521 | 65834,2018-04-27,t,180.0,1 522 | 65834,2018-04-26,t,175.0,1 523 | 65834,2018-04-25,t,175.0,1 524 | 65834,2018-04-24,t,175.0,1 525 | 65834,2018-04-23,t,175.0,1 526 | 65834,2018-04-22,t,175.0,0 527 | 65834,2018-04-21,t,180.0,0 528 | 65834,2018-04-20,t,180.0,1 529 | 65834,2018-04-19,t,175.0,1 530 | 65834,2018-04-18,t,175.0,1 531 | 65834,2018-04-17,t,175.0,1 532 | 65834,2018-04-16,t,175.0,1 533 | 65834,2018-04-15,t,175.0,0 534 | 65834,2018-04-14,t,180.0,0 535 | 65834,2018-04-13,t,180.0,1 536 | 65834,2018-04-12,t,175.0,1 537 | 65834,2018-04-11,t,175.0,1 538 | 65834,2018-04-10,t,175.0,1 539 | 65834,2018-04-09,t,175.0,1 540 | 65834,2018-04-08,t,175.0,0 541 | 65834,2018-04-07,t,180.0,0 542 | 65834,2018-04-06,t,180.0,1 543 | 65834,2018-04-05,t,175.0,1 544 | 65834,2018-04-04,t,175.0,1 545 | 65834,2018-04-03,t,175.0,1 546 | 65834,2018-04-02,t,175.0,1 547 | 65834,2018-04-01,t,175.0,0 548 | 65834,2018-03-31,t,180.0,0 549 | 65834,2018-03-30,t,180.0,1 550 | 65834,2018-03-29,t,175.0,1 551 | 65834,2018-03-28,t,175.0,1 552 | 65834,2018-03-27,t,175.0,1 553 | 65834,2018-03-26,t,175.0,1 554 | 65834,2018-03-25,t,175.0,0 555 | 65834,2018-03-24,t,180.0,0 556 | 65834,2018-03-23,t,180.0,1 557 | 65834,2018-03-22,t,175.0,1 558 | 65834,2018-03-21,t,175.0,1 559 | 65834,2018-03-20,t,175.0,1 560 | 65834,2018-03-19,t,175.0,1 561 | 65834,2018-03-18,t,175.0,0 562 | 65834,2018-03-17,t,180.0,0 563 | 65834,2018-03-16,t,180.0,1 564 | 65834,2018-03-15,t,175.0,1 565 | 65834,2018-03-14,t,175.0,1 566 | 65834,2018-03-13,t,175.0,1 567 | 65834,2018-03-12,t,175.0,1 568 | 65834,2018-03-11,t,175.0,0 569 | 65834,2018-03-10,t,180.0,0 570 | 65834,2018-03-09,t,180.0,1 571 | 65834,2018-03-08,t,175.0,1 572 | 65834,2018-03-07,t,175.0,1 573 | 65834,2018-03-06,t,175.0,1 574 | 65834,2018-03-05,t,175.0,1 575 | 65834,2018-03-04,t,175.0,0 576 | 65834,2018-03-03,f,177.0,0 577 | 65834,2018-03-02,f,176.0,1 578 | 65834,2018-03-01,f,175.2,1 579 | 65834,2018-02-28,f,175.24,1 580 | 65834,2018-02-27,f,175.288,1 581 | 65834,2018-02-26,f,175.34560000000002,1 582 | 65834,2018-02-25,f,177.4,0 583 | 65834,2018-02-24,f,176.88,0 584 | 65834,2018-02-23,f,175.41472000000002,1 585 | 65834,2018-02-22,f,175.297664,1 586 | 65834,2018-02-21,f,175.3171968,1 587 | 65834,2018-02-20,f,175.33263616000002,1 588 | 65834,2018-02-19,f,175.341563392,1 589 | 65834,2018-02-18,f,177.256,0 590 | 65834,2018-02-17,f,176.7072,0 591 | 65834,2018-02-16,f,175.3407560704,1 592 | 65834,2018-02-15,f,175.32596328448,1 593 | 65834,2018-02-14,f,175.33162314137599,1 594 | 65834,2018-02-13,f,175.3345084096512,1 595 | 65834,2018-02-12,f,175.33488285958146,1 596 | 65834,2018-02-11,f,177.04863999999998,0 597 | 65834,2018-02-10,f,177.05836799999997,0 598 | 65834,2018-02-09,f,175.33354675309775,1 599 | 65834,2018-02-08,f,175.33210488963726,1 600 | 65834,2018-02-07,f,175.3333332106687,1 601 | 65834,2018-02-06,f,175.33367522452724,1 602 | 65834,2018-02-05,f,175.33350858750248,1 603 | 65834,2018-02-04,f,176.99004159999998,0 604 | 65834,2018-02-03,f,177.01204991999998,0 605 | 65834,2018-02-02,f,175.3332337330867,1 606 | 65834,2018-02-01,f,175.3331711290845,1 607 | 65834,2018-01-31,f,175.33338437697392,1 608 | 65834,2018-01-30,f,175.33339461023496,1 609 | 65834,2018-01-29,f,175.33333848737652,1 610 | 65834,2018-01-28,f,176.963259904,0 611 | 65834,2018-01-27,f,177.0144718848,0 612 | 65834,2018-01-26,f,175.3333044673513,1 613 | 65834,2018-01-25,f,175.33331861420425,1 614 | 65834,2018-01-24,f,175.3333481112282,1 615 | 65834,2018-01-23,f,175.33334085807905,1 616 | 65834,2018-01-22,f,175.33333010764787,1 617 | 65834,2018-01-21,f,177.00763826175998,0 618 | 65834,2018-01-20,f,176.99749231411198,0 619 | 65834,2018-01-19,f,175.3333284317021,1 620 | 65834,2018-01-18,f,175.3333332245723,1 621 | 65834,2018-01-17,f,175.33333614664588,1 622 | 65834,2018-01-16,f,175.33333375372945,1 623 | 65834,2018-01-15,f,175.33333233285953,1 624 | 65834,2018-01-14,f,176.99898245693439,0 625 | 65834,2018-01-13,f,176.99636896432128,0 626 | 65834,2018-01-12,f,175.33333277790183,1 627 | 65834,2018-01-11,f,175.3333336471418,1 628 | 65834,2018-01-10,f,175.33333373165573,1 629 | 65834,2018-01-09,f,175.33333324865765,1 630 | 65834,2018-01-08,f,175.33333314764332,1 631 | 65834,2018-01-07,f,177.0029907763855,0 632 | 65834,2018-01-06,f,177.00069455470262,0 633 | 65834,2018-01-05,f,175.33333331060007,1 634 | 65834,2018-01-04,f,175.33333341713973,1 635 | 65834,2018-01-03,f,175.3333333711393,1 636 | 65834,2018-01-02,f,175.33333329903604,1 637 | 65834,2018-01-01,f,175.33333330911168,1 638 | 65834,2017-12-31,f,176.99930581329116,0 639 | 65834,2017-12-30,f,176.999668513127,0 640 | 65834,2017-12-29,f,175.33333334140536,1 641 | 65834,2017-12-28,f,175.33333334756645,1 642 | 65834,2017-12-27,f,175.33333333365175,1 643 | 65834,2017-12-26,f,175.33333332615425,1 644 | 65834,2017-12-25,f,175.3333333315779,1 645 | 65834,2017-12-24,f,176.99980572436553,0 646 | 65834,2017-12-23,f,177.00049307637434,0 647 | 65834,2018-07-20,t,180.0,1 648 | 65834,2018-07-19,t,175.0,1 649 | 65834,2018-07-18,t,175.0,1 650 | 65834,2017-12-22,f,176.13333333154642,1 651 | 65834,2017-12-21,f,176.29333333262485,1 652 | 65834,2017-12-20,f,176.48533333283427,1 653 | 65834,2017-12-19,f,175.7823999994011,1 654 | 65834,2017-12-18,f,175.93887999928134,1 655 | 65834,2017-12-17,f,176.99999353637213,0 656 | 65834,2017-12-16,f,176.99985333270604,0 657 | 65834,2017-12-15,f,176.1266559991376,1 658 | 65834,2017-12-14,f,176.12532053265582,1 659 | 65834,2017-12-13,f,176.09171797266202,1 660 | 65834,2017-12-12,f,176.01299490062758,1 661 | 65834,2017-12-11,f,176.05911388087284,1 662 | 65834,2017-12-10,f,176.99996283658902,0 663 | 65834,2017-12-09,f,177.0000217012814,0 664 | 65834,2017-12-08,f,176.08316065719117,1 665 | 65834,2017-12-07,f,176.07446158880188,1 666 | 65834,2017-12-06,f,176.06428980003108,1 667 | 65834,2017-12-05,f,176.05880416550494,1 668 | 65834,2017-12-04,f,176.06796601848038,1 669 | 65834,2017-12-03,f,177.00006489666458,0 670 | 65834,2017-12-02,f,176.99997926072265,0 671 | 65834,2017-12-01,f,176.06973644600188,1 672 | 65834,2017-11-30,f,176.067051603764,1 673 | 65834,2017-11-29,f,176.06556960675647,1 674 | 65834,2017-11-28,f,176.06582556810153,1 675 | 65834,2017-11-27,f,176.06722984862088,1 676 | 65834,2017-11-26,f,176.99997640559275,0 677 | 65834,2017-11-25,f,177.00000102017006,0 678 | 65834,2017-11-24,f,176.06708261464894,1 679 | 65834,2017-11-23,f,176.06655184837837,1 680 | 65834,2017-11-22,f,176.06645189730122,1 681 | 65834,2017-11-21,f,176.0666283554102,1 682 | 65834,2017-11-20,f,176.0667889128719,1 683 | 65834,2017-11-19,f,177.0000086568863,0 684 | 65834,2017-11-18,f,177.00000604800726,0 685 | 65834,2017-11-17,f,176.06670072572214,1 686 | 65834,2017-11-16,f,176.06662434793677,1 687 | 65834,2017-11-15,f,176.06663884784845,1 688 | 65834,2017-11-14,f,176.0666762379579,1 689 | 65834,2017-11-13,f,176.06668581446743,1 690 | 65834,2017-11-12,f,176.99999427827578,0 691 | 65834,2017-11-11,f,176.99999728178645,0 692 | 65834,2017-11-10,f,176.0666651947865,1 693 | 65834,2017-11-09,f,176.0666580885994,1 694 | 65834,2017-11-08,f,176.06666483673195,1 695 | 65834,2017-11-07,f,176.06667003450866,1 696 | 65834,2017-11-06,f,176.0666687938188,1 697 | 65834,2017-11-05,f,177.00000145702518,0 698 | 65834,2017-11-04,f,177.0000015443962,0 699 | 65834,2017-11-03,f,176.06666538968906,1 700 | 65834,2017-11-02,f,176.06666542866958,1 701 | 65834,2017-11-01,f,176.0666668966836,1 702 | 65834,2017-10-31,f,176.06666730867394,1 703 | 65834,2017-10-30,f,176.066666763507,1 704 | 65834,2017-10-29,f,177.00000012189818,0 705 | 65834,2017-10-28,f,176.99999893667638,0 706 | 65834,2017-10-27,f,176.06666635744463,1 707 | 65834,2017-10-26,f,176.06666655099576,1 708 | 65834,2017-10-25,f,176.066666775461,1 709 | 65834,2017-10-24,f,176.06666675121647,1 710 | 65834,2017-10-23,f,176.06666663972496,1 711 | 65834,2017-10-22,f,176.9999998683565,0 712 | 65834,2017-10-21,f,177.0000003856705,0 713 | 65834,2017-10-20,f,176.06666661496854,1 714 | 65834,2017-10-19,f,176.06666666647334,1 715 | 65834,2017-10-18,f,176.06666668956888,1 716 | 65834,2017-10-17,f,176.06666667239043,1 717 | 65834,2017-10-16,f,176.06666665662522,1 718 | 65834,2017-10-15,f,177.00000017139956,0 719 | 65834,2017-10-14,f,176.99999989680023,0 720 | 65834,2017-10-13,f,176.0666666600053,1 721 | 65834,2017-10-12,f,176.06666666901265,1 722 | 65834,2017-10-11,f,176.06666666952052,1 723 | 65834,2017-10-10,f,176.0666666655108,1 724 | 65834,2017-10-09,f,176.06666666413489,1 725 | 65834,2017-10-08,f,176.99999985178061,0 726 | 65834,2017-10-07,f,177.0000000348015,0 727 | 65834,2017-10-06,f,176.06666666563686,1 728 | 65834,2017-10-05,f,176.06666666676313,1 729 | 65834,2017-10-04,f,176.06666666631324,1 730 | 65834,2017-10-03,f,176.0666666656718,1 731 | 65834,2017-10-02,f,176.066666665704,1 732 | --------------------------------------------------------------------------------