Car dealership web application - Yap, Jheng Khin (2022)

(untitled)
In countries like the US and Europe, explainable AI and AI monitoring had become well-received as commercial companies would soon be mandated to assess AI model risk and continuously review AI systems [1]. Thus, explainable AI and AI monitoring become the integral components for any new development of commercial applications, including used car dealership web application. In this project, a web application and a web service were proposed and implemented. The used car dealership web application was implemented with ASP.NET Core. The web application was published and deployed to the Azure App Service. At the same time, the application data was seeded to the Azure SQL Database by applying the Entity Framework Core migrations. The web service performed model explaining and monitoring by querying the application data from the Azure SQL Database. In the web service, adaptive random forest regressor and classifier, which were implemented by third-party River Python library, were used to train models that automatically detected and adapted to drift over time. Tree SHAP, which was implemented by third-party SHAP Python library, were used in model monitoring and made the models interpretable. Explainable models could enhance business value and application users’ trusts in machine learning with the aid of effective visualizations like beeswarm plots. On the other hand, the data scientists could monitor and debug the models using a SHAP monitoring function, which was improved by the author, with the aid of effective visualizations like model loss bar plot. By making two initially incompatible Python libraries interoperable, the web service enhanced the functionalities of lead management application module and car inventory application module with car price analytics and lead scoring analytics, respectively. Besides, it was observed that the initial performance of a model that was trained on one data instance at a time could never be as good as a model that was trained on the whole batch of the training set at one time. Hence, two transfer learning algorithms were proposed and implemented to provide initial performance boost to the River adaptive random forest regressor and classifier, respectively. The transfer learning algorithm pre-trained the River adaptive random forest regressor and classifier by transferring the tree structures and weights from the Scikit-learn fitted random forest regressor and classifier, respectively. Validations were conducted to prove the correctness of the transfer learning algorithm. Experiment results proved that the offline performance of pre-trained adaptive random forest models was always as good as or better than traditional random forest models. The experiments also proved that the adaptive random forest models performed better than the traditional random forest models under the influence of drift.