Amit Shekhar Profile picture
May 13 ā€¢ 15 tweets ā€¢ 3 min read
What is Feature Engineering for Machine Learning?

A thread šŸ§µ

#MachineLearning
Feature engineering is the process of using domain knowledge of the data to create features that make machine learning algorithms work.
If feature engineering is done correctly, it increases the predictive power of machine learning algorithms by creating features from raw data that help facilitate the machine learning process.
The steps involved while solving any problem in machine learning are as follows:

- Gathering data.
- Cleaning data.
- [[ Feature engineering ]]
- Defining model.
- Training, testing model, and predicting the output.
Feature engineering is the most important art in machine learning which creates a massive difference between a good model and a bad model. Let's see what feature engineering covers.
Suppose, we are given the data "flight date-time vs status". Then, given the date-time data, we have to predict the flight's status.
The flight's status depends on the hour of the day, not on the date-time. We will create the new feature "Hour_Of_Day". Using the "Hour_Of_Day" feature, the machine will learn better as this feature is directly related to the flight's status.
Here, creating the new feature "Hour_Of_Day" is the feature engineering.

Let's see another example. Suppose we are given the latitude, longitude, and other data with the given label "Price_Of_House". We need to predict the price of the house in that area.
The latitude and longitude are not of any use if they are alone. So, here we will use the crossed column feature engineering. We will combine the latitude and the longitude to make one feature. Combining into one feature will help the model learn better.
Here, combining two features to create one useful feature is feature engineering.

Sometimes, we use the bucketized column feature engineering. Suppose we are given data in which one column is the age and the output is the classification(X, Y, Z).
By seeing the data, we realized that the output(X, Y, Z) is dependent on the age range like 11-20 years age-range output to X, 21-40 years output to Y, and 41-70 years output to Z. Here, we will create 3 buckets for the age-range 11-20, 21-40 and 41-70.
We will create the new feature which is the bucketized column "Age_Range" that has the numerical values 1, 2, and 3 where 1 is mapped to bucket 1, 2 is mapped to bucket 2, and 3 is mapped to the bucket 3.
Here, creating the Age_Range bucket is the feature engineering.

Sometimes, removing the unwanted feature is also feature engineering. As the feature which is not related degrades the performance of the model.
Now, the steps to do feature engineering are as follows:

- Brainstorm features.
- Create features.
- Check how the features work with the model.
- Start again from the first until the features work perfectly.
This is what we do in feature engineering.

That's it for now.

Happy Learning :)

Show your love by sharing this tweet with your fellow developers.

Follow @amitiitbhu for learning and sharing.

ā€¢ ā€¢ ā€¢

Missing some Tweet in this thread? You can try to force a refresh
怀

Keep Current with Amit Shekhar

Amit Shekhar Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @amitiitbhu

May 14
How does the Voice And Video Call Work?

This tweet is all about how the voice and video call works on a high level.

Continued in this thread šŸ§µ [Follow the thread below] šŸ‘‡

#AndroidDev #Kotlin #Android #Developer Image
Both voice and video calls depend on how we stream media between the two clients who are connected to each other. So, there must be something that can do the work of media streaming from one client to another client.

For media streaming, we need to know about WebRTC.
WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Read 16 tweets
Apr 13
Why an Android App lags?

A thread šŸ§µ

I will start with the following statement:

Garbage Collector: The TAX on Android App Performance

#AndroidDev
The main reason for the low-performance Android App is that it runs GC very frequently.

Simple in one line: The time for which GC is running the actual app is not running.
When the app runs, it allocates many objects on the basis of your code, and when the objects are no longer referred to, the system call GC when there is memory pressure to deallocate those objects, so if the object allocation and deallocation are occurring on regular basis.
Read 10 tweets
Aug 21, 2021
How does Voice And Video Call Works?

This tweet is all about how the voice and video call works on a high level.

Continued in this thread šŸ‘‡ [Follow the thread below]

#AndroidDev #Kotlin #Android #Developer
Both voice and video calls depend on how we stream media between the two clients which are connected to each other. So, there must be something that can do the work of media streaming from one client to another client.

For media streaming, we need to know about WebRTC.
WebRTC is a free, open project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Read 16 tweets
Aug 20, 2021
Android App Release Checklist For The Production Launch

Continued in this thread šŸ‘‡ [Follow the thread below]

#AndroidDev #Kotlin #Android #Developer
Add analytics to your Android application.
Turn off logging and debugging.
Read 21 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(