**Background:**

The census is a special, wide-range activity, which takes
place once a decade in the entire country. The purpose is to gather information
about the general population, in order to present a full and reliable picture
of the population in the country - its housing conditions and demographic,
social and economic characteristics. The information collected includes data on
age, gender, country of origin, marital status, housing conditions, marriage, education,
employment, etc.

This information makes it possible to plan better services,
improve the quality of life and solve existing problems. Statistical
information, which serves as the basis for constructing planning forecasts, is
essential for the democratic process since it enables the citizens to examine
the decisions made by the government and local authorities, and decide whether
they serve the public they are meant to help.

The goal of this machine learning project is **to
predict whether a person makes over 50K a year **or not given their
demographic variation. To achieve this, several classification techniques are
explored and the random forest model yields to the best prediction result.

**Relevant Papers:**

Ron Kohavi, "Scaling Up the Accuracy of Naive-Bayes
Classifiers: a Decision-Tree Hybrid", Proceedings of the Second
International Conference on Knowledge Discovery and Data Mining, 1996

[Web Link]

The evaluation of this dataset is done using Area Under the ROC curve (AUC).

An example of its application are ROC curves. Here, the true positive rates are plotted against false positive rates. An example is below. The closer AUC for a model comes to 1, the better it is. So models with higher AUCs are preferred over those with lower AUCs.

Please note, there are also other methods than ROC curves but they are also related to the true positive and false positive rates, e. g. precision-recall, F1-Score or Lorenz curves.

AUC is used most of the time to mean AUROC, AUC is ambiguous (could be any curve) while AUROC is not.

The AUROC has several equivalent interpretations:

- The expectation that a uniformly drawn random positive is ranked before a uniformly drawn random negative.
- The expected proportion of positives ranked before a uniformly drawn random negative.
- The expected true positive rate if the ranking is split just before a uniformly drawn random negative.
- The expected proportion of negatives ranked after a uniformly drawn random positive.
- The expected false positive rate if the ranking is split just after a uniformly drawn random positive.

Assume we have a probabilistic, binary classifier such as logistic regression.

Before presenting the ROC curve (= Receiver Operating Characteristic curve), the concept ofconfusion matrix must be understood. When we make a binary prediction, there can be 4 types of outcomes:

- We predict 0 while we should have the class is actually 0: this is called a True Negative, i.e. we correctly predict that the class is negative (0). For example, an antivirus did not detect a harmless file as a virus .
- We predict 0 while we should have the class is actually 1: this is called a False Negative, i.e. we incorrectly predict that the class is negative (0). For example, an antivirus failed to detect a virus.
- We predict 1 while we should have the class is actually 0: this is called a False Positive, i.e. we incorrectly predict that the class is positive (1). For example, an antivirus considered a harmless file to be a virus.
- We predict 1 while we should have the class is actually 1: this is called a True Positive, i.e. we correctly predict that the class is positive (1). For example, an antivirus rightfully detected a virus.

To get the confusion matrix, we go over all the predictions made by the model, and count how many times each of those 4 types of outcomes occur:

In this example of a confusion matrix, among the 50 data points that are classified, 45 are correctly classified and the 5 are misclassified.

Since to compare two different models it is often more convenient to have a single metric rather than several ones, we compute two metrics from the confusion matrix, which we will later combine into one:

- True positive rate (TPR), aka. sensitivity, hit rate, and recall, which is defined as
TPTP+FN $\frac{TP}{TP+FN}$. Intuitively this metric corresponds to the proportion of positive data points that are correctly considered as positive, with respect to all positive data points. In other words, the higher TPR, the fewer positive data points we will miss. - False positive rate (FPR), aka. fall-out, which is defined as
FPFP+TN $\frac{FP}{FP+TN}$. Intuitively this metric corresponds to the proportion of negative data points that are mistakenly considered as positive, with respect to all negative data points. In other words, the higher FPR, the more negative data points we will missclassified.

To combine the FPR and the TPR into one single metric, we first compute the two former metrics with many different threshold (for example

The following figure shows the AUROC graphically:

In this figure, the blue area corresponds to the Area Under the curve of the Receiver Operating Characteristic (AUROC). The dashed line in the diagonal we present the ROC curve of a random predictor: it has an AUROC of 0.5. The random predictor is commonly used as a baseline to see whether the model is useful.

If you want to get some first-hand experience:

- Python: http://scikit-learn.org/stable/auto_examples/model_selection/plot_roc.html
- MATLAB: http://www.mathworks.com/help/stats/perfcurve.html

### One account per participant

You cannot sign up from multiple accounts and therefore you cannot submit from multiple accounts.

### No private sharing outside teams

Privately sharing code or data outside of teams is not permitted. It's okay to share code if made available to all participants on the forums.

### Submission Limits

You may submit a maximum of 5 entries per day.

You may select up to 2 final submissions for judging.

- Use of external data is not permitted. This includes use of pre-trained models.
- Hand-labeling is allowed on the training dataset only. Hand-labeling is not permitted on test data and will be grounds for disqualification.

Rank | Team | Score | Count | Submitted Date |
---|