Skip to content

Instantly share code, notes, and snippets.

@AroraMehul
Last active June 5, 2021 12:11
Show Gist options
  • Select an option

  • Save AroraMehul/43e7322913af561fdd7db5d4962d59a7 to your computer and use it in GitHub Desktop.

Select an option

Save AroraMehul/43e7322913af561fdd7db5d4962d59a7 to your computer and use it in GitHub Desktop.
GSoC'20 - The Mifos Initiative - Final Report

Google Summer of Code 2020 Final Report

1_pOBGFa_k7RN24LlnKcvE6Q (1)

Organization - The Mifos Initiative

Mentor - Lalit Mohan

Project Summary - Code|Video

  • The project consisted of providing an AI powered solution to the users for credit assessment of loans. The project covered various aspects from classical AI, considering various statistical models, to the modern day neural network. The project is enriched with various credit modeling techniques, giving access to the user to choose one or any from them. It also takes care of the different data sources from which data can be fetched and has been fully incorporated to handle data coming from various sources like JSON/XML or SQL.

Work Done during GSoC period

  • During this period, I worked on configuring different sections, namely, rule based, statistical based and machine learning based models for credit risk assessment. Along with working on the backend, I worked in improving the already implemented to screens to cope up with the backend and provide additional functionalities to cover the need of the project.

Incorporating Rule Based System

  • Initially, only the front-end was ready along with a basic implementation of the backend to make it functional. I implemented a rule based system that allows users to select features, according to their need, assigning them weights, and criteria based on which they would be evaluated. These rules are then taken into consideration while assessing credit risk. The final score is provided as an output with a color describing the intensity of risk, where green showing the least risk, amber showing mediocre, and red showing most. Not only a final color, but also colors with each of the features, with which rules were framed, are being provided to allow user to understand the reason behind the output.

rule based

Incorporating Statistical Methods

  • Incorporating different statistical methods like MANOVA, Value at Return, Regression.
  • Completely Offline.
  • Providing Accuracy as well as prediction of model
  • Option to choose between different methods provided

statistical

Incorporating Machine Learning Methods

  • Providing all sorts of machine learning models, covering probalilstic, ensemble, neural network, etc.
  • Running on all models and providing the output with best accuracy
  • No need to re-train models again and again
  • Saving the model showing best accuracy, so no need to run all models for output

ml

Provding option to upload own dataset

  • No need to store the dataset
  • Dataset is loaded at runtime
  • Just require a link where dataset is stored and data is fetched when required
  • No need to upload the link every time to get predictions

Added Data Source Option

  • Added a data source option, with a text field to add the link from where data is required to be fetched. The link is then loaded at run time using the id against which the loan is being sanctioned.
  • After fetching the data, it is then marked against the criterias created by the user to generate a final score in the rule based methodology.

Data Source

Allowing editing of features

  • Initially the editing of features was not working, I implemented the backend code to allow the editing of features and configurations. This allows user to change the configurations and criterias according to the need, without changing the name of the feature.

Editing

Error Handling

  • As the project deals with a lot of requests being made in and out of server, proper handling of errors is required, which was not done initially.

Error

UI improvements

  • Added filters and improved overall UI.

Fixed Minor Bugs

  • Added processing of different types of inputs differntly, example, binary, interval based, etc.
  • Corrected save feature implementation
  • Corrected fetching of data from mifos database
  • Added check for completion of feature form

Future Work

  • Use API's such as H2O AI for credit risk assessment
  • Allow for fetching gaurded data
  • Unit Testing

Challenging Part

  • Find the most appropriate models
  • Implementing according to design pattern
  • Compilation of scores from differnt sources in rule based methodology.

Overall Experience

It was really amazing working with The Mifos Organization. It was so much to learn from them as a community as well as technology. I would really like to thank Ed Cable and my mentor Lalit Mohan for choosing me to work with them and also guiding me throughout the period. I learnt a lot from them. Also I would like to thanks the whole Mifos community as they were always there for help and guidance. It was a really great experience for me and a very informative too, apart from learning about the technology, I also learnt how to build production ready code as it is very important for one to know that and it would surely help me in my future.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment