Property Rental Price Prediction Using the Extreme Gradient Boosting Algorithm

Online marketplace in the field of property renting like Airbnb is growing. Many property owners have begun renting out their properties to fulfil this demand. Determining a fair price for both property owners and tourists is a challenge. Therefore, this study aims to create a software that can create a prediction model for property rent price. Variable that will be used for this study is listing feature, neighbourhood, review, date and host information. Prediction model is created based on the dataset given by the user and processed with Extreme Gradient Boosting algorithm which then will be stored in the system. The result of this study is expected to create prediction models for property rent price for property owners and tourists consideration when considering to rent a property. In conclusion, Extreme Gradient Boosting algorithm is able to create property rental price prediction with the average of RMSE of 10.86 or 13.30%.


1.Introduction
The online marketplace in the property rental sector is growing. One of the platforms from the online marketplace in the property rental sector is Airbnb which has more than 150 million users, 650 thousand property owners and more than 6 million properties that have been registered in 2019 [1]. With these figures, Airbnb has managed to attract attention not only to tourists as an alternative lodging place, but also to property owners as a source of additional income [12].
The more users on sites like Airbnb, the more things to consider when pricing the properties being offered [12]. Therefore, determining competitive rental rates is a challenging issue. [9]. This study aims to create a software that can be used to predict property rental prices based on the given dataset. In this study, the data used to build the model came from the Inside Airbnb project, a project that collects data from the Airbnb page. The variables that will be used in this research are house features, environment, reviews, date and property owner information, according to the variables in the data source. Then the prediction model will be made using the Extreme Gradient Boosting algorithm. The author chose this algorithm because it has been proven to have the ability to win various competitions [3].

Data Mining
Data mining is a step used to analyze a knowledge from a database or Knowledge Discovery in Databases [5]. Knowledge in databases can be found after going through the data cleaning process, data integration, data selection, data transformation, and data mining [4].

Data Collection
Data collection is the process of collecting data and measuring information about the variables in question in a systematic way that is well established and allows to answer the questions stated, test hypotheses and evaluate the results [11].

Data Preprocessing
Data preprocessing is needed to avoid problems that exist in data before processing such as missing data, data type errors, inconsistent data and others [10].

a. Correlation Analysis
Correlation analysis is a statistical analysis technique used to find the relationship between two variables [6]. Correlation analysis is used for feature selection process. Feature Selection is a technique used to reduce data dimensions by selecting relevant features for better learning performance [13].
There are several ways to analyze correlation, namely the theory of Pearson, Spearman and Kendall. Pearson correlation is used to measure the correlation between two continuous variables. Spearman correlation is used to assess the relationship between variables which are ordinal data [15]. While Kendall's correlation is used to measure the correlation between two variables which is ordinal data [6].

b. Data Cleaning
The definition of data cleaning is the process of preparing and selecting existing data through the analysis and processing of data which can affect the results [10]. The data cleaning process that will be carried out in this study is as follows.

1.
Change data types on features.
2. Fill in the empty value with the appropriate value. 3. Deleting data that is too different from other data (outliers). 4. Remove features that are not relevant to the Machine Learning process.

Converts boolean values into binary numbers. c. Data Aggregation
Data aggregation is a process in which raw data is collected and summarized in the form of statistical analysis [8].

d. Data Standardization
Data standardization is the process of giving standards to feature or attribute values so that data does not interfere with the computer learning process [7].

Extreme Gradient Boosting
Extreme Gradient Boosting, commonly known as XGBoost, is a development algorithm for Gradient Boosting that is more efficient and scalable [2]. Gradient boosting or gradient boosted tree is one of the algorithms used in solving supervised learning problems, where training data is used to predict the objective variables [3]. XGBoost provides linear model algorithms and tree learning which are efficient and capable of producing predictive models [2].
The basic model of XGBoost is a decision tree ensembles, an algorithm that contains a number of regression trees. The way this algorithm works is by adding the value of each tree for each variable so that it can generate a mathematical model like this where k is the number of trees, f is a function in functional space F and F is the set of all trees [3].
That way it can produce general objective functions that need to be optimized In the Extreme Gradient Boosting algorithm, there are important feature terms that are obtained from the importance value of each feature. The more often a feature is used to make decisions in a decision tree, the higher its value. The main calculation of feature importance is the weight which indicates how important a feature is in creating a new branch. The importance of a feature changes based on how far the predictions change if a feature is replaced by another feature [14].

