Developers Manual ----------------- Smart Phone based Risk Assessment V 1.0 ======================================= CONTENTS -------- 1. Introduction 2. Purpose of this Document 3. Specific Instructions 4. Contact Information 1. Introduction ------------ Risk assessment is an important step in Microfinance applications. Here we provide a software for Risk assessment which can run on a Smart Phone. We have used following approach for the Assessment - i) Gather training data for fixed number of attributes. ii) Cluster data using K-means algorithm, for a fixed number of clusters. iii) Assign some risk type for each cluster so formed. (This is training) iv) For a new input find % closeness with each of the clusters and show the same to user. 2. Purpose of this Document ------------------------ This document is meant to help developers who would like to modify this program and achieve better results than this program. Following are possible modifications as we see it - i) Use a clustering algorithm different from K-means. ii) Use different number of attributes for Risk Assessment iii) Use different number of clusters iv) Use different stopping condiotion for K-means We suggest below, way to achieve these changes. For more information, refer to Readme.txt, javadoc and class diagram pdf as well which comes along with the package. 3. Specific Instructions --------------------- A) To use clustering algorithm other than Kmeans do the following - -------------------------------------------------------------- 1) Create new class for the new Algorithm. The new class should implement IClusteringAlgorithm interface. 2) Instantiate clusterAlgorithm with the new algorithm class, in Risk_Assessor.java 3) The clustering method is called from performTraining method of Controller. Modify this method so that initial parameters to the clustering algorithm are passed correctly. After clustring is complete, the algorithm should return a Vector of Centroids, and each centroid is a Vector of Floats and each Float object represent a coordinate. AssignRiskForm constructor expects the Vector of Centroids in this format. B) To add new Fields for Risk Assessment, do following modifications - ----------------------------------------------------------------- 1) Modify PersonDetailForm.java and TrainingInputForm.java files to show more fields on UI. 2) Change MAX_FIELDS variable from AlgorithmConstants.java file. C) To change number of clusters do following modifications - ------------------------------------------------------- 1) Change MAX_CLUSTERS variable from AlgorithmConstants.java file. 2) Modify AssignRiskForm.java to show Risk types for different number of clusters on UI. 3) Modify ShowRiskForm.java to show the Risk type percentage for the changed number of clusters on UI. D) To change stopping condition for K-means algorithm Iterations - ------------------------------------------------------------- For K-means clustering algorithm there is a condition, when is satisfied, the iteration process stops. This condition is that there is no change in centroid coordinates upto 2 decimal places. To change this condiotion, change the variable ERR_CONST from AlgorithmConstants.java file. 4. Contact Information ------------------- Developers can be contacted for support and enhancement on following address - girish@it.iit.ac.in , prathabk@it.iit.ac.in , radha@it.iit.ac.in