Skip to content

Commit

Permalink
Get rid of some warnings showing up in one of the example .ipynb (sci…
Browse files Browse the repository at this point in the history
…kit-optimize#756)

* Specify value for CV to get rid of Future Warning

Specifies value for cv parameter in BayesSearchCV to get rid of Future Warning:
> FutureWarning: You should specify a value for 'cv' instead of relying on the default value. The default value will change from 3 to 5 in version 0.22.

* added some parameters to remove warnings. Still some warnings, but not as many as before
  • Loading branch information
daveliu-riviera authored and betatim committed Apr 26, 2019
1 parent af5450a commit e523698
Showing 1 changed file with 100 additions and 40 deletions.
140 changes: 100 additions & 40 deletions examples/sklearn-gridsearchcv-replacement.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,7 @@
"cells": [
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"# Scikit-learn hyperparameter search wrapper\n",
"\n",
Expand All @@ -14,10 +11,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"## Introduction\n",
"\n",
Expand All @@ -36,19 +30,15 @@
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"val. score: 0.983667409057\n",
"test score: 0.982222222222\n"
"val. score: 0.9873793615441723\n",
"test score: 0.9888888888888889\n"
]
}
],
Expand All @@ -59,7 +49,7 @@
"from sklearn.model_selection import train_test_split\n",
"\n",
"X, y = load_digits(10, True)\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.75, random_state=0)\n",
"X_train, X_test, y_train, y_test = train_test_split(X, y, train_size=0.75, test_size=.25, random_state=0)\n",
"\n",
"# log-uniform: understand as search over p = exp(x) by varying x\n",
"opt = BayesSearchCV(\n",
Expand All @@ -70,7 +60,8 @@
" 'degree': (1, 8), # integer valued parameter\n",
" 'kernel': ['linear', 'poly', 'rbf'], # categorical parameter\n",
" },\n",
" n_iter=32\n",
" n_iter=32,\n",
" cv=3\n",
")\n",
"\n",
"opt.fit(X_train, y_train)\n",
Expand All @@ -81,10 +72,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"metadata": {},
"source": [
"## Advanced example \n",
"\n",
Expand All @@ -93,18 +81,75 @@
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n",
"/Users/david.liu/.virtualenvs/dsmodels/lib/python3.7/site-packages/sklearn/svm/base.py:931: ConvergenceWarning: Liblinear failed to converge, increase the number of iterations.\n",
" \"the number of iterations.\", ConvergenceWarning)\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"val. score: 0.983667409057\ntest score: 0.982222222222\n"
"val. score: 0.9829250185597624\n",
"test score: 0.9822222222222222\n"
]
}
],
Expand All @@ -128,8 +173,10 @@
"\n",
"# single categorical value of 'model' parameter is \n",
"# sets the model class\n",
"# We will get ConvergenceWarnings because the problem is not well-conditioned.\n",
"# But that's fine, this is just an example.\n",
"linsvc_search = {\n",
" 'model': [LinearSVC(max_iter=10000)],\n",
" 'model': [LinearSVC(max_iter=1000)],\n",
" 'model__C': (1e-6, 1e+6, 'log-uniform'),\n",
"}\n",
"\n",
Expand All @@ -145,6 +192,7 @@
"opt = BayesSearchCV(\n",
" pipe,\n",
" [(svc_search, 20), (linsvc_search, 16)], # (parameter space, # of evaluations)\n",
" cv=3\n",
")\n",
"\n",
"opt.fit(X_train, y_train)\n",
Expand All @@ -168,23 +216,34 @@
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"execution_count": 3,
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"best score: 0.94\nbest score: 0.94\nbest score: 0.98\nInterrupting!\n"
"best score: 0.98\n",
"Interrupting!\n"
]
},
{
"data": {
"text/plain": [
"BayesSearchCV(cv=None, error_score='raise',\n estimator=SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n decision_function_shape='ovr', degree=3, gamma='auto', kernel='rbf',\n max_iter=-1, probability=False, random_state=None, shrinking=True,\n tol=0.001, verbose=False),\n fit_params=None, iid=True, n_iter=10, n_jobs=1,\n optimizer_kwargs=None, pre_dispatch='2*n_jobs', random_state=None,\n refit=True, return_train_score=True, scoring=None,\n search_spaces={'C': (0.01, 100.0, 'log-uniform')}, verbose=0)"
"BayesSearchCV(cv=3, error_score='raise',\n",
" estimator=SVC(C=1.0, cache_size=200, class_weight=None, coef0=0.0,\n",
" decision_function_shape='ovr', degree=3, gamma='scale', kernel='rbf',\n",
" max_iter=-1, probability=False, random_state=None, shrinking=True,\n",
" tol=0.001, verbose=False),\n",
" fit_params=None, iid=True, n_iter=10, n_jobs=1, n_points=1,\n",
" optimizer_kwargs=None, pre_dispatch='2*n_jobs', random_state=None,\n",
" refit=True, return_train_score=False, scoring=None,\n",
" search_spaces={'C': (0.01, 100.0, 'log-uniform')}, verbose=0)"
]
},
"execution_count": 11,
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
Expand All @@ -198,9 +257,10 @@
"X, y = load_iris(True)\n",
"\n",
"searchcv = BayesSearchCV(\n",
" SVC(),\n",
" SVC(gamma='scale'),\n",
" search_spaces={'C': (0.01, 100.0, 'log-uniform')},\n",
" n_iter=10\n",
" n_iter=10,\n",
" cv=3\n",
")\n",
"\n",
"\n",
Expand All @@ -227,7 +287,7 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 4,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -275,9 +335,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.2"
"version": "3.7.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
"nbformat_minor": 1
}

0 comments on commit e523698

Please sign in to comment.