An open API service indexing awesome lists of open source software.

https://github.com/shilpakancharla/ml-for-bank-data

Feature engineering project to build a model that predicts if clients will subscribe to term deposit based on marketing call campaign data from a Portuguese bank. Used bagging, random forests, boosting, logistic LASSO regression with and support vector machines to study trends and optimize bank actions for maximizing bank account subscriptions.
https://github.com/shilpakancharla/ml-for-bank-data

Last synced: about 2 months ago
JSON representation

Feature engineering project to build a model that predicts if clients will subscribe to term deposit based on marketing call campaign data from a Portuguese bank. Used bagging, random forests, boosting, logistic LASSO regression with and support vector machines to study trends and optimize bank actions for maximizing bank account subscriptions.

Awesome Lists containing this project

README

        

# Machine Learning Project for Bank Data (STOR 565)

The dataset (and the information described below) of this project can be found here: http://archive.ics.uci.edu/ml/datasets/Bank+Marketing

This dataset involves multiple, clearly labeled predictors. The data used in this project is related to direct marketing campaigns set out by a Portugeuse banking institution. The data from the marketing campaigns were collected from phone calls. Clients were usually contacted more than once (and this was required), in order to access if the product (bank term deposit) would be ('yes') or not ('no') subscribed. We work witht he following dataset:

bank.csv with 10% of the examples and 17 inputs, randomly selected from 3 (older version of this dataset with less inputs).

The smallest datasets are provided to test more computationally demanding machine learning algorithms (e.g., SVM).

**Features of this dataset**

1 - age (numeric)

2 - job : type of job (categorical: 'admin.','blue-collar','entrepreneur','housemaid','management','retired','self-employed','services','student','technician','unemployed','unknown')

3 - marital : marital status (categorical: 'divorced','married','single','unknown'; note: 'divorced' means divorced or widowed)

4 - education (categorical: 'basic.4y','basic.6y','basic.9y','high.school','illiterate','professional.course','university.degree','unknown')

5 - default: has credit in default? (categorical: 'no','yes','unknown')

6 - housing: has housing loan? (categorical: 'no','yes','unknown')

7 - loan: has personal loan? (categorical: 'no','yes','unknown')

*Related with the last contact of the current campaign:*

8 - contact: contact communication type (categorical: 'cellular','telephone')

9 - month: last contact month of year (categorical: 'jan', 'feb', 'mar', ..., 'nov', 'dec')

10 - day_of_week: last contact day of the week (categorical: 'mon','tue','wed','thu','fri')

11 - duration: last contact duration, in seconds (numeric). Important note: this attribute highly affects the output target (e.g., if duration=0 then y='no'). Yet, the duration is not known before a call is performed. Also, after the end of the call y is obviously known. Thus, this input should only be included for benchmark purposes and should be discarded if the intention is to have a realistic predictive model.

*Other attributes:*

12 - campaign: number of contacts performed during this campaign and for this client (numeric, includes last contact)

13 - pdays: number of days that passed by after the client was last contacted from a previous campaign (numeric; 999 means client was not previously contacted)

14 - previous: number of contacts performed before this campaign and for this client (numeric)

15 - poutcome: outcome of the previous marketing campaign (categorical: 'failure','nonexistent','success')

*Social and economic context attributes*

16 - emp.var.rate: employment variation rate - quarterly indicator (numeric)

17 - cons.price.idx: consumer price index - monthly indicator (numeric)

18 - cons.conf.idx: consumer confidence index - monthly indicator (numeric)

19 - euribor3m: euribor 3 month rate - daily indicator (numeric)

20 - nr.employed: number of employees - quarterly indicator (numeric)

**Dependent variables being examined**

21 - y - has the client subscribed a term deposit? (binary: 'yes','no')

Citation: [Moro et al., 2014] S. Moro, P. Cortez and P. Rita. A Data-Driven Approach to Predict the Success of Bank Telemarketing. Decision Support Systems, Elsevier, 62:22-31, June 2014