66 Feature-engine
77==============
88
9- A Python library for Feature Engineering and Selection
10- ------------------------------------------------------
9+ A user-friendly feature engineering alternative to Scikit-learn
10+ ---------------------------------------------------------------
1111
1212.. figure :: images/logo/FeatureEngine.png
1313 :align: center
1414
1515 **Feature-engine rocks! **
1616
1717Feature-engine is a Python library with multiple transformers to engineer and select
18- features for machine learning models. Feature-engine adopts Scikit-learn
19- functionality with methods `fit() ` and `transform() ` to learn parameters from and then
18+ features for machine learning models. Feature-engine, like Scikit-learn,
19+ uses the methods `fit() ` and `transform() ` to learn parameters from and then
2020transform the data.
2121
22+ Working with dataframes? 👉 Feature-engine is a no-brainer
23+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
24+
25+ Unlike Scikit-learn, Feature-engine is designed to work with dataframes. No
26+ column order or name changes. A dataframe comes in, same dataframe
27+ comes out, with the transformed variables.
28+
29+ We normally apply different feature engineering processes to different feature subsets. With sklearn, we restrict the
30+ feature engineering techniques to a certain group of variables by using an auxiliary class: the `ColumnTransformer `.
31+ This class also results in a change in the name of the variables after the transformation.
32+
33+ Feature-engine, instead, allows you to select the variables you want to transform **within ** each
34+ transformer. This way, different engineering procedures can be easily applied to
35+ different feature subsets without the need for additional transformers or changes in the feature names.
36+
37+
38+ Sitting at the interface of pandas and scikit-learn
39+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40+
41+ Pandas is great for data analysis and transformation. We ❤️ it too. But it
42+ doesn't automatically learn and store parameters from the data. And that is
43+ key for machine learning. That's why we created Feature-engine.
44+
45+ Feature-engine wraps pandas functionality in Scikit-learn like transformers,
46+ capturing much of the pandas logic needed to learn and store parameters,
47+ while making these transformations compatible with Scikit-learn estimators,
48+ selectors, cross-validation functions and hyperparameter search methods.
49+
50+ If your work is primarily data analysis and transformation for machine
51+ learning, and pandas and scikit-learn are your main tools, then Feature-engine
52+ is your friend.
53+
54+ Feature-engine transformers
55+ ---------------------------
56+
57+
2258Feature-engine includes transformers for:
2359
2460- Missing data imputation
@@ -32,37 +68,29 @@ Feature-engine includes transformers for:
3268- Time series
3369- Preprocessing
3470
35- We normally apply different feature engineering processes to different feature subsets. With sklearn, we restrict the
36- feature engineering techniques to a certain group of variables by using an auxiliary class: the `ColumnTransformer `.
37- This class also results in a change in the name of the variables after the transformation.
38-
39- Feature-engine, instead, allows you to select the variables you want to transform **within ** each
40- transformer. This way, different engineering procedures can be easily applied to
41- different feature subsets without the need for additional transformers or changes in the feature names.
42-
4371Feature-engine transformers are fully compatible with scikit-learn. That means that you can assemble Feature-engine
4472transformers within a Scikit-learn pipeline, or use them in a grid or random search for hyperparameters.
4573Check :ref: `**Quick Start** <quick_start >` for an example.
4674
47- Pst! How did you find us?
48- -------------------------
75+ How did you find us? 👀
76+ -----------------------
4977
5078We want to share Feature-engine with more people. It'd help us loads if you tell us
5179how you discovered us.
5280
53- We'd know what we are doing right and which channels we should use to share the love.
81+ Then we can know what we are doing right and which channels we should use to share the love.
5482
5583.. figure :: images/sponsors/how-did-you-discover.png
5684 :align: center
5785 :target: https://docs.google.com/forms/d/e/1FAIpQLSfxvgnJvuvPf2XgosakhXo5VNQafqRrjNXkoW5qDWqnuxZNSQ/viewform?usp=sf_link
5886
59- Please share your story by answering 1 quick question
87+ 🙏 Please share your story by answering 1 quick question
6088`at this link <https://docs.google.com/forms/d/e/1FAIpQLSfxvgnJvuvPf2XgosakhXo5VNQafqRrjNXkoW5qDWqnuxZNSQ/viewform?usp=sf_link >`_ 😃
6189
6290What is feature engineering?
6391----------------------------
6492
65- Feature engineering is the process of using domain knowledge and statistical tools to create features fit for use with
93+ Feature engineering is the process of using domain knowledge and statistical tools to create features for
6694machine learning algorithms. The raw data that we normally gather as part of our business activities is rarely fit to
6795train machine learning models. Instead, data scientists spend a large part of their time on data analysis, preprocessing,
6896and feature engineering.
@@ -82,7 +110,7 @@ What is unique about Feature-engine?
82110The following characteristics make Feature-engine unique:
83111
84112- Feature-engine contains the most exhaustive collection of feature engineering transformations.
85- - Feature-engine can transform a specific group of variables in the dataframe.
113+ - Feature-engine can transform a specific group of variables in the dataframe, right out-of-the-box .
86114- Feature-engine returns dataframes, hence suitable for data analysis and model deployment.
87115- Feature-engine is compatible with the Scikit-learn pipeline, Grid and Random search and cross validation.
88116- Feature-engine automatically recognizes numerical, categorical and datetime variables.
0 commit comments