Feature creation
Sometimes, you'll find yourself in a situation where features and target variables are not really related. In this case, you can modify the input dataset, apply linear or nonlinear transformations that can improve the accuracy of the system, and so on. It's a very important step of the process because it completely depends on the skills of the data scientist, who is the one responsible for artificially changing the dataset and shaping the input data for a better fit with the classification model.
For example, if you're trying to predict the value of a house and you just know the height, width, and the length of each room, you can artificially build a feature that represents the volume of the house. This is strictly not an observed feature, but it's a feature built on the top of the existing ones. Let's start with some code:
In: import numpy as np from sklearn import datasets from sklearn.cross_validation import train_test_split from sklearn.metrics...