{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Plot Sequential Feature Selection" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A matplotlib utility function for visualizing results from [`feature_selection.SequentialFeatureSelector`](`../feature_selection/SequentialFeatureSelector.md`)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "> from mlxtend.plotting import plot_sequential_feature_selection" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Overview" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "for more information on sequential feature selection, please see [`feature_selection.SequentialFeatureSelector`](`../feature_selection/SequentialFeatureSelector.md`)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example 1 - Plotting the results from SequentialFeatureSelector" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Features: 4/4" ] }, { "data": { "image/png": "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\n6W1gCPBsoWoI6fJMZ1lKSjj6RcSCZpYZDCyMiHtrBYVxKjUfkXositaRkpA+wKZc1urvISLW5n0/\nIiJmtLDcB8AjwCOSfg/MkdQ7It5rbh2zrs6JiFk3EhGvSvoNcEWpaj4wTel5I78jfWs+nR0nw111\nuaTlpDElVwK9SWMkAO4mfZOfIekW0sDXI4FzgQsjoj23Gd8K3ChpBSnhuoB06ee7nbIXpJN5vrx1\ne06qFgAHkRKeTRHxMGm8xhhJI0i3/I4BTgRWFJp6ExghaQCwnnSsl5MGud4o6XrgKNLxaovJwJ2S\n3iddeukFDAJ6R8QdksaTepiWkHqtzgHWOAmx7s53zZh1P5NI/3b/d4KPiGXAZXl6iXQCu7UNbbXl\nDo8ArsnTS6TegpERsSFv+x3SSbyBdJfLy8BtwMZCEtLWZOSuvO6U3M6IvK1/tBJzu0TEDcBPSfu0\nlPTMkTPY8ZyRe4FZwAzSpZnPkBKuovtIPVOLgLXA4Ij4DzCadNfL34AfkwactiWmB0gJ3fmkfZ9P\nGthai6l2eeivpB6ivjlms25N7fuyYmZmZtZ53CNiZmZmlXEiYmZmZpVxImJmZmaVcSJiZmZmlXEi\nYmZmZpVxImJmZmaVcSJiZmZmlXEiYmZmZpVxImJmZmaVcSJiZmZmlXEiYmZmZpVxImJmZmaV+S+R\n/11P//GMYAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from mlxtend.plotting import plot_sequential_feature_selection as plot_sfs\n", "from mlxtend.feature_selection import SequentialFeatureSelector as SFS\n", "import matplotlib.pyplot as plt\n", "from sklearn.neighbors import KNeighborsClassifier\n", "from sklearn.datasets import load_iris\n", "\n", "iris = load_iris()\n", "X = iris.data\n", "y = iris.target\n", "knn = KNeighborsClassifier(n_neighbors=4)\n", "\n", "sfs = SFS(knn, \n", " k_features=4, \n", " forward=True, \n", " floating=False, \n", " scoring='accuracy',\n", " cv=5)\n", "\n", "sfs = sfs.fit(X, y)\n", "\n", "fig1 = plot_sfs(sfs.get_metric_dict(), kind='std_dev')\n", "\n", "plt.ylim([0.8, 1])\n", "plt.title('Sequential Forward Selection (w. StdDev)')\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# API" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "## plot_sequential_feature_selection\n", "\n", "*plot_sequential_feature_selection(metric_dict, kind='std_dev', color='blue', bcolor='steelblue', marker='o', alpha=0.2, ylabel='Performance', confidence_interval=0.95)*\n", "\n", "Plot feature selection results.\n", "\n", "**Parameters**\n", "\n", "- `metric_dict` : mlxtend.SequentialFeatureSelector.get_metric_dict() object\n", "\n", "\n", "- `kind` : str (default: \"std_dev\")\n", "\n", " The kind of error bar or confidence interval in\n", " {'std_dev', 'std_err', 'ci', None}.\n", "\n", "- `color` : str (default: \"blue\")\n", "\n", " Color of the lineplot (accepts any matplotlib color name)\n", "\n", "- `bcolor` : str (default: \"steelblue\").\n", "\n", " Color of the error bars / confidence intervals\n", " (accepts any matplotlib color name).\n", "\n", "- `marker` : str (default: \"o\")\n", "\n", " Marker of the line plot\n", " (accepts any matplotlib marker name).\n", "\n", "- `alpha` : float in [0, 1] (default: 0.2)\n", "\n", " Transparency of the error bars / confidence intervals.\n", "\n", "- `ylabel` : str (default: \"Performance\")\n", "\n", " Y-axis label.\n", "\n", "- `confidence_interval` : float (default: 0.95)\n", "\n", " Confidence level if `kind='ci'`.\n", "\n", "**Returns**\n", "\n", "- `fig` : matplotlib.pyplot.figure() object\n", "\n", "\n", "\n" ] } ], "source": [ "with open('../../api_modules/mlxtend.plotting/plot_sequential_feature_selection.md', 'r') as f:\n", " s = f.read()\n", "print(s)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "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.6.1" } }, "nbformat": 4, "nbformat_minor": 1 }