IIIT Hyderabad Publications |
|||||||||
|
Software Engineering practices for building MLware applications - creditrisk evaluation case studyAuthor: BHATORE SIDDHARTH Date: 2020-10-16 Report no: IIIT/TH/2020/87 Advisor:Raghu Reddy AbstractMLWare applications is an upcoming term used to refer to Software applications that use MachineLearning approaches/algorithms (in part) to address the application’s objective. The development andutilization of such applications is growing rapidly in every major sector with the increase in speedand volume of data collection/analysis. These applications tend to be complex and hence maintainingthem can be a difficult task. The complexity of the applications may be due to the inherent complexityof algorithms used or may be accidental due to the structural and dynamic relationships between thevarious sub-systems of the application. Maintaining such complex systems can a difficult task as thereare challenges such as comprehension of complex code base, lack of documentation, lack of supporttools, etc. Furthermore, such applications tend to be algorithm centric. As a result, there is a lack ofsoftware engineering rigour associated with building such applications.Researchers have started to work on integrating software engineering practices while buildingMLware applications. Applying software engineering practices, specifically pattern based approachesfor the development of MLware applications can potentially improve reliability, robustness,extensibility, scalability and other such quality attributes. Another problem with MLware applicationsis the need for an explanation associated with the decisions arrived at during various stages. This isdifficult as some Machine Learning models are black-box models and hence explainability is a difficultcharacteristic to achieve.In this thesis, developing maintainable, scalable, and explainable MLware applications usingsoftware engineering practices is described and a proof of concept implementation for the specific caseof credit risk evaluation is detailed. Microservices based architecture is used to develop the applicationwith the use of Strategy design pattern.This helps with scalability and maintainability of theapplications. A simple approach to understand the decision made by the machine learning model isalso provided. We detail the set of practices using a credit risk evaluation MLware application thathelps a loan granting officer in deciding whether to grant the loan or not. The implementation is doneusing Django framework and is deployed on Heroku server Full thesis: pdf Centre for Software Engineering Research Lab |
||||||||
Copyright © 2009 - IIIT Hyderabad. All Rights Reserved. |