Skip to main content

Feature Engineering is easy ..!!

Features are input to machine learning algorithm. and the row features that are provided to us are not the best, they are just whatever just has to be in data. Feature engineering have a goal to convert given features into much more predictive ones so that the can predict label more precisely. feature engineering can make simple algorithm to give good results. at a same time if you apply the best algorithm and do not perform feature engineering well you are going to get poor results.  feature engineering is a broad subject people dedicate their entire careers to feature engineering. there are some steps in feature engg that we need to follow and repeat most of the times to get job done.

steps---
1. Explore and understand data relationships
2. Transform feature 
3.Compute new features from other by applying some  maths on it
4. Visualization to check results  
5. Test with ML model
6. Repeat above steps as needed



Transforming feature---

Why transform feature ?--

1. To improve distribution property of feature 
2. To improve co-relation with label

How to transform feature--

1. apply some mathematical operation such as(log, square, squareroot, variance, exponential) on feature
2. take Difference or cumulative sum of values in feature this method apply more to features in dates      and time  format.
3.Non linear transformed features are not colinear.


Interaction terms--

Till now we have talked about transforming single feature. now consider the example of number of people traveling on a bus on different periods of times.
this can be dependent on different factors--
1. what time of day it is if its evening people rush to their home and their rush in residential areas of the city while in the morning people rush to their offices in the opposite direction of their evening route
2. what day it it if its holiday people would rush for shopping and movies etc. but the time would be different then the working day and volume of the people would different.
3. in this scenario time of a day and holiday are interactive terms.



Comments

Popular posts from this blog

Data preparation : Dealing with missing values

Missing values are probably the most common headache you are going to have as machine learning engineer. missing values are the ones who screw the whole algorithm and make model give wired results(predictions). Treating missing values--- 1. Use exploration to detect the missing values -- detecting missing values is crucial because  lot of machine learning models fail because of missing values. 2.Find how are missing values are coded-- missing values could be codded in the data in one or more of following formats.     -NULL     -a string or number--eg.-9999,0,"NA","?"etc. 3. Treatment strategy--     - if some column has lot of missing values then its better to get rid of that column.     - remove row-- suppose very few rows have missing values then remove those rows.     -Forward or backward fill-- sometimes its just better to use fill which work by filling value of  nearest           neighbou...

Data preparation: Treating errors and outliers

Errors are outliers are the those values in dataset which are far away from mean value of that column in which they exist or we can say they are very small or large as compared to other values in that column. suppose we are observing column of price and we see value that is ten times bigger then other values then it could be error or outlier. to identify either it is error or outlier we need to apply some domain knowledge or we can say field knowledge. outliers are mainly caused by variability in measurement or experimental errors. but sometimes they could be useful and help us understand data better if we apply domain knowledge. for example we find a outlier in car price of cars data set then we check its other features and we found  that that car is luxury car then we understand it was outlier but a useful one and it was not just a error. Dealing with errors/outliers--- 1. Detect errors/outliers -- use data exploration to identify errors /outliers 2. methods to identify errors a...