{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Univariate Single Performance\n", "\n", "- Train a ML model per every single feature\n", "- Determine the performance of the models\n", "- Select features if model performance is above a certain threshold" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.ensemble import RandomForestClassifier, RandomForestRegressor\n", "from sklearn.metrics import roc_auc_score, mean_squared_error\n", "\n", "from feature_engine.selection import SelectBySingleFeaturePerformance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Classification" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(50000, 109)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
var_1var_2var_3var_4var_5var_6var_7var_8var_9var_10...var_100var_101var_102var_103var_104var_105var_106var_107var_108var_109
04.5327103.28083417.9824764.4042592.3499100.6032642.7846550.32314612.0096910.139346...2.0790666.7488192.94144518.36049617.7266137.7740311.4734411.9738320.9768062.541417
15.82137412.09872213.3091514.1255991.0453861.8320351.8334940.7090908.6528830.102757...2.4797897.7952903.55789017.38337815.1934238.2636731.8781080.5679391.0188181.416433
21.9387767.9527520.9726713.4592671.9357820.6214632.3381390.3449489.93785011.691283...1.8614876.1308863.40106415.85047114.6205996.8497761.0982101.9591831.5754931.857893
36.0206909.90054417.8696374.3667151.9736932.0260122.8530250.67484711.8168590.011151...1.3409447.2400582.41723515.19460913.5537727.2299710.8351582.2344820.9461702.700606
43.90950610.5765160.9341913.4195721.8714383.3408111.8682820.43986513.5856201.153366...2.7380956.5655094.34141415.89383211.9297876.9540331.8533640.5110272.5995620.811364
\n", "

5 rows × 109 columns

\n", "
" ], "text/plain": [ " var_1 var_2 var_3 var_4 var_5 var_6 var_7 \\\n", "0 4.532710 3.280834 17.982476 4.404259 2.349910 0.603264 2.784655 \n", "1 5.821374 12.098722 13.309151 4.125599 1.045386 1.832035 1.833494 \n", "2 1.938776 7.952752 0.972671 3.459267 1.935782 0.621463 2.338139 \n", "3 6.020690 9.900544 17.869637 4.366715 1.973693 2.026012 2.853025 \n", "4 3.909506 10.576516 0.934191 3.419572 1.871438 3.340811 1.868282 \n", "\n", " var_8 var_9 var_10 ... var_100 var_101 var_102 \\\n", "0 0.323146 12.009691 0.139346 ... 2.079066 6.748819 2.941445 \n", "1 0.709090 8.652883 0.102757 ... 2.479789 7.795290 3.557890 \n", "2 0.344948 9.937850 11.691283 ... 1.861487 6.130886 3.401064 \n", "3 0.674847 11.816859 0.011151 ... 1.340944 7.240058 2.417235 \n", "4 0.439865 13.585620 1.153366 ... 2.738095 6.565509 4.341414 \n", "\n", " var_103 var_104 var_105 var_106 var_107 var_108 var_109 \n", "0 18.360496 17.726613 7.774031 1.473441 1.973832 0.976806 2.541417 \n", "1 17.383378 15.193423 8.263673 1.878108 0.567939 1.018818 1.416433 \n", "2 15.850471 14.620599 6.849776 1.098210 1.959183 1.575493 1.857893 \n", "3 15.194609 13.553772 7.229971 0.835158 2.234482 0.946170 2.700606 \n", "4 15.893832 11.929787 6.954033 1.853364 0.511027 2.599562 0.811364 \n", "\n", "[5 rows x 109 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Important**\n", "\n", "In all feature selection procedures, it is good practice to select the features by examining only the training set. And this is to avoid overfit." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((35000, 108), (15000, 108))" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# separate train and test sets\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " data.drop(labels=['target'], axis=1),\n", " data['target'],\n", " test_size=0.3,\n", " random_state=0)\n", "\n", "X_train.shape, X_test.shape" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "SelectBySingleFeaturePerformance(cv=3,\n", " estimator=RandomForestClassifier(bootstrap=True,\n", " ccp_alpha=0.0,\n", " class_weight=None,\n", " criterion='gini',\n", " max_depth=None,\n", " max_features='auto',\n", " max_leaf_nodes=None,\n", " max_samples=None,\n", " min_impurity_decrease=0.0,\n", " min_impurity_split=None,\n", " min_samples_leaf=1,\n", " min_samples_split=2,\n", " min_weight_fraction_leaf=0.0,\n", " n_estimators=10,\n", " n_jobs=4,...\n", " random_state=1,\n", " verbose=0,\n", " warm_start=False),\n", " scoring='roc_auc', threshold=0.5,\n", " variables=['var_1', 'var_2', 'var_3', 'var_4',\n", " 'var_5', 'var_6', 'var_7', 'var_8',\n", " 'var_9', 'var_10', 'var_11',\n", " 'var_12', 'var_13', 'var_14',\n", " 'var_15', 'var_16', 'var_17',\n", " 'var_18', 'var_19', 'var_20',\n", " 'var_21', 'var_22', 'var_23',\n", " 'var_24', 'var_25', 'var_26',\n", " 'var_27', 'var_28', 'var_29',\n", " 'var_30', ...])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# set up a machine learning model\n", "rf = RandomForestClassifier(\n", " n_estimators=10, random_state=1, n_jobs=4)\n", "\n", "# set up the selector\n", "sel = SelectBySingleFeaturePerformance(\n", " variables=None,\n", " estimator=rf,\n", " scoring=\"roc_auc\",\n", " cv=3,\n", " threshold=0.5)\n", "\n", "# find predictive features\n", "sel.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'var_1': 0.48759277104531346,\n", " 'var_2': 0.505848556373206,\n", " 'var_3': 0.4905873006786428,\n", " 'var_4': 0.5012805125652865,\n", " 'var_5': 0.5015503210301652,\n", " 'var_6': 0.5002440532815474,\n", " 'var_7': 0.5053963427797875,\n", " 'var_8': 0.5087215543029918,\n", " 'var_9': 0.49864074839764516,\n", " 'var_10': 0.5039422399116312,\n", " 'var_11': 0.5045241781760413,\n", " 'var_12': 0.5033241886174137,\n", " 'var_13': 0.5012548463154374,\n", " 'var_14': 0.5095474749841596,\n", " 'var_15': 0.5066986262291787,\n", " 'var_16': 0.5770565890399896,\n", " 'var_17': 0.4963318406720993,\n", " 'var_18': 0.5023772724145118,\n", " 'var_19': 0.5014534628266524,\n", " 'var_20': 0.49519324682840477,\n", " 'var_21': 0.5018214387922665,\n", " 'var_22': 0.5030892351407114,\n", " 'var_23': 0.5031365233380981,\n", " 'var_24': 0.4987152429182367,\n", " 'var_25': 0.497173636121741,\n", " 'var_26': 0.4963377682125327,\n", " 'var_27': 0.49770130002860463,\n", " 'var_28': 0.5066248627234153,\n", " 'var_29': 0.5033150006736233,\n", " 'var_30': 0.5062985117443208,\n", " 'var_31': 0.49807356772302774,\n", " 'var_32': 0.495678623121759,\n", " 'var_33': 0.5096534597813839,\n", " 'var_34': 0.554476603635942,\n", " 'var_35': 0.4982928824951949,\n", " 'var_36': 0.5037213997441703,\n", " 'var_37': 0.5032959693136779,\n", " 'var_38': 0.5034444633971414,\n", " 'var_39': 0.49672818226598564,\n", " 'var_40': 0.49285485172219606,\n", " 'var_41': 0.4956177022461454,\n", " 'var_42': 0.499118135110552,\n", " 'var_43': 0.5035111885173181,\n", " 'var_44': 0.5012420802522259,\n", " 'var_45': 0.5041885371365862,\n", " 'var_46': 0.5040398865066082,\n", " 'var_47': 0.5019673294381936,\n", " 'var_48': 0.5485944230917331,\n", " 'var_49': 0.5012062446075825,\n", " 'var_50': 0.49695208014492803,\n", " 'var_51': 0.49886238659194165,\n", " 'var_52': 0.5047690083324433,\n", " 'var_53': 0.5009955432554941,\n", " 'var_54': 0.5031391753895997,\n", " 'var_55': 0.5735170616832657,\n", " 'var_56': 0.5012040356632551,\n", " 'var_57': 0.5031376630499037,\n", " 'var_58': 0.4976950165205107,\n", " 'var_59': 0.5018942424383921,\n", " 'var_60': 0.49883764748229514,\n", " 'var_62': 0.5006844614613755,\n", " 'var_63': 0.4918670728160787,\n", " 'var_64': 0.5054045476531455,\n", " 'var_65': 0.4914235450966024,\n", " 'var_66': 0.503431454248927,\n", " 'var_67': 0.5012299391775749,\n", " 'var_68': 0.5007903088583734,\n", " 'var_69': 0.5751905335213189,\n", " 'var_70': 0.50070090102409,\n", " 'var_71': 0.49854865673797716,\n", " 'var_72': 0.497527053980936,\n", " 'var_73': 0.501930977120768,\n", " 'var_74': 0.5069934681450569,\n", " 'var_75': 0.49934701087253724,\n", " 'var_76': 0.5016602881065045,\n", " 'var_77': 0.4970360385078478,\n", " 'var_78': 0.5017041201659781,\n", " 'var_79': 0.49187221347292237,\n", " 'var_80': 0.5054402232923457,\n", " 'var_81': 0.5026854597110942,\n", " 'var_82': 0.5050994549149728,\n", " 'var_83': 0.49481205175728027,\n", " 'var_84': 0.4936913654592912,\n", " 'var_85': 0.4984779500634063,\n", " 'var_86': 0.5064321738581167,\n", " 'var_87': 0.5014314725479457,\n", " 'var_88': 0.49929512310089813,\n", " 'var_89': 0.4842900958228915,\n", " 'var_90': 0.5069372522848749,\n", " 'var_91': 0.5160478157993403,\n", " 'var_92': 0.503708577932099,\n", " 'var_93': 0.5068833435349135,\n", " 'var_94': 0.4999777640728276,\n", " 'var_95': 0.5035319494457471,\n", " 'var_96': 0.5178620893100708,\n", " 'var_97': 0.5056924683483978,\n", " 'var_98': 0.5017974680854508,\n", " 'var_99': 0.4966139936858995,\n", " 'var_100': 0.5029894102293965,\n", " 'var_101': 0.5014665068297616,\n", " 'var_102': 0.503711634087138,\n", " 'var_103': 0.49960972978047263,\n", " 'var_104': 0.5038722231810904,\n", " 'var_105': 0.49381926543897414,\n", " 'var_106': 0.5042605996741548,\n", " 'var_107': 0.5030802865376598,\n", " 'var_108': 0.5857684101762054,\n", " 'var_109': 0.5006681153178233}" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the transformer stores a dictionary of feature:metric pairs\n", "# in this case is the roc_auc of each individual model\n", "\n", "sel.feature_performance_" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'roc-auc')" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# we can plot feature importance sorted by importance\n", "\n", "pd.Series(sel.feature_performance_).sort_values(ascending=False).plot.bar(figsize=(20, 5))\n", "plt.title('Performance of ML models trained with individual features')\n", "plt.ylabel('roc-auc')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "36" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the features that will be removed\n", "\n", "len(sel.features_to_drop_)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((35000, 72), (15000, 72))" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# remove non-prective features\n", "\n", "X_train = sel.transform(X_train)\n", "X_test = sel.transform(X_test)\n", "\n", "X_train.shape, X_test.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Regression\n", "\n", "### with r2 and user specified threshold" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1460, 81)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# load dataset\n", "\n", "data = pd.read_csv('../houseprice.csv')\n", "\n", "data.shape" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1460, 38)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# I will use only numerical variables\n", "# select numerical columns:\n", "\n", "numerics = ['int16', 'int32', 'int64', 'float16', 'float32', 'float64']\n", "numerical_vars = list(data.select_dtypes(include=numerics).columns)\n", "data = data[numerical_vars]\n", "data.shape" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdMSSubClassLotFrontageLotAreaOverallQualOverallCondYearBuiltYearRemodAddMasVnrAreaBsmtFinSF1...WoodDeckSFOpenPorchSFEnclosedPorch3SsnPorchScreenPorchPoolAreaMiscValMoSoldYrSoldSalePrice
016065.084507520032003196.0706...0610000022008208500
122080.0960068197619760.0978...29800000052007181500
236068.0112507520012002162.0486...0420000092008223500
347060.0955075191519700.0216...035272000022006140000
456084.0142608520002000350.0655...1928400000122008250000
\n", "

5 rows × 38 columns

\n", "
" ], "text/plain": [ " Id MSSubClass LotFrontage LotArea OverallQual OverallCond YearBuilt \\\n", "0 1 60 65.0 8450 7 5 2003 \n", "1 2 20 80.0 9600 6 8 1976 \n", "2 3 60 68.0 11250 7 5 2001 \n", "3 4 70 60.0 9550 7 5 1915 \n", "4 5 60 84.0 14260 8 5 2000 \n", "\n", " YearRemodAdd MasVnrArea BsmtFinSF1 ... WoodDeckSF OpenPorchSF \\\n", "0 2003 196.0 706 ... 0 61 \n", "1 1976 0.0 978 ... 298 0 \n", "2 2002 162.0 486 ... 0 42 \n", "3 1970 0.0 216 ... 0 35 \n", "4 2000 350.0 655 ... 192 84 \n", "\n", " EnclosedPorch 3SsnPorch ScreenPorch PoolArea MiscVal MoSold YrSold \\\n", "0 0 0 0 0 0 2 2008 \n", "1 0 0 0 0 0 5 2007 \n", "2 0 0 0 0 0 9 2008 \n", "3 272 0 0 0 0 2 2006 \n", "4 0 0 0 0 0 12 2008 \n", "\n", " SalePrice \n", "0 208500 \n", "1 181500 \n", "2 223500 \n", "3 140000 \n", "4 250000 \n", "\n", "[5 rows x 38 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "data.head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# fill missing values\n", "data.fillna(0, inplace=True)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((1022, 36), (438, 36))" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# separate train and test sets\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " data.drop(labels=['Id','SalePrice'], axis=1),\n", " data['SalePrice'],\n", " test_size=0.3,\n", " random_state=0)\n", "\n", "X_train.shape, X_test.shape" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/plain": [ "SelectBySingleFeaturePerformance(cv=3,\n", " estimator=RandomForestRegressor(bootstrap=True,\n", " ccp_alpha=0.0,\n", " criterion='mse',\n", " max_depth=2,\n", " max_features='auto',\n", " max_leaf_nodes=None,\n", " max_samples=None,\n", " min_impurity_decrease=0.0,\n", " min_impurity_split=None,\n", " min_samples_leaf=1,\n", " min_samples_split=2,\n", " min_weight_fraction_leaf=0.0,\n", " n_estimators=10,\n", " n_jobs=4,\n", " oob_score=False,\n", " random_...\n", " 'OverallCond', 'YearBuilt',\n", " 'YearRemodAdd', 'MasVnrArea',\n", " 'BsmtFinSF1', 'BsmtFinSF2',\n", " 'BsmtUnfSF', 'TotalBsmtSF',\n", " '1stFlrSF', '2ndFlrSF',\n", " 'LowQualFinSF', 'GrLivArea',\n", " 'BsmtFullBath', 'BsmtHalfBath',\n", " 'FullBath', 'HalfBath',\n", " 'BedroomAbvGr', 'KitchenAbvGr',\n", " 'TotRmsAbvGrd', 'Fireplaces',\n", " 'GarageYrBlt', 'GarageCars',\n", " 'GarageArea', 'WoodDeckSF',\n", " 'OpenPorchSF', 'EnclosedPorch', ...])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# set up the machine learning model\n", "rf = RandomForestRegressor(\n", " n_estimators=10, max_depth=2, random_state=1, n_jobs=4)\n", "\n", "# set up the selector\n", "sel = SelectBySingleFeaturePerformance(\n", " variables=None,\n", " estimator=rf,\n", " scoring=\"r2\",\n", " cv=3,\n", " threshold=0.5)\n", "\n", "# find predictive features\n", "sel.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'MSSubClass': 0.18514034601982418,\n", " 'LotFrontage': 0.11295437960824546,\n", " 'LotArea': 0.18072827270865235,\n", " 'OverallQual': 0.6390607189504983,\n", " 'OverallCond': 0.10099732436450067,\n", " 'YearBuilt': 0.34969187588528144,\n", " 'YearRemodAdd': 0.2601114121308128,\n", " 'MasVnrArea': 0.1673999965292691,\n", " 'BsmtFinSF1': 0.19898086671343473,\n", " 'BsmtFinSF2': -0.009703547431066198,\n", " 'BsmtUnfSF': 0.05878832827833499,\n", " 'TotalBsmtSF': 0.4067200681744638,\n", " '1stFlrSF': 0.345102029766815,\n", " '2ndFlrSF': 0.21988067672483705,\n", " 'LowQualFinSF': -0.025701997588528352,\n", " 'GrLivArea': 0.47416720514000604,\n", " 'BsmtFullBath': 0.03495762648889167,\n", " 'BsmtHalfBath': -0.024767451129236395,\n", " 'FullBath': 0.33009421507209774,\n", " 'HalfBath': 0.0706292027025724,\n", " 'BedroomAbvGr': 0.041702761473751515,\n", " 'KitchenAbvGr': 0.0013083175726592937,\n", " 'TotRmsAbvGrd': 0.2638005756723682,\n", " 'Fireplaces': 0.22352442100930425,\n", " 'GarageYrBlt': 0.3244535905924391,\n", " 'GarageCars': 0.47450883716087217,\n", " 'GarageArea': 0.40288417091771045,\n", " 'WoodDeckSF': 0.08310430213187643,\n", " 'OpenPorchSF': 0.1643740260023531,\n", " 'EnclosedPorch': 0.01968392472831119,\n", " '3SsnPorch': -0.015983053363372097,\n", " 'ScreenPorch': -0.028138373401361383,\n", " 'PoolArea': -0.018943303419751183,\n", " 'MiscVal': -0.021566858715237263,\n", " 'MoSold': -0.03822068210669275,\n", " 'YrSold': -0.0220552736414672}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the transformer stores a dictionary of feature:metric pairs\n", "# notice that the r2 can be positive or negative.\n", "# the selector selects based on the absolute value\n", "\n", "sel.feature_performance_" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "scrolled": false }, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'r2')" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pd.Series(sel.feature_performance_).sort_values(ascending=False).plot.bar(figsize=(20, 5))\n", "plt.title('Performance of ML models trained with individual features')\n", "plt.ylabel('r2')" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'r2 - absolute value')" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# same plot but taking the absolute value of the r2\n", "\n", "np.abs(pd.Series(sel.feature_performance_)).sort_values(ascending=False).plot.bar(figsize=(20, 5))\n", "plt.title('Performance of ML models trained with individual features')\n", "plt.ylabel('r2 - absolute value')" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "35" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the features that will be removed\n", "\n", "len(sel.features_to_drop_)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((1022, 1), (438, 1))" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# select features in the dataframes\n", "\n", "X_train = sel.transform(X_train)\n", "X_test = sel.transform(X_test)\n", "\n", "X_train.shape, X_test.shape" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Automatically select threshold\n", "\n", "If we leave the threshold to None, the threshold will be automatically specified as the mean of performance of all features." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((1022, 36), (438, 36))" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# separate train and test sets\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " data.drop(labels=['Id','SalePrice'], axis=1),\n", " data['SalePrice'],\n", " test_size=0.3,\n", " random_state=0)\n", "\n", "X_train.shape, X_test.shape" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "SelectBySingleFeaturePerformance(cv=3,\n", " estimator=RandomForestRegressor(bootstrap=True,\n", " ccp_alpha=0.0,\n", " criterion='mse',\n", " max_depth=2,\n", " max_features='auto',\n", " max_leaf_nodes=None,\n", " max_samples=None,\n", " min_impurity_decrease=0.0,\n", " min_impurity_split=None,\n", " min_samples_leaf=1,\n", " min_samples_split=2,\n", " min_weight_fraction_leaf=0.0,\n", " n_estimators=10,\n", " n_jobs=4,\n", " oob_score=False,\n", " random_...\n", " 'OverallCond', 'YearBuilt',\n", " 'YearRemodAdd', 'MasVnrArea',\n", " 'BsmtFinSF1', 'BsmtFinSF2',\n", " 'BsmtUnfSF', 'TotalBsmtSF',\n", " '1stFlrSF', '2ndFlrSF',\n", " 'LowQualFinSF', 'GrLivArea',\n", " 'BsmtFullBath', 'BsmtHalfBath',\n", " 'FullBath', 'HalfBath',\n", " 'BedroomAbvGr', 'KitchenAbvGr',\n", " 'TotRmsAbvGrd', 'Fireplaces',\n", " 'GarageYrBlt', 'GarageCars',\n", " 'GarageArea', 'WoodDeckSF',\n", " 'OpenPorchSF', 'EnclosedPorch', ...])" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# set up the machine learning model\n", "rf = RandomForestRegressor(\n", " n_estimators=10, max_depth=2, random_state=1, n_jobs=4)\n", "\n", "# set up the selector\n", "sel = SelectBySingleFeaturePerformance(\n", " variables=None,\n", " estimator=rf,\n", " scoring=\"neg_mean_squared_error\",\n", " cv=3,\n", " threshold=None)\n", "\n", "# find predictive features\n", "sel.fit(X_train, y_train)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'MSSubClass': -4946270056.549981,\n", " 'LotFrontage': -5343492813.892375,\n", " 'LotArea': -4928459117.321639,\n", " 'OverallQual': -2193369380.493084,\n", " 'OverallCond': -5448634768.315696,\n", " 'YearBuilt': -3962171141.8131747,\n", " 'YearRemodAdd': -4491466004.666675,\n", " 'MasVnrArea': -4989419433.834832,\n", " 'BsmtFinSF1': -4781178509.147069,\n", " 'BsmtFinSF2': -6114101356.530289,\n", " 'BsmtUnfSF': -5733048337.536067,\n", " 'TotalBsmtSF': -3592806788.9542003,\n", " '1stFlrSF': -3926595795.1685433,\n", " '2ndFlrSF': -4723468623.759179,\n", " 'LowQualFinSF': -6215527247.916032,\n", " 'GrLivArea': -3196235551.3794694,\n", " 'BsmtFullBath': -5841851990.276611,\n", " 'BsmtHalfBath': -6209234331.852562,\n", " 'FullBath': -4111826645.2049403,\n", " 'HalfBath': -5635203820.852725,\n", " 'BedroomAbvGr': -5827807934.638268,\n", " 'KitchenAbvGr': -6043745816.133111,\n", " 'TotRmsAbvGrd': -4442659307.3334255,\n", " 'Fireplaces': -4698230724.431931,\n", " 'GarageYrBlt': -4099773671.5096774,\n", " 'GarageCars': -3202894600.2360916,\n", " 'GarageArea': -3616607624.57791,\n", " 'WoodDeckSF': -5528025759.633686,\n", " 'OpenPorchSF': -5064220628.284651,\n", " 'EnclosedPorch': -5933707125.560594,\n", " '3SsnPorch': -6146513222.956445,\n", " 'ScreenPorch': -6221269044.222466,\n", " 'PoolArea': -6167657915.967635,\n", " 'MiscVal': -6172676184.960537,\n", " 'MoSold': -6270464180.500163,\n", " 'YrSold': -6184119294.0204115}" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the transformer stores a dictionary of feature:metric pairs\n", "# the selector will select those features with neg mean squared error\n", "# bigger than the mean of the neg squared error of all features\n", "\n", "sel.feature_performance_" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Negative mean Squared Error')" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "pd.Series(sel.feature_performance_).sort_values(ascending=False).plot.bar(figsize=(20, 5))\n", "plt.title('Performance of ML models trained with individual features')\n", "plt.ylabel('Negative mean Squared Error')" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['LotFrontage',\n", " 'OverallCond',\n", " 'BsmtFinSF2',\n", " 'BsmtUnfSF',\n", " 'LowQualFinSF',\n", " 'BsmtFullBath',\n", " 'BsmtHalfBath',\n", " 'HalfBath',\n", " 'BedroomAbvGr',\n", " 'KitchenAbvGr',\n", " 'WoodDeckSF',\n", " 'OpenPorchSF',\n", " 'EnclosedPorch',\n", " '3SsnPorch',\n", " 'ScreenPorch',\n", " 'PoolArea',\n", " 'MiscVal',\n", " 'MoSold',\n", " 'YrSold']" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the features that will be dropped\n", "sel.features_to_drop_" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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zLY7KCIifjqSbmV9afUyppVW97izdiaSHrS9Y+s4ok9dJ4AiIqIdSXcAewIrRzdtku6yvUfbyCI2TNLBwOeBdwO/T9lFfJjtVU0Di4jo2BBLq2ci6SHbO7SOI/q0SesAIiKiW8/Wmn0DSNpyI/8+5ilJp0x5/J5pz5019xFNVt0x/H7gm8DOwMFJ/kRETNwQS6tnMqTfNeZYdgBFRMRESDoZeAPwNuAvgOOBv7f9maaBxUsmaaXtpdMfz3S80ElaQ7n5FrCI0ox/bT227cUNw4uI6NaQSqunXGte8BSwhe1ee/VGY3ljRUTERNg+R9LbgNXArsDptq9qHFa8PJrl8UzHC5rtrVvHEBExRLY3bR3DXMm1JlpJAigiIiamJnyuGo1xbR1PvGye5fFMxxERERExD6UELCIixmpDY1yBLse49m5I2/IjIiIiepUEUEREjFXGuEZEREREzD+ZAhYREeO2me0rbV8M/MD2TQC2728cV0RERETEYCUBFBER45YxrhERERER80xKwCIiYqzSLyYiIiIiYv5JAigiIiIiIiIionMpAYuIiIiIiIiI6FwSQBERERERERERnUsCKCIiIiIiIiKic0kARURERERERER07v8B03sVtGzlbl8AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# note that these features have the biggest negative mean squared error\n", "pd.Series(sel.feature_performance_)[sel.features_to_drop_].sort_values(ascending=False).plot.bar(figsize=(20, 5))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "fengine", "language": "python", "name": "fengine" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.2" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": "block", "toc_window_display": true } }, "nbformat": 4, "nbformat_minor": 2 }