Python机器学习代写｜COMP1682 Final Year Project
这是一篇来自英国的关于Project名称为：网上物业代理和估价系统，使用Python机器学习（Online Property Agency and Valuation System using the Python Machine Learning）的Python机器学习代写
This project aims to develop an “Online Property Agency and Valuation System using the Python Machine Learning” for a newly established property consultancy company. This system consists of two main parts: one is related to the property agency and the other is related to property valuation. A database was developed for storing and managing all property agency-related records. It consists of the property, transaction, client, staff and login tables. A website was developed for users to perform various database management functions. For security reasons, external users are allowed to add a new property and search for a property only, whereas authorised internal users are allowed to perform the pre-set database management functions. As such, the website consists of the “Add New Property” and “Search Property” pages for uses by external users (login not required) and the “Manage Property” page for uses by internal users (login required). Together with the “Home” page, these pages provide online property agency services.
Besides developing the property agency system, this study also explores “whether and how artificial intelligence can be applied in property valuation”. This study reviewed the problems in expert-based, online and AI-based valuation systems. This study also reviewed two AI approaches: regression under machine learning and neural network under deep learning. This study also reviewed common machine and deep learning libraries and AI platforms. Scikit-learn was used to build the AI regression model. In total, 288 data were collected from City One Shatin. 80% (i.e. 230) of the data was used for training and 20% data for testing. The mean error of the prediction was 2.19%. This result is comparable with an expert’s valuation. Due to the data limitation, this study applies to City One Shatin only. The same machine learning approach may equally apply to other districts if sufficient data are available. The website consists of an “AI-based Property Valuation” page for users to input essential data for property valuation purposes.
To further enhance the services, the website consists of a “Mortgage Calculator” page for users to calculate the monthly mortgage payment. Users do not need to find a bank/financial institution to help them assess their affordability when considering buying a property.
In conclusion, as demonstrated above, this study has accomplished its original aim and objectives. As there are limited previous studies on the application of AI in property valuation, this study contributes significantly to both the property and AI sectors in theory and practice.
I have not started my new career, and have limited practical experience, in the computer field. What I could do in the project was largely based on what I learned from studying various courses in NCC and UOG. I started this project half a year ago but progressed slowly due to various problems encountered. I have considered to give up this final task. With the great encouragement given by Mr Dannis Mok and other staff members, I eventually completed this project. Therefore, I am very grateful for their advice, comment and support throughout this study.
While I can develop a back-end database and front-end website, this project requires the application of one new computer language or technology. This created certain difficult for me. Fortunately, when I studied for my post-graduate degree, I learned many topics in advanced statistics. This is the foundation of many modern AI and data science theories and applications like regression, classification and clustering. I learned Python and its application in machine learning. My previous study in statistics lets me understand many complicated AI algorithms. I tried to apply supervised machine learning to property valuation. Nevertheless, the road was not smooth. Again, thank for staff’s encouragement, I kept on working in past months and completed this project.
Chapter 1 – Introduction
This project aims to develop an “Online Property Agency and Valuation System using the Python Machine Learning” for a newly established company. The company founder is a professionally qualified valuer with over 30 years of experience. He recently plans to establish his own property consultancy firm. As a professional and experienced surveyor, he can offer a wide range of professional services, including land acquisition, property planning, project management, and sale and lease of the completed project. However, as a starting point, he would like to focus his business on property agency and valuation services.
While the company founder has a very good experience in the property sector, he realizes that it is not easy to succeed in this business due to the fierce market competition. A large number of competitors exist in the market. Some are large publicly listed property agency companies such as Ricacorp Properties, Midland Realty, Centaline Property, etc. They have branch shops located in most districts. Some are small to medium-sized companies such as Okay Real Estate Agency, House 730 and Professional Properties, etc. They have one or a few branch shops operating in selected district areas. Another problem is the low barrier to entry into the property agency market.
Large property agency companies set up their shops in many districts. They aim to provide services closer to clients. This business strategy is similar to the retail banking industry; for instance, the Hongkong Bank and Standard Chartered Bank have over 400 and 100 branches respectively. However, as the staffing and rental costs have escalated over past years, this business model becomes very expensive. Instead setting up physical shops, many companies leverage the online property agency platform to extend their business coverage areas. Indeed, this kind of online platform has reshaped the industry operation by providing faster and more transparent services. The property owner who wishes to sell and lease their property can directly upload their property details through the online property agency platform. The property purchaser or renter can search for their preferred properties from the same platform. This facilitates both the seller and buyer to reach a transaction faster than the traditional operation. More importantly, this operation significantly reduces the staffing and rental costs. Therefore, both large and small property agency companies have developed their online property agency systems. This becomes an essential function in nearly all property agency company websites.
In order to create a competitive advantage, the company founder identified two value-added services in the online property agency system. The first is the AI-based property valuation and the second is the mortgage calculation. Traditionally, property valuation is done by a qualified surveyor who works either in a property consultancy firm or a bank/financial institution. Besides objectively relying on current transactions of comparable properties, it also subjectively relies on the surveyor’s judgement on other factors affecting the property value. Therefore, the company founder wishes to explore whether property valuation can be done by an artificial intelligent so that both the seller and buyer carries out a valuation of his/her property through the online platform. If the property valuation does not rely on third party’s judgement, it becomes more objective and avoids any potential human errors.
Many buyers need to finance their property purchase price through a mortgage loan. Traditionally, when the negotiation between the seller and buyer reaches the final stage, the buyer will enquire a bank/financial institution about the mortgage facility. They then calculate the mortgage payment based on the borrower’s affordability. If the approved mortgage loan is less than the expected amount, it may waste the time and effort of all parties involved. Therefore, if the online property agency system can provide a mortgage calculation function, the buyer can assess the amount of mortgage payment at any time. This helps the buyer assess their repayment ability. By providing the above two additional services, the company can provide more comprehensive services to potential clients.
1.2 Aims and Objectives
In response to the business problem identified above, the primary aim of this project is to develop an “Online Property Agency and Valuation System using ” for a newly established company for the provision of property consultancy services.
To accomplish the aforesaid aims, this project comprises the following objectives:
- To identify the day-to-day operation of the property agency operation and critically compare it with the online property agency systems available in the market;
- To collect, analyse and establish the essential functionalities of an online property agency system according to user’s requirements, including its prioritization and timeboxing;
- To develop a database for managing the available properties on sale/lease, completed transactions, clients and other related administrative records;
- To develop a mortgage calculation function for users to calculate the monthly mortgage payment;
- To explore to use artificial intelligence in property valuation, including the review of relevant AI literature, popular libraries used for AI system development, comparison of AI platforms available in the market and the development of a prototype based on the Python machine learning;
- To develop an interactive website for the use by external users (without login) and internal users/administrators (with login);
- To demonstrate and test the developed prototypes based on the sample data provided by the users; and
- To conduct a usability evaluation of the new system.
There are different information system analysis and design methodologies available for the development of the above project. Each methodology has its unique features and focus, creating advantages and demerits for different situations. One of the popular methodologies is the hard approach which takes a more structured approach to the information system analysis and follows a rational sequence of steps as well as standards, guidelines and rules. The hard approach includes several methodologies such as the rapid analysis and design (RAD), dynamic systems development method (DSDM) Agile, structured systems analysis and design methodology (SSADM), etc.
Among various hard approaches, it is considered that the DSDM Agile approach is the most appropriate approach for this project because it focuses on the actual business needs of the company, collaborates and communicates continuously with stakeholders throughout the project lifecycle, prioritizes the user’s requirements to enable it to be delivered on time, builds incrementally and develops iteratively to reduce an incorrect solution, and provides better control of the project quality. It is more likely that the stakeholders feel ownership of the final solution.
1.4 Justifications of the Methodology
The online property agency system is developed for a newly established company. As the company will heavily rely on this online system, it should be completed as soon as possible for use by both external users (i.e. the public) and internal users (i.e. staff). This is one of the key considerations for choosing the appropriate development methodology. If the traditional SSADM waterfall methodology is adopted, the timeframe for the whole project will last for six or more months. This is not desirable as it would significantly affect the company’s operation. Therefore, it is justifiable to adopt the DSDM Agile methodology because all project requirements can be prioritized and divided into several timeboxes. The first timebox should only include those essential requirements which must be completed within 8 weeks. Once completed, this enables the company to operate their normal business. The subsequent timeboxes can cover the remaining parts of the system.
Some requirements can only be carried out at a later stage of the development. One example is the past property transaction records. The company needs to take considerable time to collect these past records. Therefore, if the DSDM Agile methodology is adopted, these records, together with relevant functions, can be developed in the subsequent timeboxes. Indeed, it is not unusual that the users, after their second thought, may modify their original requirements. The Agile methodology provides an opportunity to correct the initial solution by developing the subsequent timeboxes iteratively.
Chapter 2 – Literature Review
2.1 Literature Review Approach