From 5ad2177c4506a6382edb6fcdf3014728c6fdd1db Mon Sep 17 00:00:00 2001 From: zzcysta Date: Fri, 20 Dec 2019 13:01:00 -0600 Subject: [PATCH 1/2] EnsembleVotingRegressor #602 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Added EnsembleVotingRegressor in regressor folder -also including my own test file in the test folder. --- mlxtend/regressor/__init__.py | 3 +- mlxtend/regressor/ensemble_vote.py | 177 +++++++++++++ .../test_ensemble_voting_regressor.ipynb | 246 ++++++++++++++++++ 3 files changed, 425 insertions(+), 1 deletion(-) create mode 100644 mlxtend/regressor/ensemble_vote.py create mode 100644 mlxtend/regressor/tests/test_ensemble_voting_regressor.ipynb diff --git a/mlxtend/regressor/__init__.py b/mlxtend/regressor/__init__.py index 8a8648d88..01d4867ea 100644 --- a/mlxtend/regressor/__init__.py +++ b/mlxtend/regressor/__init__.py @@ -7,5 +7,6 @@ from .linear_regression import LinearRegression from .stacking_regression import StackingRegressor from .stacking_cv_regression import StackingCVRegressor +from .ensemble_vote import EnsembleVotingRegressor -__all__ = ["LinearRegression", "StackingRegressor", "StackingCVRegressor"] +__all__ = ["LinearRegression", "StackingRegressor", "StackingCVRegressor", "EnsembleVotingRegressor"] diff --git a/mlxtend/regressor/ensemble_vote.py b/mlxtend/regressor/ensemble_vote.py new file mode 100644 index 000000000..5ee2cebb4 --- /dev/null +++ b/mlxtend/regressor/ensemble_vote.py @@ -0,0 +1,177 @@ +# Ensemble Voting Regressor + +from ..externals.estimator_checks import check_is_fitted +from ..externals.name_estimators import _name_estimators +from sklearn.base import BaseEstimator +import numpy as np +from sklearn.base import RegressorMixin +from sklearn.base import TransformerMixin +from sklearn.base import clone +from ..externals import six + + +class EnsembleVotingRegressor (BaseEstimator, RegressorMixin, TransformerMixin): + + """A Ensemble voting regressor for scikit-learn estimators for regression. + + Parameters + ---------- + regressors : array-like, shape = [n_regressors] + A list of regressors. + Invoking the `fit` method on the `EnsembleVotingRegressor` will fit clones + of those original regressors that will + be stored in the class attribute + `self.regr_`. + weights : array-like, shape = [n_classifiers], optional (default=`None`) + Sequence of weights (`float` or `int`) to weight the occurances of + predicted class labels (`hard` voting) or class probabilities + before averaging (`soft` voting). Uses uniform weights if `None`. + verbose : int, optional (default=0) + Controls the verbosity of the building process. + - `verbose=0` (default): Prints nothing + - `verbose=1`: Prints the number & name of the regressor being fitted + - `verbose=2`: Prints info about the parameters of the + regressor being fitted + - `verbose>2`: Changes `verbose` param of the underlying regressor to + self.verbose - 2 + + Attributes + ---------- + regressors : array-like, shape = [n_predictions] + The unmodified input regressors + regr_ : list, shape=[n_regressors] + Fitted regressors (clones of the original regressors) + refit : bool (default: True) + Clones the regressors for stacking regression if True (default) + or else uses the original ones, which will be refitted on the dataset + upon calling the `fit` method. Setting refit=False is + recommended if you are working with estimators that are supporting + the scikit-learn fit/predict API interface but are not compatible + to scikit-learn's `clone` function. + + """ + def __init__(self, regressors, weights=None, verbose=0, refit=True): + + self.regressors = regressors + self.weights = weights + self.verbose = verbose + self.refit = refit + self.named_clfs = {key: value for key, value in _name_estimators(regressors)} + + def fit(self, X, y, sample_weight=None): + """Learn weight coefficients from training data for each classifier. + + Parameters + ---------- + X : {array-like, sparse matrix}, shape = [n_samples, n_features] + Training vectors, where n_samples is the number of samples and + n_features is the number of features. + + y : array-like, shape = [n_samples] + Target values. + + sample_weight : array-like, shape = [n_samples], optional + Sample weights passed as sample_weights to each regressor + in the regressors list . + Raises error if some regressor does not support + sample_weight in the fit() method. + + Returns + ------- + self : object + + """ + if self.weights and len(self.weights) != len(self.regressors): + raise ValueError('Number of regressors and weights must be equal' + '; got %d weights, %d regressors' + % (len(self.weights), len(self.regressors))) + + if not self.refit: + self.regr_ = [clf for clf in self.regressors] + + else: + self.regr_ = [clone(clf) for clf in self.regressors] + + if self.verbose > 0: + print("Fitting %d regressors..." % (len(self.regressors))) + + for reg in self.regr_: + + if self.verbose > 0: + i = self.regr_.index(reg) + 1 + print("Fitting clf%d: %s (%d/%d)" % + (i, _name_estimators((reg,))[0][0], i, + len(self.regr_))) + + if self.verbose > 2: + if hasattr(reg, 'verbose'): + reg.set_params(verbose=self.verbose - 2) + + if self.verbose > 1: + print(_name_estimators((reg,))[0][1]) + + if sample_weight is None: + reg.fit(X, y) + else: + reg.fit(X, y, sample_weight=sample_weight) + return self + + + + def predict(self, X): + """ Predict class labels for X. + + Parameters + ---------- + X : {array-like, sparse matrix}, shape = [n_samples, n_features] + Training vectors, where n_samples is the number of samples and + n_features is the number of features. + + Returns + ---------- + maj : array-like, shape = [n_samples] + Predicted class labels. + + """ + check_is_fitted(self, 'regr_') + res = np.average(self._predict(X), axis=1, + weights=self.weights) + return res + + def transform(self, X): + """ Return class labels or probabilities for X for each estimator. + + Parameters + ---------- + X : {array-like, sparse matrix}, shape = [n_samples, n_features] + Training vectors, where n_samples is the number of samples and + n_features is the number of features. + + Returns + ------- + If `voting='soft'` : array-like = [n_classifiers, n_samples, n_classes] + Class probabilties calculated by each classifier. + If `voting='hard'` : array-like = [n_classifiers, n_samples] + Class labels predicted by each classifier. + + """ + check_is_fitted(self, 'regr_') + return self._predict(X) + + def get_params(self, deep=True): + """Return estimator parameter names for GridSearch support.""" + if not deep: + return super(EnsembleVotingRegressor, self).get_params(deep=False) + else: + out = self.named_clfs.copy() + for name, step in six.iteritems(self.named_clfs): + for key, value in six.iteritems(step.get_params(deep=True)): + out['%s__%s' % (name, key)] = value + for key, value in six.iteritems(super(EnsembleVotingRegressor, + self).get_params(deep=False)): + out['%s' % key] = value + return out + + def _predict(self, X): + """Collect results from clf.predict calls.""" + return np.asarray([clf.predict(X) for clf in self.regr_]).T diff --git a/mlxtend/regressor/tests/test_ensemble_voting_regressor.ipynb b/mlxtend/regressor/tests/test_ensemble_voting_regressor.ipynb new file mode 100644 index 000000000..33e835249 --- /dev/null +++ b/mlxtend/regressor/tests/test_ensemble_voting_regressor.ipynb @@ -0,0 +1,246 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import warnings\n", + " \n", + "warnings.filterwarnings('ignore')" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from mlxtend.regressor import EnsembleVotingRegressor\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from sklearn import datasets\n", + "from sklearn.ensemble import GradientBoostingRegressor\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.linear_model import LinearRegression\n", + "\n", + "\n", + "# Loading some example data\n", + "X, y = datasets.load_boston(return_X_y=True)\n", + "\n", + "# Training classifiers\n", + "reg1 = GradientBoostingRegressor(random_state=1, n_estimators=10)\n", + "reg2 = RandomForestRegressor(random_state=1, n_estimators=10)\n", + "reg3 = LinearRegression()\n", + "ereg = EnsembleVotingRegressor([reg1, reg2, reg3] )\n", + "\n", + "reg1.fit(X, y)\n", + "reg2.fit(X, y)\n", + "reg3.fit(X, y)\n", + "ereg.fit(X, y)\n", + "\n", + "xt = X[:20]\n", + "labels = y[:20]\n", + "\n", + "plt.figure(figsize=(12, 8))\n", + "plt.plot(reg1.predict(xt), 'gd', label='GradientBoostingRegressor')\n", + "plt.plot(reg2.predict(xt), 'b^', label='RandomForestRegressor')\n", + "plt.plot(reg3.predict(xt), 'ys', label='LinearRegression')\n", + "plt.plot(ereg.predict(xt), 'r*', label='EnsembleVotingRegressor')\n", + "plt.plot(labels, 'black', label='labels')\n", + "\n", + "plt.tick_params(axis='x', which='both', bottom=False, top=False,\n", + " labelbottom=False)\n", + "plt.ylabel('predicted')\n", + "plt.xlabel('training samples')\n", + "plt.legend(loc=\"best\")\n", + "plt.title('Comparison of individual predictions with averaged')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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06cPzZo1w9PTk+HDh7NmzRoA6tevz4ABA847PsqiTwRUxVqzZg3Hjh1j6tSphIaG8uOPP5a9Ui2QnJzM448/XunyciUxxmC324mNjXV+vKaUUuri0aCBVbTLw8ODvLw8wPqE8h//+AdJSUkkJSWxd+9e+vbty6JFi0hLSyMhIYGkpCRatGhBdnY2QLGfYsbFxbF//378/f2ZNGmSs+0RI0Y4205OTmbKlCmUdU+Za/siwscff+xs49dff6VLly4MGzaMzz//nIYNG9KvXz9WrVpFx44dSUhIIDAwkAkTJjB16tQi7Za2XS8vL6zRs0WPj7Jo0qyKlZiYjIeHD++//yUZGRmEh4fz1FNPcfr0aXeHVqKqLC9XGrvdzvHjx0lK0ufyKKXUpaBfv368+eab5ObmAtbQiKysLDIyMmjevDleXl7OhLgsDRs2ZM6cObz33nscP36c6Oholi1bxtGjRwE4fvw4+/fvp0ePHnz33XecOHGCvLw8Pv7441Lj+8c//uFMeDc5HlyQkpJC+/bteeyxxxg0aBBbtmzh8OHDNGrUiHvuuYdnnnmGxMTEIm317NmT7777jmPHjpGfn8/ixYuJjIys0HGrazRpVsVasSKZ/PxObNjQn+3bt/PQQw8xe/ZsAgMDa22d4qosL1ea6OhoQMc1K6VURXl5tbig6eV1+vRp2rRp4/wq743go0ePpmvXroSEhBAQEMCDDz5IXl4ew4cPJz4+nu7du7No0SI6d+5crvZatWrF0KFDmTt3Ll27dmX69On07duXoKAgYmJiSE1NpXXr1kycOJGePXtit9vp2rXreUMpCj3//PPk5uYSFBREQEAAzz//PABLly4lICAAm83Grl27uO+++9i6davz5sAXX3yR55577rzYXnrpJaKioggODiYkJITbbrutXPtV19VYybnK0JJzNSs1Fa666lrgRho2XERKCrRsCd999x2jR4/m559/ZsyYMcycObPEX/CaVh3l5UoTFBREixYt9LHaSinlcCEl55QlMzMTHx8f8vLyuP322xk1ahS33367u8OqU2pFyTl18Zo8+QzwK9CZ/HyYNs2aHhkZyZYtWxg3bhzz5s2ja9eufPHFF+4MFai+8nKlsdvtrF27ljNnztTI9pRSSl16pkyZgs1mIyAggHbt2jkrbqjaSZNmVURqKixcuAcQoBM5OTB/PvzmqDXfsGFDZsyYwY8//siVV17JoEGDGDp0KO56amN1lpcrjd1u5+zZs6xfv75GtqeUUurSM2vWLJKSkti1axevv/668yY8VTtp0qyKmDYNCgqSHa86ARTpbS7UvXt34uPjmTp1Kh9//DFdunThww8/LPNu4KpWneXlShMREYGXl5eOa1ZKKaXqCE2aVREbNkBeXmHSfD0AOTnw/ffnL1u/fn2ef/55Nm3axHXXXcfw4cMZNGgQBw8erJFYq7u8XGl8fHwIDw/XpFkppZSqIzRpVkVs2gTDh+/immuuQaQRIiBiTS+Jv78/69evZ/bs2axatYquXbvy9ttvU1BQUG1x1lR5udLY7XYSExNJT0+v8W0rpZRSqmZp0qzOk5ycTKdOnS5oHQ8PD5544gm2bt1KWFgYDz30ENHR0fz888/VEmNhebl///vf1VperjR2ux0RYdWqVW7ZvlJKKaVqjibNqggRqVDSXKh9+/asXLmSd955h8TERAIDA5k1a1aVPlVo1apVzJw5kzFjxri1NE9YWBh+fn46REMppWqBPn368N///rfItDlz5vDwww8Xu/y+ffv48MMPna/j4+N57LHHKrz9kSNH0q5dO2w2G8HBwcTGxla4LVU7adKsivjtt984depUhZNmsB41PXr0aHbs2EHfvn0ZN24cN9xwA1u3bq10fOnp6dx333107NiR2bNnV7q9yvD09CQqKkqTZqWUqqjUVIiM/F+JpkoYOnQoS5YsKTJtyZIlDB06tNjlz02au3fvzuuvv16pGGbOnElSUhJz5szhoYceqlRbhWryUdb62OzSadKsikhOtm4CrEzSXKh169Z8+umnLFmyhH379hEaGsqUKVPIycmpUHsiwtixYzl69GiNlpcrjd1uJyUlhZSUFHeHopRSF59p02DdOpg6tdJN3XXXXXz55ZecPXsWsJLiw4cP07t3b8aNG0dAQACBgYEsXboUgGeffZa1a9dis9mYPXs2q1evZsCAAYBVP3nUqFH06dOH9u3bF0mmp02bRufOnYmJiWHo0KHMmjXrvFjCw8M5dOiQ83VCQgKRkZGEhobSr18/UlNTAdi4cSNBQUGEh4c7YwRYsGABQ4YMYeDAgfTt2xewEvKwsDCCgoKYPHkyAFlZWfTv35/g4GACAgKK7FvXrl0JCgrimWeeAWD//v1ER0cTFBREdHQ0v/76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atYMVGfPntU7mstatWqVAtR///vf20+OGqWUm5v5vgjvv/++AtR7771nh5S2ZzKZVEQEClA9enDXVA17QqZnCCHE3YKCgjCZTBw9etQux8vrlBEUFMSnn35q8UIQbdq04ZlnnmHu3LmkpKTYOKX9vP/++1y+fJkZM2boHUUAf/vbTNzdh2EyRQKjgadJTd2Fp2dDvaO5rJ49e1K1alXzFI3Klc39JhcuNA+3Llxofly5coFtDhw4wMSJE+nVqxcvvfSSTsmtS9M0hg6FiAgcdsRZimYhRIVmzw4aJXXKKMlrr71Geno6b731lo0S2telS5d499136devH/fff7/ecQQwc6aGm9uHwEhgKvAlJtOfkJkztmMwGBg4cCBr164l7ejREvukX7t2jZCQEPz8/FiyZInTzWMujpeX363COSUFsrPNz9utT30JPPQOIIQQemrcuDG+vr42n9d88+ZN+vfvT1JSEjt37qRBgwal3kfLli0JDw9n3rx5vPzyy9SrV88GSe3n7bff5vr167z++ut6RxG59u2DrCwPYOGt5zIzYe9e/TJVBBEREURHR7PhwAGCi+mTrpTixRdf5MyZM3z77bfUrFlT5+TW1aRJEk2aQEaGArJ56ilPKlc2r7nkCGSkWQhRoWmahtFotOlIs8rXKWPJkiXFdsooyauvvkpWVhZRUVFWTGh/KSkpfPDBBwQHB9OmTRu944hcsbGFraFufl7YTqdOnfD392fZsmXF9kn/5JNPiImJYcaMGTz22GM6JraNyMi8KRka4AlATg4Oc6ZDimYhRIVnNBo5fPhwwavXrSh/p4yQkJBy7atp06YMGTKEjz76iHPnzlkpof29+eabpKen89prr+kdRQjdubm5ERYWxubNm7mwaBHMnw+Bgeb7tWsBOHLkCGPHjqVr165MnjxZ58S2sW+f+cxGfo50pkOKZiFEhWc0GklNTeXUKesvVb1x40b+7//+j4EDB/Lqq69aZZ//+Mc/UEoxc+ZMq+zP3v744w/mz59PREQELVq00DuOEA4hPDyc7OxsVq1adddrqampBAcH4+vry+eff27xBcTOxtHPdLjm37oQQpSCrS4GLGunjJI0atSIF198kejoaBIcZbJfKURFRZGdnc306dP1jiKEw2jbti0BAQHmKRp3GDNmDHFxcSxduhQ/P8e4KK4ikqJZCFHhtWrV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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "from sklearn.ensemble import VotingRegressor\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from sklearn import datasets\n", + "from sklearn.ensemble import GradientBoostingRegressor\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.linear_model import LinearRegression\n", + "\n", + "\n", + "# Loading some example data\n", + "X, y = datasets.load_boston(return_X_y=True)\n", + "\n", + "# Training classifiers\n", + "reg1 = GradientBoostingRegressor(random_state=1, n_estimators=10)\n", + "reg2 = RandomForestRegressor(random_state=1, n_estimators=10)\n", + "reg3 = LinearRegression()\n", + "ereg = VotingRegressor([('gb', reg1), ('rf', reg2), ('lr', reg3)])\n", + "# ereg = EnsembleVotingRegressor([reg1, reg2, reg3])\n", + "\n", + "reg1.fit(X, y)\n", + "reg2.fit(X, y)\n", + "reg3.fit(X, y)\n", + "ereg.fit(X, y)\n", + "\n", + "xt = X[:20]\n", + "labels = y[:20]\n", + "\n", + "plt.figure(figsize=(12, 8))\n", + "plt.plot(reg1.predict(xt), 'gd', label='GradientBoostingRegressor')\n", + "plt.plot(reg2.predict(xt), 'b^', label='RandomForestRegressor')\n", + "plt.plot(reg3.predict(xt), 'ys', label='LinearRegression')\n", + "plt.plot(ereg.predict(xt), 'r*', label='VotingRegressor')\n", + "plt.plot(labels, 'black', label='labels')\n", + "\n", + "plt.tick_params(axis='x', which='both', bottom=False, top=False,\n", + " labelbottom=False)\n", + "plt.ylabel('predicted')\n", + "plt.xlabel('training samples')\n", + "plt.legend(loc=\"best\")\n", + "plt.title('Comparison of individual predictions with averaged')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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+++/S1xcnFitVud+Fe2vv7+/rF+/XkREXnjhBXnqqaeccT/66KOlXhMipV+3QJyUko9qT7NSSimlatWUmClk55Usxzidd5opMVOqdTsTJ0501uACREVFcfXVVwP2TsOpU6cSEBCA1Wrl8OHDHD16lI0bN3LHHXfQqFEjmjZtytChQ89r12az8dNPPxEVFYXFYmHmzJklSkDuvPNOAIKDgzlw4ECZ8RWVZ/z222/4+/sze/ZsALZs2cKIESMAeOCBB9i0aVO502+66SbGjBnDu+++S0FBQaWOzbBhw2jQoAE9evTg6NGjAGzatInhw4fToEEDWrduTURERIl1Ro4cSfv27Zk1axZPPPEEAN9//z27du3ipptuwmKxsHTpUlJSUtizZw+dO3d2Dud23333lWhr6NCheHl5Afae6mXLlmGxWOjTpw/p6ens27ePkJAQFi9eTHR0NDt37qRJkyZ07tyZ5ORknnjiCb766iuaNm1KZmYmJ0+eJCwsDIDRo0ezYcOGEse5OmjSrJRSSqla9UrkKzT2aFxiWiOPRrxqvfgb1QB8fX1JSEhwvp8/fz4xMTGkpaUB0Ljx/7a5fPly0tLSiI+PJzExkVatWjmHH6toVAURwdfXl8TERBITE9m5cydff/21c/4VV1wBgJubW6XqaI0xDBkypESid+788qYvXLiQmTNncvDgQSwWC+np6RVusyjGov0p/m9Zli9fzv79+xkxYgQTJ050rhMVFeU8Frt27WLRokUVtlX8XIgIb731lrON/fv3M2DAAPr378+GDRto164dDzzwAMuWLeOqq65i+/bthIeHM3/+fMaNG1fhvhbfVlVo0qyUUkqpWjW251gG+QzC090TAE93T4b4DOFBy4NVaveWW24hJyeHBQsWOKeVNSJFZmYmLVu2xMPDg9jYWFJSUgDo378/a9as4cyZM5w6dYrPP//8vHW7du1KWloaW7ZsAexPQ0xKKn8EkCZNmnDq1Kky52/atIkuXboAcOONN7Jy5UrAnqj269ev3Om//PILffr0YcaMGTRv3pyDBw9WuL3S9OvXj48//pjCwkKOHj3K+vXrz1vGw8ODmTNn8v3337N792769u3L5s2b+fnnnwH78d67dy/dunUjOTnZ2dNe3k2OAwcOZMGCBeTl5QGwd+9esrOzSUlJoWXLlowfP56HHnqIhIQEjh8/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hk+PHj30zDPPaOPGjdqyZUubxykpaXz/X7Tz59XmXw8XFhaqd+/emjt3bptrAoBkQGgGgMCIESMkXd4OGonYKcNn5syZyszMVEFBgZxzbRpjxw6pru7bbXV10vY2/Hp4586dWr9+vZ5++mn16tWrTfUAQLIgNANAoH///urTp483NCdqpwyfq666SvPnz9emTZv0/vvvt2mMjvz1cGFhofr27avZs2e3qRYASCbW1tWIeMrKynK7d+9OdBkAUsCECRN08uRJffjhh81er66uVnZ2tmpra/XBBx8k5I1/Lfn666916623asCAAdq2bZvMLCF1bNmyRffee6+ef/55PfXUUwmpAehstm3LVH39iYva09P76e67O+50TrTMzCqcc1lN25NjeQQAksSIESNUWVmpc+fOXXQteqeMtWvXJl1glqSMjAzl5+drx44d2rBhQ0JqcM4pPz9fmZmZys3NTUgNQGfUXGBuqR3xRWgGgCihUEi1tbU6dOjQt9qb7pSRnZ2doAr9pk2bpkGDBrXr2eb2eO+997R582YtWLAg7ntWA0CsEJoBIMqF47Sbnq53YaeMgoKChO+U4dOtWzeFw2FVVFRo3bp1cZ3bOaeCggINGDBA06dPj+vcABBLhGYAiHLbbbcpIyNDW7fu09ix0vHj394po6ioKNElXpZHHnlEgwcPVmFhoRqa7iEXQ++++6527typ/Px8de/ePW7zAkCsEZoBIEpaWpqGDRum9ev3aetWac6c5NwpwyctLU3hcFiVlZV6++234zLnhVXmm266SdOmTYvLnAAQL53jf38AiKPBg0P69NN9amio1ptv/lhXX91T69at63TP506dOlV33HGHwuGwzp8/H/P51q5dqz179igcDis9PT3m8wFXmvT0fq1qR3ylJboAAEg2f/hDSNLLkibIueMaM2ZTUu6U4dO1a1dFIhFNnjxZq1at0qOPPhqzuRoaGlRYWKjBgwcrJycnZvMAVzK2lUturDQDQJSqKmnXrhHBq/2SXtM772TreCf9Xvbwww8rFAqpuLhY9fX1MZvnrbfe0oEDB1RUVKS0NNZjAFx5CM0AEKWkRHJuuKTrJUUk/bXOn29s74y6dOmiSCSijz/+WCtXrozJHOfOnVM4HNbQoUM1derUmMwBAIlGaAaAKDt2SPX1V0uqklQgSaqrk7ZvT2hZ7fLQQw8p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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "from mlxtend.regressor import StackingRegressor\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from sklearn import datasets\n", + "from sklearn.ensemble import GradientBoostingRegressor\n", + "from sklearn.ensemble import RandomForestRegressor\n", + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.svm import SVR\n", + "\n", + "# Loading some example data\n", + "X, y = datasets.load_boston(return_X_y=True)\n", + "\n", + "# Training classifiers\n", + "reg1 = GradientBoostingRegressor(random_state=1, n_estimators=10)\n", + "reg2 = RandomForestRegressor(random_state=1, n_estimators=10)\n", + "reg3 = LinearRegression()\n", + "svr_rbf = SVR(kernel='rbf')\n", + "ereg = StackingRegressor(regressors=[reg1, reg2, reg3], meta_regressor=svr_rbf)\n", + "\n", + "reg1.fit(X, y)\n", + "reg2.fit(X, y)\n", + "reg3.fit(X, y)\n", + "ereg.fit(X, y)\n", + "\n", + "xt = X[:20]\n", + "labels = y[:20]\n", + "\n", + "plt.figure(figsize=(12, 8))\n", + "plt.plot(reg1.predict(xt), 'gd', label='GradientBoostingRegressor')\n", + "plt.plot(reg2.predict(xt), 'b^', label='RandomForestRegressor')\n", + "plt.plot(reg3.predict(xt), 'ys', label='LinearRegression')\n", + "plt.plot(ereg.predict(xt), 'r*', label='StackingRegressor')\n", + "plt.plot(labels, 'black', label='labels')\n", + "\n", + "plt.tick_params(axis='x', which='both', bottom=False, top=False,\n", + " labelbottom=False)\n", + "plt.ylabel('predicted')\n", + "plt.xlabel('training samples')\n", + "plt.legend(loc=\"best\")\n", + "plt.title('Comparison of individual predictions with averaged')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "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.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 117aa812b5aedd39c67fecec603a47915a29fe2a Mon Sep 17 00:00:00 2001 From: zzcysta Date: Sat, 21 Dec 2019 15:50:27 -0600 Subject: [PATCH 2/2] move file into right folder Hi professor, I have move ensemble_vote_regressor into the right folder and also change the form of test file. However, I can't fully understand the working flow of the test file so I just imitate the test file for ensemble_voting_classifer. I have also include my own test outputs which is using graph to compare the performance of EnsembleVoting, Stacking and Voting in Regressor. It's my first time trying to tackle such problem. So I am willing to receive any kinds of advices and please feel free to correct any of my mistakes! --- .../EnsembleVotingRegressor.png | Bin 0 -> 39250 bytes .../StackingRegressor.png | Bin 0 -> 38678 bytes .../VotingRegressor.png | Bin 0 -> 38681 bytes .../regressor/ensemble_vote_regressor.py | 177 +++++++++++ .../tests/test_ensemble_vote_regressor.py | 300 ++++++++++++++++++ .../test_ensemble_voting_regressor.ipynb | 246 -------------- 6 files changed, 477 insertions(+), 246 deletions(-) create mode 100644 docs/sources/user_guide/regressor/Eensemble_vote_regressor_files/EnsembleVotingRegressor.png create mode 100644 docs/sources/user_guide/regressor/Eensemble_vote_regressor_files/StackingRegressor.png create mode 100644 docs/sources/user_guide/regressor/Eensemble_vote_regressor_files/VotingRegressor.png create mode 100644 docs/sources/user_guide/regressor/ensemble_vote_regressor.py create mode 100644 mlxtend/regressor/tests/test_ensemble_vote_regressor.py delete mode 100644 mlxtend/regressor/tests/test_ensemble_voting_regressor.ipynb diff --git a/docs/sources/user_guide/regressor/Eensemble_vote_regressor_files/EnsembleVotingRegressor.png b/docs/sources/user_guide/regressor/Eensemble_vote_regressor_files/EnsembleVotingRegressor.png new file mode 100644 index 0000000000000000000000000000000000000000..3d720155c6f0dd95b737a782085166d573ede095 GIT binary patch literal 39250 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�Q2FB_kAgk)X78g?yO0*dF=wXn{(9{S8LgvlSlU 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 literal 0 HcmV?d00001 diff --git a/docs/sources/user_guide/regressor/Eensemble_vote_regressor_files/VotingRegressor.png b/docs/sources/user_guide/regressor/Eensemble_vote_regressor_files/VotingRegressor.png new file mode 100644 index 0000000000000000000000000000000000000000..ffc4c5a61803c6d855b9680ef1ca0a2671d84392 GIT binary patch literal 38681 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 fHUBTe`SKwd2{cCRhFkJ>0%Z literal 0 HcmV?d00001 diff --git a/docs/sources/user_guide/regressor/ensemble_vote_regressor.py b/docs/sources/user_guide/regressor/ensemble_vote_regressor.py new file mode 100644 index 000000000..5ee2cebb4 --- /dev/null +++ b/docs/sources/user_guide/regressor/ensemble_vote_regressor.py @@ -0,0 +1,177 @@ +# Ensemble Voting Regressor + +from ..externals.estimator_checks import check_is_fitted +from ..externals.name_estimators import _name_estimators +from sklearn.base import BaseEstimator +import numpy as np +from sklearn.base import RegressorMixin +from sklearn.base import TransformerMixin +from sklearn.base import clone +from ..externals import six + + +class EnsembleVotingRegressor (BaseEstimator, RegressorMixin, TransformerMixin): + + """A Ensemble voting regressor for scikit-learn estimators for regression. + + Parameters + ---------- + regressors : array-like, shape = [n_regressors] + A list of regressors. + Invoking the `fit` method on the `EnsembleVotingRegressor` will fit clones + of those original regressors that will + be stored in the class attribute + `self.regr_`. + weights : array-like, shape = [n_classifiers], optional (default=`None`) + Sequence of weights (`float` or `int`) to weight the occurances of + predicted class labels (`hard` voting) or class probabilities + before averaging (`soft` voting). Uses uniform weights if `None`. + verbose : int, optional (default=0) + Controls the verbosity of the building process. + - `verbose=0` (default): Prints nothing + - `verbose=1`: Prints the number & name of the regressor being fitted + - `verbose=2`: Prints info about the parameters of the + regressor being fitted + - `verbose>2`: Changes `verbose` param of the underlying regressor to + self.verbose - 2 + + Attributes + ---------- + regressors : array-like, shape = [n_predictions] + The unmodified input regressors + regr_ : list, shape=[n_regressors] + Fitted regressors (clones of the original regressors) + refit : bool (default: True) + Clones the regressors for stacking regression if True (default) + or else uses the original ones, which will be refitted on the dataset + upon calling the `fit` method. Setting refit=False is + recommended if you are working with estimators that are supporting + the scikit-learn fit/predict API interface but are not compatible + to scikit-learn's `clone` function. + + """ + def __init__(self, regressors, weights=None, verbose=0, refit=True): + + self.regressors = regressors + self.weights = weights + self.verbose = verbose + self.refit = refit + self.named_clfs = {key: value for key, value in _name_estimators(regressors)} + + def fit(self, X, y, sample_weight=None): + """Learn weight coefficients from training data for each classifier. + + Parameters + ---------- + X : {array-like, sparse matrix}, shape = [n_samples, n_features] + Training vectors, where n_samples is the number of samples and + n_features is the number of features. + + y : array-like, shape = [n_samples] + Target values. + + sample_weight : array-like, shape = [n_samples], optional + Sample weights passed as sample_weights to each regressor + in the regressors list . + Raises error if some regressor does not support + sample_weight in the fit() method. + + Returns + ------- + self : object + + """ + if self.weights and len(self.weights) != len(self.regressors): + raise ValueError('Number of regressors and weights must be equal' + '; got %d weights, %d regressors' + % (len(self.weights), len(self.regressors))) + + if not self.refit: + self.regr_ = [clf for clf in self.regressors] + + else: + self.regr_ = [clone(clf) for clf in self.regressors] + + if self.verbose > 0: + print("Fitting %d regressors..." % (len(self.regressors))) + + for reg in self.regr_: + + if self.verbose > 0: + i = self.regr_.index(reg) + 1 + print("Fitting clf%d: %s (%d/%d)" % + (i, _name_estimators((reg,))[0][0], i, + len(self.regr_))) + + if self.verbose > 2: + if hasattr(reg, 'verbose'): + reg.set_params(verbose=self.verbose - 2) + + if self.verbose > 1: + print(_name_estimators((reg,))[0][1]) + + if sample_weight is None: + reg.fit(X, y) + else: + reg.fit(X, y, sample_weight=sample_weight) + return self + + + + def predict(self, X): + """ Predict class labels for X. + + Parameters + ---------- + X : {array-like, sparse matrix}, shape = [n_samples, n_features] + Training vectors, where n_samples is the number of samples and + n_features is the number of features. + + Returns + ---------- + maj : array-like, shape = [n_samples] + Predicted class labels. + + """ + check_is_fitted(self, 'regr_') + res = np.average(self._predict(X), axis=1, + weights=self.weights) + return res + + def transform(self, X): + """ Return class labels or probabilities for X for each estimator. + + Parameters + ---------- + X : {array-like, sparse matrix}, shape = [n_samples, n_features] + Training vectors, where n_samples is the number of samples and + n_features is the number of features. + + Returns + ------- + If `voting='soft'` : array-like = [n_classifiers, n_samples, n_classes] + Class probabilties calculated by each classifier. + If `voting='hard'` : array-like = [n_classifiers, n_samples] + Class labels predicted by each classifier. + + """ + check_is_fitted(self, 'regr_') + return self._predict(X) + + def get_params(self, deep=True): + """Return estimator parameter names for GridSearch support.""" + if not deep: + return super(EnsembleVotingRegressor, self).get_params(deep=False) + else: + out = self.named_clfs.copy() + for name, step in six.iteritems(self.named_clfs): + for key, value in six.iteritems(step.get_params(deep=True)): + out['%s__%s' % (name, key)] = value + for key, value in six.iteritems(super(EnsembleVotingRegressor, + self).get_params(deep=False)): + out['%s' % key] = value + return out + + def _predict(self, X): + """Collect results from clf.predict calls.""" + return np.asarray([clf.predict(X) for clf in self.regr_]).T diff --git a/mlxtend/regressor/tests/test_ensemble_vote_regressor.py b/mlxtend/regressor/tests/test_ensemble_vote_regressor.py new file mode 100644 index 000000000..1d0cae97a --- /dev/null +++ b/mlxtend/regressor/tests/test_ensemble_vote_regressor.py @@ -0,0 +1,300 @@ +# Sebastian Raschka 2014-2019 +# mlxtend Machine Learning Library Extensions +# Author: Sebastian Raschka +# +# License: BSD 3 clause + +import random +import pytest +from sklearn.naive_bayes import GaussianNB +from sklearn.neighbors import KNeighborsRegressor +from mlxtend.regressor import EnsembleVotingRegressor +from sklearn import datasets +from sklearn.ensemble import GradientBoostingRegressor +from sklearn.ensemble import RandomForestRegressor +from sklearn.linear_model import LinearRegression +import numpy as np +from mlxtend.data import iris_data +from sklearn.model_selection import GridSearchCV +from sklearn.model_selection import cross_val_score +from sklearn.base import clone + +X, y = iris_data() +X = X[:, 1:3] + + +class EnsembleVoteRegressor(object): + pass + + +def test_EnsembleVoteRegressor(): + + np.random.seed(123) + clf1 = GradientBoostingRegressor(random_state=1, n_estimators=10) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], voting='hard') + + scores = cross_val_score(eclf, + X, + y, + cv=5, + scoring='accuracy') + scores_mean = (round(scores.mean(), 2)) + assert(scores_mean == 0.94) + + +def test_sample_weight(): + # with no weight + np.random.seed(123) + clf1 = GradientBoostingRegressor(random_state=1, n_estimators=10) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], voting='hard') + prob1 = eclf.fit(X, y).predict_proba(X) + + # with weight = 1 + w = np.ones(len(y)) + np.random.seed(123) + clf1 = GradientBoostingRegressor(random_state=1, n_estimators=10) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], voting='hard') + prob2 = eclf.fit(X, y, sample_weight=w).predict_proba(X) + + # with random weight + random.seed(87) + w = np.array([random.random() for _ in range(len(y))]) + np.random.seed(123) + clf1 = GradientBoostingRegressor(random_state=1, n_estimators=10) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], voting='hard') + prob3 = eclf.fit(X, y, sample_weight=w).predict_proba(X) + + diff12 = np.max(np.abs(prob1 - prob2)) + diff23 = np.max(np.abs(prob2 - prob3)) + assert diff12 < 1e-3, "max diff is %.4f" % diff12 + assert diff23 > 1e-3, "max diff is %.4f" % diff23 + + +def test_no_weight_support(): + random.seed(87) + w = np.array([random.random() for _ in range(len(y))]) + gbr = GradientBoostingRegressor(random_state=1, n_estimators=10) + rf = RandomForestRegressor(random_state=1, n_estimators=10) + lr = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[gbr, rf, lr], voting='hard') + with pytest.raises(TypeError): + eclf.fit(X, y, sample_weight=w) + + +def test_no_weight_support_with_no_weight(): + gbr = GradientBoostingRegressor(random_state=1, n_estimators=10) + rf = RandomForestRegressor(random_state=1, n_estimators=10) + lr = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[gbr, rf, lr], voting='hard') + eclf.fit(X, y) + + +def test_1model_labels(): + clf = GradientBoostingRegressor(random_state=123, n_estimators=10) + ens_clf_1 = EnsembleVoteRegressor(clfs=[clf], voting='soft', weights=None) + ens_clf_2 = EnsembleVoteRegressor(clfs=[clf], voting='soft', weights=[1.]) + + pred_e1 = ens_clf_1.fit(X, y).predict(X) + pred_e2 = ens_clf_2.fit(X, y).predict(X) + pred_e3 = clf.fit(X, y).predict(X) + + np.testing.assert_equal(pred_e1, pred_e2) + np.testing.assert_equal(pred_e1, pred_e3) + + +def test_1model_probas(): + clf = GradientBoostingRegressor(random_state=123, n_estimators=10) + ens_clf_1 = EnsembleVoteRegressor(clfs=[clf], voting='soft', weights=None) + ens_clf_2 = EnsembleVoteRegressor(clfs=[clf], voting='soft', weights=[1.]) + + pred_e1 = ens_clf_1.fit(X, y).predict_proba(X) + pred_e2 = ens_clf_2.fit(X, y).predict_proba(X) + pred_e3 = clf.fit(X, y).predict_proba(X) + + np.testing.assert_almost_equal(pred_e1, pred_e2, decimal=8) + np.testing.assert_almost_equal(pred_e1, pred_e3, decimal=8) + + +def test_EnsembleVoteRegressor_weights(): + + np.random.seed(123) + clf1 = GradientBoostingRegressor(random_state=1, n_estimators=10) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], + voting='soft', + weights=[1, 2, 10]) + + scores = cross_val_score(eclf, + X, + y, + cv=5, + scoring='accuracy') + scores_mean = (round(scores.mean(), 2)) + assert(scores_mean == 0.93) + + +def test_EnsembleVoteRegressor_gridsearch(): + + clf1 = GradientBoostingRegressor(random_state=1) + clf2 = RandomForestRegressor(random_state=1) + clf3 = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], voting='soft') + + params = {'GradientBoostingRegressor__n_estimators': [20, 200], + 'RandomForestRegressor__n_estimators': [20, 200]} + + grid = GridSearchCV(estimator=eclf, param_grid=params, cv=5, iid=False) + + X, y = iris_data() + grid.fit(X, y) + + mean_scores = [round(s, 2) for s + in grid.cv_results_['mean_test_score']] + + assert mean_scores == [0.95, 0.96, 0.96, 0.95] + + +def test_EnsembleVoteRegressor_gridsearch_enumerate_names(): + + clf1 = GradientBoostingRegressor(random_state=1) + clf2 = EnsembleVoteRegressor(random_state=1) + eclf = EnsembleVoteRegressor(clfs=[clf1, clf1, clf2]) + + params = {'GradientBoostingRegressor-1__n_estimators': [20, 200], + 'GradientBoostingRegressor-2__n_estimators': [20, 200], + 'RandomForestRegressor__n_estimators': [20, 200], + 'voting': ['hard', 'soft']} + + grid = GridSearchCV(estimator=eclf, param_grid=params, cv=5, iid=False) + + X, y = iris_data() + grid = grid.fit(X, y) + + +def test_get_params(): + clf1 = KNeighborsRegressor(n_neighbors=1) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = GaussianNB() + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3]) + + got = sorted(list({s.split('__')[0] for s in eclf.get_params().keys()})) + expect = ['clfs', + 'gaussiannb', + 'kneighborsregressor', + 'randomforestregressor', + 'refit', + 'verbose', + 'voting', + 'weights'] + assert got == expect, got + + +def test_classifier_gridsearch(): + clf1 = KNeighborsRegressor(n_neighbors=1) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = GaussianNB() + eclf = EnsembleVoteRegressor(clfs=[clf1]) + + params = {'clfs': [[clf1, clf1, clf1], [clf2, clf3]]} + + grid = GridSearchCV(estimator=eclf, + param_grid=params, + iid=False, + cv=5, + refit=True) + grid.fit(X, y) + + assert len(grid.best_params_['clfs']) == 2 + + +def test_string_labels_numpy_array(): + np.random.seed(123) + clf1 = LogisticRegression(solver='liblinear', multi_class='ovr') + clf2 = RandomForestClassifier(n_estimators=10) + clf3 = GaussianNB() + eclf = EnsembleVoteClassifier(clfs=[clf1, clf2, clf3], voting='hard') + + y_str = y.copy() + y_str = y_str.astype(str) + y_str[:50] = 'a' + y_str[50:100] = 'b' + y_str[100:150] = 'c' + + scores = cross_val_score(eclf, + X, + y_str, + cv=5, + scoring='accuracy') + scores_mean = (round(scores.mean(), 2)) + assert(scores_mean == 0.94) + + +def test_string_labels_python_list(): + np.random.seed(123) + clf1 = GradientBoostingRegressor(random_state=1, n_estimators=10) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], voting='hard') + + y_str = (['a' for a in range(50)] + + ['b' for a in range(50)] + + ['c' for a in range(50)]) + + scores = cross_val_score(eclf, + X, + y_str, + cv=5, + scoring='accuracy') + scores_mean = (round(scores.mean(), 2)) + assert(scores_mean == 0.94) + + +def test_string_labels_refit_false(): + np.random.seed(123) + clf1 = GradientBoostingRegressor(random_state=1, n_estimators=10) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = LinearRegression() + + y_str = y.copy() + y_str = y_str.astype(str) + y_str[:50] = 'a' + y_str[50:100] = 'b' + y_str[100:150] = 'c' + + clf1.fit(X, y_str) + clf2.fit(X, y_str) + clf3.fit(X, y_str) + + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], + voting='hard', + refit=False) + + eclf.fit(X, y_str) + assert round(eclf.score(X, y_str), 2) == 0.97 + + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], + voting='soft', + refit=False) + + eclf.fit(X, y_str) + assert round(eclf.score(X, y_str), 2) == 0.97 + + +def test_clone(): + + clf1 = GradientBoostingRegressor(random_state=1, n_estimators=10) + clf2 = RandomForestRegressor(random_state=1, n_estimators=10) + clf3 = LinearRegression() + eclf = EnsembleVoteRegressor(clfs=[clf1, clf2, clf3], + voting='hard', + refit=False) + clone(eclf) diff --git a/mlxtend/regressor/tests/test_ensemble_voting_regressor.ipynb b/mlxtend/regressor/tests/test_ensemble_voting_regressor.ipynb deleted file mode 100644 index 33e835249..000000000 --- a/mlxtend/regressor/tests/test_ensemble_voting_regressor.ipynb +++ /dev/null @@ -1,246 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import warnings\n", - " \n", - "warnings.filterwarnings('ignore')" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "

" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from mlxtend.regressor import EnsembleVotingRegressor\n", - "\n", - "import matplotlib.pyplot as plt\n", - "from sklearn import datasets\n", - "from sklearn.ensemble import GradientBoostingRegressor\n", - "from sklearn.ensemble import RandomForestRegressor\n", - "from sklearn.linear_model import LinearRegression\n", - "\n", - "\n", - "# Loading some example data\n", - "X, y = datasets.load_boston(return_X_y=True)\n", - "\n", - "# Training classifiers\n", - "reg1 = GradientBoostingRegressor(random_state=1, n_estimators=10)\n", - "reg2 = RandomForestRegressor(random_state=1, n_estimators=10)\n", - "reg3 = LinearRegression()\n", - "ereg = EnsembleVotingRegressor([reg1, reg2, reg3] )\n", - "\n", - "reg1.fit(X, y)\n", - "reg2.fit(X, y)\n", - "reg3.fit(X, y)\n", - "ereg.fit(X, y)\n", - "\n", - "xt = X[:20]\n", - "labels = y[:20]\n", - "\n", - "plt.figure(figsize=(12, 8))\n", - "plt.plot(reg1.predict(xt), 'gd', label='GradientBoostingRegressor')\n", - "plt.plot(reg2.predict(xt), 'b^', label='RandomForestRegressor')\n", - "plt.plot(reg3.predict(xt), 'ys', label='LinearRegression')\n", - "plt.plot(ereg.predict(xt), 'r*', label='EnsembleVotingRegressor')\n", - "plt.plot(labels, 'black', label='labels')\n", - "\n", - "plt.tick_params(axis='x', which='both', bottom=False, top=False,\n", - " labelbottom=False)\n", - "plt.ylabel('predicted')\n", - "plt.xlabel('training samples')\n", - "plt.legend(loc=\"best\")\n", - "plt.title('Comparison of individual predictions with averaged')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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06cPzZo1w9PTk+HDh7NmzRoA6tevz4ABA847PsqiTwRUxVqzZg3Hjh1j6tSphIaG8uOPP5a9Ui2QnJzM448/XunyciUxxmC324mNjXV+vKaUUuri0aCBVbTLw8ODvLw8wPqE8h//+AdJSUkkJSWxd+9e+vbty6JFi0hLSyMhIYGkpCRatGhBdnY2QLGfYsbFxbF//378/f2ZNGmSs+0RI0Y4205OTmbKlCmUdU+Za/siwscff+xs49dff6VLly4MGzaMzz//nIYNG9KvXz9WrVpFx44dSUhIIDAwkAkTJjB16tQi7Za2XS8vL6zRs0WPj7Jo0qyKlZiYjIeHD++//yUZGRmEh4fz1FNPcfr0aXeHVqKqLC9XGrvdzvHjx0lK0ufyKKXUpaBfv368+eab5ObmAtbQiKysLDIyMmjevDleXl7OhLgsDRs2ZM6cObz33nscP36c6Oholi1bxtGjRwE4fvw4+/fvp0ePHnz33XecOHGCvLw8Pv7441Lj+8c//uFMeDc5HlyQkpJC+/bteeyxxxg0aBBbtmzh8OHDNGrUiHvuuYdnnnmGxMTEIm317NmT7777jmPHjpGfn8/ixYuJjIys0HGrazRpVsVasSKZ/PxObNjQn+3bt/PQQw8xe/ZsAgMDa22d4qosL1ea6OhoQMc1K6VURXl5tbig6eV1+vRp2rRp4/wq743go0ePpmvXroSEhBAQEMCDDz5IXl4ew4cPJz4+nu7du7No0SI6d+5crvZatWrF0KFDmTt3Ll27dmX69On07duXoKAgYmJiSE1NpXXr1kycOJGePXtit9vp2rXreUMpCj3//PPk5uYSFBREQEAAzz//PABLly4lICAAm83Grl27uO+++9i6davz5sAXX3yR55577rzYXnrpJaKioggODiYkJITbbrutXPtV19VYybnK0JJzNSs1Fa666lrgRho2XERKCrRsCd999x2jR4/m559/ZsyYMcycObPEX/CaVh3l5UoTFBREixYt9LHaSinlcCEl55QlMzMTHx8f8vLyuP322xk1ahS33367u8OqU2pFyTl18Zo8+QzwK9CZ/HyYNs2aHhkZyZYtWxg3bhzz5s2ja9eufPHFF+4MFai+8nKlsdvtrF27ljNnztTI9pRSSl16pkyZgs1mIyAggHbt2jkrbqjaSZNmVURqKixcuAcQoBM5OTB/PvzmqDXfsGFDZsyYwY8//siVV17JoEGDGDp0KO56amN1lpcrjd1u5+zZs6xfv75GtqeUUurSM2vWLJKSkti1axevv/668yY8VTtp0qyKmDYNCgqSHa86ARTpbS7UvXt34uPjmTp1Kh9//DFdunThww8/LPNu4KpWneXlShMREYGXl5eOa1ZKKaXqCE2aVREbNkBeXmHSfD0AOTnw/ffnL1u/fn2ef/55Nm3axHXXXcfw4cMZNGgQBw8erJFYq7u8XGl8fHwIDw/XpFkppZSqIzRpVkVs2gTDh+/immuuQaQRIiBiTS+Jv78/69evZ/bs2axatYquXbvy9ttvU1BQUG1x1lR5udLY7XYSExNJT0+v8W0rpZRSqmZp0qzOk5ycTKdOnS5oHQ8PD5544gm2bt1KWFgYDz30ENHR0fz888/VEmNhebl///vf1VperjR2ux0RYdWqVW7ZvlJKKaVqjibNqggRqVDSXKh9+/asXLmSd955h8TERAIDA5k1a1aVPlVo1apVzJw5kzFjxri1NE9YWBh+fn46REMppWqBPn368N///rfItDlz5vDwww8Xu/y+ffv48MMPna/j4+N57LHHKrz9kSNH0q5dO2w2G8HBwcTGxla4LVU7adKsivjtt984depUhZNmsB41PXr0aHbs2EHfvn0ZN24cN9xwA1u3bq10fOnp6dx333107NiR2bNnV7q9yvD09CQqKkqTZqWUqqjUVIiM/F+JpkoYOnQoS5YsKTJtyZIlDB06tNjlz02au3fvzuuvv16pGGbOnElSUhJz5szhoYceqlRbhWryUdb62OzSadKsikhOtm4CrEzSXKh169Z8+umnLFmyhH379hEaGsqUKVPIycmpUHsiwtixYzl69GiNlpcrjd1uJyUlhZSUFHeHopRSF59p02DdOpg6tdJN3XXXXXz55ZecPXsWsJLiw4cP07t3b8aNG0dAQACBgYEsXboUgGeffZa1a9dis9mYPXs2q1evZsCAAYBVP3nUqFH06dOH9u3bF0mmp02bRufOnYmJiWHo0KHMmjXrvFjCw8M5dOiQ83VCQgKRkZGEhobSr18/UlNTAdi4cSNBQUGEh4c7YwRYsGABQ4YMYeDAgfTt2xewEvKwsDCCgoKYPHkyAFlZWfTv35/g4GACAgKK7FvXrl0JCgrimWeeAWD//v1ER0cTFBREdHQ0v/76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atYMVGfPntU7mstatWqVAtR///vf20+OGqWUm5v5vgjvv/++AtR7771nh5S2ZzKZVEQEClA9enDXVA17QqZnCCHE3YKCgjCZTBw9etQux8vrlBEUFMSnn35q8UIQbdq04ZlnnmHu3LmkpKTYOKX9vP/++1y+fJkZM2boHUUAf/vbTNzdh2EyRQKjgadJTd2Fp2dDvaO5rJ49e1K1alXzFI3Klc39JhcuNA+3Llxofly5coFtDhw4wMSJE+nVqxcvvfSSTsmtS9M0hg6FiAgcdsRZimYhRIVmzw4aJXXKKMlrr71Geno6b731lo0S2telS5d499136devH/fff7/ecQQwc6aGm9uHwEhgKvAlJtOfkJkztmMwGBg4cCBr164l7ejREvukX7t2jZCQEPz8/FiyZInTzWMujpeX363COSUFsrPNz9utT30JPPQOIIQQemrcuDG+vr42n9d88+ZN+vfvT1JSEjt37qRBgwal3kfLli0JDw9n3rx5vPzyy9SrV88GSe3n7bff5vr167z++ut6RxG59u2DrCwPYOGt5zIzYe9e/TJVBBEREURHR7PhwAGCi+mTrpTixRdf5MyZM3z77bfUrFlT5+TW1aRJEk2aQEaGArJ56ilPKlc2r7nkCGSkWQhRoWmahtFotOlIs8rXKWPJkiXFdsooyauvvkpWVhZRUVFWTGh/KSkpfPDBBwQHB9OmTRu944hcsbGFraFufl7YTqdOnfD392fZsmXF9kn/5JNPiImJYcaMGTz22GM6JraNyMi8KRka4AlATg4Oc6ZDimYhRIVnNBo5fPhwwavXrSh/p4yQkJBy7atp06YMGTKEjz76iHPnzlkpof29+eabpKen89prr+kdRQjdubm5ERYWxubNm7mwaBHMnw+Bgeb7tWsBOHLkCGPHjqVr165MnjxZ58S2sW+f+cxGfo50pkOKZiFEhWc0GklNTeXUKesvVb1x40b+7//+j4EDB/Lqq69aZZ//+Mc/UEoxc+ZMq+zP3v744w/mz59PREQELVq00DuOEA4hPDyc7OxsVq1adddrqampBAcH4+vry+eff27xBcTOxtHPdLjm37oQQpSCrS4GLGunjJI0atSIF198kejoaBIcZbJfKURFRZGdnc306dP1jiKEw2jbti0BAQHmKRp3GDNmDHFxcSxduhQ/P8e4KK4ikqJZCFHhtWrV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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "from sklearn.ensemble import VotingRegressor\n", - "\n", - "import matplotlib.pyplot as plt\n", - "from sklearn import datasets\n", - "from sklearn.ensemble import GradientBoostingRegressor\n", - "from sklearn.ensemble import RandomForestRegressor\n", - "from sklearn.linear_model import LinearRegression\n", - "\n", - "\n", - "# Loading some example data\n", - "X, y = datasets.load_boston(return_X_y=True)\n", - "\n", - "# Training classifiers\n", - "reg1 = GradientBoostingRegressor(random_state=1, n_estimators=10)\n", - "reg2 = RandomForestRegressor(random_state=1, n_estimators=10)\n", - "reg3 = LinearRegression()\n", - "ereg = VotingRegressor([('gb', reg1), ('rf', reg2), ('lr', reg3)])\n", - "# ereg = EnsembleVotingRegressor([reg1, reg2, reg3])\n", - "\n", - "reg1.fit(X, y)\n", - "reg2.fit(X, y)\n", - "reg3.fit(X, y)\n", - "ereg.fit(X, y)\n", - "\n", - "xt = X[:20]\n", - "labels = y[:20]\n", - "\n", - "plt.figure(figsize=(12, 8))\n", - "plt.plot(reg1.predict(xt), 'gd', label='GradientBoostingRegressor')\n", - "plt.plot(reg2.predict(xt), 'b^', label='RandomForestRegressor')\n", - "plt.plot(reg3.predict(xt), 'ys', label='LinearRegression')\n", - "plt.plot(ereg.predict(xt), 'r*', label='VotingRegressor')\n", - "plt.plot(labels, 'black', label='labels')\n", - "\n", - "plt.tick_params(axis='x', which='both', bottom=False, top=False,\n", - " labelbottom=False)\n", - "plt.ylabel('predicted')\n", - "plt.xlabel('training samples')\n", - "plt.legend(loc=\"best\")\n", - "plt.title('Comparison of individual predictions with averaged')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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+++/S1xcnFitVud+Fe2vv7+/rF+/XkREXnjhBXnqqaeccT/66KOlXhMipV+3QJyUko9qT7NSSimlatWUmClk55Usxzidd5opMVOqdTsTJ0501uACREVFcfXVVwP2TsOpU6cSEBCA1Wrl8OHDHD16lI0bN3LHHXfQqFEjmjZtytChQ89r12az8dNPPxEVFYXFYmHmzJklSkDuvPNOAIKDgzlw4ECZ8RWVZ/z222/4+/sze/ZsALZs2cKIESMAeOCBB9i0aVO502+66SbGjBnDu+++S0FBQaWOzbBhw2jQoAE9evTg6NGjAGzatInhw4fToEEDWrduTURERIl1Ro4cSfv27Zk1axZPPPEEAN9//z27du3ipptuwmKxsHTpUlJSUtizZw+dO3d2Dud23333lWhr6NCheHl5Afae6mXLlmGxWOjTpw/p6ens27ePkJAQFi9eTHR0NDt37qRJkyZ07tyZ5ORknnjiCb766iuaNm1KZmYmJ0+eJCwsDIDRo0ezYcOGEse5OmjSrJRSSqla9UrkKzT2aFxiWiOPRrxqvfgb1QB8fX1JSEhwvp8/fz4xMTGkpaUB0Ljx/7a5fPly0tLSiI+PJzExkVatWjmHH6toVAURwdfXl8TERBITE9m5cydff/21c/4VV1wBgJubW6XqaI0xDBkypESid+788qYvXLiQmTNncvDgQSwWC+np6RVusyjGov0p/m9Zli9fzv79+xkxYgQTJ050rhMVFeU8Frt27WLRokUVtlX8XIgIb731lrON/fv3M2DAAPr378+GDRto164dDzzwAMuWLeOqq65i+/bthIeHM3/+fMaNG1fhvhbfVlVo0qyUUkqpWjW251gG+QzC090TAE93T4b4DOFBy4NVaveWW24hJyeHBQsWOKeVNSJFZmYmLVu2xMPDg9jYWFJSUgDo378/a9as4cyZM5w6dYrPP//8vHW7du1KWloaW7ZsAexPQ0xKKn8EkCZNmnDq1Kky52/atIkuXboAcOONN7Jy5UrAnqj269ev3Om//PILffr0YcaMGTRv3pyDBw9WuL3S9OvXj48//pjCwkKOHj3K+vXrz1vGw8ODmTNn8v3337N792769u3L5s2b+fnnnwH78d67dy/dunUjOTnZ2dNe3k2OAwcOZMGCBeTl5QGwd+9esrOzSUlJoWXLlowfP56HHnqIhIQEjh8/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hk+PHj30zDPPaOPGjdqyZUubxykpaXz/X7Tz59XmXw8XFhaqd+/emjt3bptrAoBkQGgGgMCIESMkXd4OGonYKcNn5syZyszMVEFBgZxzbRpjxw6pru7bbXV10vY2/Hp4586dWr9+vZ5++mn16tWrTfUAQLIgNANAoH///urTp483NCdqpwyfq666SvPnz9emTZv0/vvvt2mMjvz1cGFhofr27avZs2e3qRYASCbW1tWIeMrKynK7d+9OdBkAUsCECRN08uRJffjhh81er66uVnZ2tmpra/XBBx8k5I1/Lfn666916623asCAAdq2bZvMLCF1bNmyRffee6+ef/55PfXUUwmpAehstm3LVH39iYva09P76e67O+50TrTMzCqcc1lN25NjeQQAksSIESNUWVmpc+fOXXQteqeMtWvXJl1glqSMjAzl5+drx44d2rBhQ0JqcM4pPz9fmZmZys3NTUgNQGfUXGBuqR3xRWgGgCihUEi1tbU6dOjQt9qb7pSRnZ2doAr9pk2bpkGDBrXr2eb2eO+997R582YtWLAg7ntWA0CsEJoBIMqF47Sbnq53YaeMgoKChO+U4dOtWzeFw2FVVFRo3bp1cZ3bOaeCggINGDBA06dPj+vcABBLhGYAiHLbbbcpIyNDW7fu09ix0vHj394po6ioKNElXpZHHnlEgwcPVmFhoRqa7iEXQ++++6527typ/Px8de/ePW7zAkCsEZoBIEpaWpqGDRum9ev3aetWac6c5NwpwyctLU3hcFiVlZV6++234zLnhVXmm266SdOmTYvLnAAQL53jf38AiKPBg0P69NN9amio1ptv/lhXX91T69at63TP506dOlV33HGHwuGwzp8/H/P51q5dqz179igcDis9PT3m8wFXmvT0fq1qR3ylJboAAEg2f/hDSNLLkibIueMaM2ZTUu6U4dO1a1dFIhFNnjxZq1at0qOPPhqzuRoaGlRYWKjBgwcrJycnZvMAVzK2lUturDQDQJSqKmnXrhHBq/2SXtM772TreCf9Xvbwww8rFAqpuLhY9fX1MZvnrbfe0oEDB1RUVKS0NNZjAFx5CM0AEKWkRHJuuKTrJUUk/bXOn29s74y6dOmiSCSijz/+WCtXrozJHOfOnVM4HNbQoUM1derUmMwBAIlGaAaAKDt2SPX1V0uqklQgSaqrk7ZvT2hZ7fLQQw8p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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "from mlxtend.regressor import StackingRegressor\n", - "\n", - "import matplotlib.pyplot as plt\n", - "from sklearn import datasets\n", - "from sklearn.ensemble import GradientBoostingRegressor\n", - "from sklearn.ensemble import RandomForestRegressor\n", - "from sklearn.linear_model import LinearRegression\n", - "from sklearn.svm import SVR\n", - "\n", - "# Loading some example data\n", - "X, y = datasets.load_boston(return_X_y=True)\n", - "\n", - "# Training classifiers\n", - "reg1 = GradientBoostingRegressor(random_state=1, n_estimators=10)\n", - "reg2 = RandomForestRegressor(random_state=1, n_estimators=10)\n", - "reg3 = LinearRegression()\n", - "svr_rbf = SVR(kernel='rbf')\n", - "ereg = StackingRegressor(regressors=[reg1, reg2, reg3], meta_regressor=svr_rbf)\n", - "\n", - "reg1.fit(X, y)\n", - "reg2.fit(X, y)\n", - "reg3.fit(X, y)\n", - "ereg.fit(X, y)\n", - "\n", - "xt = X[:20]\n", - "labels = y[:20]\n", - "\n", - "plt.figure(figsize=(12, 8))\n", - "plt.plot(reg1.predict(xt), 'gd', label='GradientBoostingRegressor')\n", - "plt.plot(reg2.predict(xt), 'b^', label='RandomForestRegressor')\n", - "plt.plot(reg3.predict(xt), 'ys', label='LinearRegression')\n", - "plt.plot(ereg.predict(xt), 'r*', label='StackingRegressor')\n", - "plt.plot(labels, 'black', label='labels')\n", - "\n", - "plt.tick_params(axis='x', which='both', bottom=False, top=False,\n", - " labelbottom=False)\n", - "plt.ylabel('predicted')\n", - "plt.xlabel('training samples')\n", - "plt.legend(loc=\"best\")\n", - "plt.title('Comparison of individual predictions with averaged')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -}