You are given a dataset of the bank loans consisting of 15 columns and a corresponding target column. Your task is to build a machine-learning model that can accurately classify whether the personal loan was accepted or not based on the information provided.
The dataset is provided in a Xlsx file with the following columns and their details:
- ID: ID of the customer
- Age: Age of the customer
- Gender: M for Male, F for Female and O for Others
- Experience: Amount of work experience in years
- Income: Amount of annual income (in thousands)
- Home Ownership: Home Owner, Rent and Home Mortgage.
- Zipcode: Postal code in which the client lives
- Family: Number of family members
- CCAvg: Average monthly spending with the credit card (in thousands)
- Education: Education level (1: bachelor's degree, 2: master's degree, 3: advanced/professional degree)
- Mortgage: Value of home mortgage, if any (in thousands)
- Securities Account: Does the customer have a securities account with the bank?
- CD Account: Does the customer have a certificate of deposit account (CD) with the bank?
- Online: Does the customer use the internet banking facilities?
- CreditCard: Does the customer use a credit card issued by the bank?
- Personal Loan: Did this customer accept the personal loan offered in the last campaign? (Target Variable)
A Jupyter notebook or Python script that contains your code, along with comments explaining the different steps and rationale behind your approach.
Do all the necessary data preprocessing, EDA and feature engineering before training the model. The trained machine learning model is saved in a format that can be easily loaded and used for prediction.
A brief report (in PDF format) summarizing your approach, key findings, and any insights or observations from the analysis.
Develop a chatbot interface that allows users to interact with the trained machine learning model for loan acceptance predictions. Design a conversational flow where the chatbot asks users for relevant information required for loan acceptance prediction. Integrate the trained model to provide real-time predictions based on user inputs. Implement error handling to guide users in case of invalid inputs or errors during interaction. Ensure the chatbot interface is user-friendly and intuitive for seamless interaction.
Submit your deliverables as follows:
- Jupyter Notebook/Python Script
- Trained Model File
- PDF Report
- Chatbot Interface (if developed separately)