Credits to Jim Zhang for helping with these tips

## Anaconda
If using Python, pandas is recommended for data manipulation. For prediction, one can start with some typical models in scikit-learn. pandas, numpy, sklearn are all included in Anaconda.

## Useful pandas functions
`pd.read_csv('filename.csv', index_col='id')`
`pd.DataFrame.to_csv('submission.csv', index_label='id')`

## Don't be afraid to try things you haven't heard of before
After some basic models, one can progress to some more advanced models in other libraries. Maybe search around a bit for cool or successful models that people have used for classification.

## IDE/Shortcuts
Learn all the shortcuts to your development environment. Spyder and Jupyter are both included in Anaconda, and there are plenty of shortcuts to run specific code sections swiftly.

## Missing data
Think of how to fill in the missing/nan data.

## Feature engineering
See if you can create new features out of the existing columns, that would make the model perform better / have an easier time fitting the data

## Model blending
Why use one model when you can take the average of multiple model outputs, or even use another model on top of the model outputs?

## Probability calibration
Some models don't have accurate classification probabilities, but one can calibrate them using various techniques. This doesn't help much for individual models due to the AUC metric, but allows for "fairer" model blending if you plan to take a simple average.

## Hyperparameter tuning
Gain some intuition and then try some automatic tuners! Be aware, poor model types usually will not improve much with tuning.