3.Method
The research begins with the data collection stage that will be used for research or the data collection stage. The data used came from the Inside Airbnb project, namely the Singapore Airbnb data taken on September 25, 2019. Based on the variables used in this study, the initial data was taken from the listings, listings-details and reviews-details dataset. The data is combined into one dataset by doing feature selection first. The variables contained in the dataset are property features, neighborhood, reviews, date and property owner information.
The data will go through the data preprocessing stage where the data will be prepared to be used in the machine learning process. The first stage is to combine the dataset into one through the merge process. Data that has been merged has 107 features and 104725 rows. There are several features that have no effect on predictions such as id, listing id and reviewer_id that will be deleted. Once deleted, the data will have 53 features. In addition, there is one feature that can be divided into several features such as the amenities feature. New features are created based on random selection on the value of amenities features which have a total of 85,000, namely Laptop_friendly_workspace, TV, Microwave, Dishes and Silverware, Hot_water, Family_kid_friendly.
The feature selection stage is the selection of features from the data that will be used in the study. These features are selected based on correlation. Features that have a correlation above 0.9 will be removed because they have a similar effect to the other dependent variables. The final result of the dataset is 47 features.
Data cleaning is the process of removing or replacing values from data that have null values or are outliers. In the dataset, null data comes from features that describe reviews as well as prices. Then the null data is filled with a value of 0 and other data that has null data is filled with the average of these features. In addition to filling in null data, the comments feature is changed with polarity values, all data types are changed to Float, the date feature is separated into day, month and year.
Data Standardization is the process of assigning a certain value to each feature dataset. In the dataset, there are some data that need to be changed in value first. Categorical data is converted into numbers using the Label Encoding method and then the values will be separated into new features using the One Hot Encoding method. Label Encoding is a method used to convert categorical data into integers while One Hot Encoding is used to separate categorical data with nominal properties into separate features based on its value. Data Aggregation is the process of converting raw data into a summary form that can be used for further data analysis. The data will be analyzed to understand the contents of the data in more detail. Then the feature_importance function of XGBoost will be carried out to find out which features have the highest value for rental price predictions based on the data provided.
The data that has been prepared is divided into two data frames, namely X and Y which contain independent variables and contain dependent variables. The two dataframes are then divided into train data and test data with a ratio of 80:20 using the train_test_split function. The next step is to create an XGBoost class and prepare the fixed parameters and parameters that will go through the hyper-parameter tuning process. Fixed parameter is the early_stopping_rounds parameter which is 10, eval_metric is RMSE and the test dataset. Parameters that are searched for through the hyper-parameter tuning process are learning_rate, max_depth, gamma, colsample_bytree and n_estimators. Hyper-parameter tuning is performed using the RandomizedSearchCV function and the results will replace the original model that was created. The model that has been filled with parameters from the hyper-parameter tuning will go through the fitting and training process.
To generate a score from the model, 10 fold cross validation was performed using the KFold function. After that, the resulting model will be saved as a pickle file along with the resulting decision tree. Researchers will use RMSE to conduct model assessments. In this study, the average RMSE value is expected not to exceed 25.
Based on the results of implementing the XGBoost algorithm on the Airbnb Singapore dataset, it was obtained a value of 0.94. This value is obtained after the model goes through the cross-validation process between the train and test data. From this model can visualize 10 features that have Feature Importance value using the highest weight calculation which can be seen in Figure 1. The model that has been created will be implemented into a website that has two features, namely Predict and Add Data. The Predict feature functions to predict property rental prices based on predetermined input. The Prediction Model used will be adjusted based on the location of the property. The Add Data feature serves to give users the ability to upload their own dataset to produce a prediction model according to the given dataset. The flow of the Predict and Add Data features can be seen in Figures 2 and 3.

4.Results
Based on the model that has been created, tests are carried out in predicting rental prices using data taken from the testing dataset. The test results can be seen in Table 1.

5.Conclusion
In this paper, we have presented Property rental price prediction model Extreme Gradient Boosting algorithm is able to create property rental price prediction with the average of RMSE of 10.86 or 13.30%. The highest RMSE is 38.49% on test 8 and the lowest RMSE is 0.99% on test 7.