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           neighbours  in null cell. it is useful when data is in some order say in order of