"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sb.scatterplot(X12_test.flatten(), y_test)\n",
"sb.scatterplot(X12_test.flatten(), m10_test_predicted)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Let us summarize the models' errors"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"M1 train 39.0\n",
"M1 test 38.0\n",
"M2 train 29.0\n",
"M2 test 33.0\n",
"M10 train 26.0\n",
"M10 test 29.0\n"
]
}
],
"source": [
"print(\"M1 train\", round(mean_squared_error(y_train, m1_train_predicted)))\n",
"print(\"M1 test\", round(mean_squared_error(y_test, m1_test_predicted)))\n",
" \n",
"print(\"M2 train\", round(mean_squared_error(y_train, m2_train_predicted)))\n",
"print(\"M2 test\", round(mean_squared_error(y_test, m2_test_predicted)))\n",
"\n",
"print(\"M10 train\", round(mean_squared_error(y_train, m10_train_predicted)))\n",
"print(\"M10 test\", round(mean_squared_error(y_test, m10_test_predicted)))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will talk about model selection and feature selection in mode detail in one of the next classes."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Is there only one way to split the dataset? Cross-validation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Cross-validation is reusing the dataset and creates multiple train-holdout subset pairs.\n",
"\n",
"The major assumption is that our whole dataset is a representative sample. By taking the random subsamples from the whole dataset we can estimate the performance of the model on previously unseen data."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### LeaveOneOut\n",
"\n",
"LeaveOneOut (or LOO) is a simple cross-validation. Each learning set is created by taking all the samples except one, the test set being the sample left out. Thus, for n samples, we have n different training sets and n different tests set. This cross-validation procedure does not waste much data as only one sample is removed from the training set"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##### KFold\n",
"KFold divides all the samples in k groups of samples, called folds (if k = n, this is equivalent to the Leave One Out strategy), of equal sizes (if possible). The prediction function is learned using \n",
"k−1folds, and the fold left out is used for test.\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### ShuffleSplit\n",
"\n",
"The ShuffleSplit iterator will generate a user defined number of independent train / test dataset splits. Samples are first shuffled and then split into a pair of train and test sets.\n",
"\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### TimeSeriesSplit\n",
"\n",
"TimeSeriesSplit is a variation of k-fold which returns first \n",
"k folds as train set and the (k+1)th fold as test set. Note that unlike standard cross-validation methods, successive training sets are supersets of those that come before them. Also, it adds all surplus data to the first training partition, which is always used to train the model.\n",
"\n",
""
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.716098217736928"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"KNeighborsRegressor().fit(X, y).score(X, y)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.7079649368669326"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from sklearn.model_selection import ShuffleSplit\n",
"from sklearn.model_selection import cross_val_score\n",
"\n",
"reg = LinearRegression()\n",
"cv = ShuffleSplit(n_splits=100, test_size=0.1, random_state=0)\n",
"\n",
"# here we try to maximize the score, that is why neg_mean_squared_error\n",
"# essentially, score = - cost_function\n",
"s = cross_val_score(reg, X, y, cv=cv)\n",
"pd.Series(s).hist()\n",
"s.mean() # R^2"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"['accuracy',\n",
" 'adjusted_mutual_info_score',\n",
" 'adjusted_rand_score',\n",
" 'average_precision',\n",
" 'balanced_accuracy',\n",
" 'brier_score_loss',\n",
" 'completeness_score',\n",
" 'explained_variance',\n",
" 'f1',\n",
" 'f1_macro',\n",
" 'f1_micro',\n",
" 'f1_samples',\n",
" 'f1_weighted',\n",
" 'fowlkes_mallows_score',\n",
" 'homogeneity_score',\n",
" 'jaccard',\n",
" 'jaccard_macro',\n",
" 'jaccard_micro',\n",
" 'jaccard_samples',\n",
" 'jaccard_weighted',\n",
" 'max_error',\n",
" 'mutual_info_score',\n",
" 'neg_log_loss',\n",
" 'neg_mean_absolute_error',\n",
" 'neg_mean_squared_error',\n",
" 'neg_mean_squared_log_error',\n",
" 'neg_median_absolute_error',\n",
" 'normalized_mutual_info_score',\n",
" 'precision',\n",
" 'precision_macro',\n",
" 'precision_micro',\n",
" 'precision_samples',\n",
" 'precision_weighted',\n",
" 'r2',\n",
" 'recall',\n",
" 'recall_macro',\n",
" 'recall_micro',\n",
" 'recall_samples',\n",
" 'recall_weighted',\n",
" 'roc_auc',\n",
" 'v_measure_score']"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import sklearn.metrics\n",
"sorted(sklearn.metrics.SCORERS.keys())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Bias - Variance Tradeoff\n",
"\n",
"The **bias** is an error from erroneous assumptions in the learning algorithm. High bias can cause an algorithm to miss the relevant relations between features and target outputs (underfitting).\n",
"\n",
"\n",
"The **variance** is an error from sensitivity to small fluctuations in the training set. High variance can cause an algorithm to model the random noise in the training data, rather than the intended outputs (overfitting)."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Let's plot some learning curves"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"scrolled": true,
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [],
"source": [
"#From http://scikit-learn.org/stable/auto_examples/model_selection/plot_learning_curve.html\n",
"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from sklearn.naive_bayes import GaussianNB\n",
"from sklearn.svm import SVC\n",
"from sklearn.datasets import load_digits\n",
"from sklearn.model_selection import learning_curve\n",
"from sklearn.model_selection import ShuffleSplit\n",
"\n",
"def plot_learning_curve(estimator, title, X, y, ylim=None, cv=None,\n",
" n_jobs=None, train_sizes=np.linspace(.3, 1.0, 10)):\n",
" plt.figure()\n",
" plt.title(title)\n",
" if ylim is not None:\n",
" plt.ylim(*ylim)\n",
" plt.xlabel(\"Training examples\")\n",
" plt.ylabel(\"Score\")\n",
" train_sizes, train_scores, test_scores = learning_curve(\n",
" estimator, X, y, cv=cv, n_jobs=n_jobs, train_sizes=train_sizes, scoring=\"neg_mean_squared_error\")\n",
" train_scores_mean = np.mean(train_scores, axis=1)\n",
" train_scores_std = np.std(train_scores, axis=1)\n",
" test_scores_mean = np.mean(test_scores, axis=1)\n",
" test_scores_std = np.std(test_scores, axis=1)\n",
" plt.grid()\n",
"\n",
" plt.fill_between(train_sizes, train_scores_mean - train_scores_std,\n",
" train_scores_mean + train_scores_std, alpha=0.1,\n",
" color=\"r\")\n",
" plt.fill_between(train_sizes, test_scores_mean - test_scores_std,\n",
" test_scores_mean + test_scores_std, alpha=0.1, color=\"g\")\n",
" plt.plot(train_sizes, train_scores_mean, 'o-', color=\"r\",\n",
" label=\"Training score\")\n",
" plt.plot(train_sizes, test_scores_mean, 'o-', color=\"g\",\n",
" label=\"Cross-validation score\")\n",
"\n",
" plt.legend(loc=\"best\")\n",
" return plt"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import KFold"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"scrolled": true,
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"image/png": "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1rtMeHSCBm8PKj+jzhK8PainPHqKnvLoKTrh0Qk64dEJesqjp+ipj52q1712XZ1zJnv77bd1woQJ9a5799139eSTT9azzjpLhw0bpqqqv/nNb3TEiBE6YsQIvffee1VVtaKiQs8++2wdNWqUjhgxQp966ilVVb3xxhv16KOP1pEjR+qPfvSjOsf/05/+pNdff33N+8cee0yvueYaVVU9//zz9bjjjtPhw4frAw88ULPNkCFDdOfOnaqqmpubq6qqruvqNddco0cccYSefvrpetZZZ+mzzz6rqqo///nPdezYsTpixAidMWOGuq6rzz77rObm5urhhx+uo0eP1qqqKj311FN1/vz5qqr65JNP6jHHHKMjRozQG264oebcubm5esstt+ioUaP0hBNO0O3bt9e5puLiYh09erSOHj1ajz32WC0rK1NV1bvuukuPOeYYHTVqlN5445/DktEAAA9qSURBVI2qqvrRRx/pCSecoCNHjtSvfOUrunv3blVVPfXUU/W6667TMWPG6N133607duzQCy+8UMeOHatjx47V999/v855k3+P3n333Xr/PzuzrnhNqnZdzQEs0Gbew9PVOyu5dHE+sDqe3k/iLc4iMg6vuq0EmA8ME5FDRCQTmAq81B55DTv1T/kedsJeaQVFEHzia3Zj+fLlyxkzZkyD6xctWsQvf/lL1q5dy8KFC3nsscf48MMP+eCDD3jooYf46KOP+Mc//sGAAQNYsmQJy5cvZ8qUKZSUlDB37tyaadtvu+22Ose+6KKLmDt3bs37p59+mqlTpwLw6KOPsnDhQhYsWMDvf/97SkpKGszj3LlzWbNmDStXruTxxx+veUYJwLXXXsv8+fNZvnw51dXVvPzyyzXPK3n44YdZvHhxzUy/AFu3buXGG2/knXfeYfHixcyfP58XXngB8ObVOvHEE1myZAmnnHJKTckt2d13383999/P4sWLmTdvHtnZ2bz22mu8+OKLfPjhhyxZsoQbbrgBgOnTp/PLX/6SpUuXMnLkSH7+85/XHCcSibBgwQJ+9KMfcd1119VMXf/cc89xxRVXNPhZGHMwS1ddyV0iciTgAp8BV8XTLwauFpEYUA1MjUfFmIhcC7wO+IFHVXVFW2Tkt/+/vfuPjrK68zj+/pAfpBGliFSxgQVapBBAQMjBIj892IBYDOIKixYth63V7pHFZcHV47HUUnC3FamtLLWl1HYRFkQ8nHVdU4LoCqKm4YcYFz12VyMqPw7BCGE1fPeP584wjEmA2cBkku/rnDk8c+fOM9/v3GFunvs8c29x/VPBx6Y96fVoL/6n+otTwXe5oAul3yklu012k58sLyoqolu3bkA0XXtJSUl8FtxJkybx4osvUlxczN13383cuXOZMGECw4cPj09hMmPGDCZMmBCftj1Rp06d6NGjB1u3bqVnz55UVlbG5+VasmRJvIN577332LNnDx07dqw3xs2bNzN16lSysrK49NJLGTNmTPyxsrIyHnroIY4cOcLBgwcpLCzkuuuuazDfV199lVGjRtGpUycApk2bxubNm7n++uvJzc2N53HFFVfw/PNfnH5/2LBhzJ49m2nTpjFp0iQKCgooLS3ltttuIz8/H4imtK+urubQoUOMHDkSgOnTp3PjjTfG93PTTTfFt0tLS086X3P48GFqampo165dg3k41xql6+qsG8ysr0WX+V5nZlWh/FEzKzSzy81sqJm9nPCcfzOzy8zsa2b243MV6/zR88nPyT+pLD87nwVXLyA3KzelDqSwsLDRX4onTpvekMsuu4zy8nL69evHfffdx/z588nOzmbbtm1MnjyZDRs2UFxcTF1dHQMGDGDAgAHcf390/cKUKVNYvXo1a9eupaSkBEls2rSJ0tJStmzZwvbt2xk4cCC1tbVnnFttbS133HEHa9asYefOncycOTOl/cTk5Jy4HLqhaeznzZvH448/ztGjRxk2bBiVlZUpvVbi+378+HG2bt1KRUUFFRUVVFVVeQfiXD38etNTmNp3Kr8c/0u6XNAFIbq278qyby/j5v43p7zPMWPGcOzYMZYtWxYv27FjR70LSg0fPpynn36aI0eO8Omnn7Ju3TqGDx/OBx98QH5+PjfffDNz5syhvLycmpoaqqurGT9+PA8//DDbt28nKysr/kUYW9GwpKSE9evXs3LlyvhQVnV1NR06dCA/P5/Kykq2bt3aaA4jRoxg1apV1NXVsXfvXsrKygDiHcZFF11ETU3NSVdsnX/++dTU1HxhX0VFRbzwwgvs37+furo6Vq5cGT9aOB3vvPMO/fr1Y+7cuQwZMoTKykrGjh3L8uXLORLWgTl48CDt27enQ4cO8ff5iSeeaPB1rrnmmvjyvkC9ywY753zak0aZGXVWx5S+U7il/y20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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# http://scikit-learn.org/stable/auto_examples/model_selection/plot_learning_curve.html\n",
"title = \"Learning Curves\"\n",
"\n",
"# Create the CV iterator\n",
"cv_iterator = KFold(n_splits=5, shuffle=True, random_state=10)\n",
"model = LinearRegression()\n",
"# model = KNeighborsRegressor(n_neighbors=4)\n",
"\n",
"plot_learning_curve(model, title, X, y, cv=cv_iterator, n_jobs=4)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"#### Lasso Regression\n",
"\n",
"“when you have two competing theories that make exactly the same predictions, the simpler one is the better.” - William of Ockham\n",
"\n",
"So for a regression model LASSO (least absolute shrinkage and selection operator), or more commonly referred to as L1 regularization, could be used to penalize for the large number of parameters.\n",
"\n",
"* L1 regularization (the last term of the equation) favors a sparse model with features having coefficients equal to zero or close to zero:\n",
"\n",
"$ Loss = ||y - Xw||^2_2 + \\alpha * ||w||_1$\n",
"\n",
"L1 norm $||w||_1$ is simply a sum of absolute values of coefficients and $\\alpha$ regulates the strength of regularization. A zero coefficient for a feature essentially mean that the feature is eliminated.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"scrolled": true,
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [],
"source": [
"from sklearn.linear_model import Lasso, LinearRegression\n",
"from sklearn.model_selection import cross_val_score, KFold\n",
"from sklearn.metrics import mean_squared_error"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"scrolled": true,
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"text/plain": [
"26.183440497117296"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"llr = Lasso(alpha=0.5)\n",
"llr.fit(X, y)\n",
"preds = llr.predict(X)\n",
"\n",
"# Create the CV iterator\n",
"cv_iterator = KFold(n_splits=5, shuffle=True, random_state=10)\n",
"\n",
"# Note: default in sklearn: higher return values are better than lower return values\n",
"np.mean(-cross_val_score(llr, X, y, cv=cv_iterator, scoring=\"neg_mean_squared_error\"))"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"scrolled": true,
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"text/plain": [
"26.183440497117296"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"cross_val_score(llr, X, y, cv=5, scoring=\"neg_mean_squared_error\")\n",
"abs(np.mean(cross_val_score(llr, X, y, cv=cv_iterator, scoring=\"neg_mean_squared_error\")))"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"scrolled": true,
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"image/png": "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eXzkkUc6y6xOJRQKSRdhQWglPaJGMe8/85j6xNSEy7Qnp3HhaxfGRCJKTbCG8145r8n75v1nXrPPfOedd3A6nVx44YWxY6NHj2bKlCksXbqUKVOmcNJJJ8VGN99xxx2xsN3RsOHV1dWceOKJjB49mpEjR/Lcc88BMH/+/Fg48IZzXAA88MADXHXVVbH9J554gksuuQQwAfzGjh3LiBEjeOihhxLanpGRARixu+SSSzjggAM4+uijY6HNAW6++WbGjx/PyJEjmTt3LlprXnjhBVasWMH555/PmDFj8Pl8TJ06lehgyEWLFjFq1ChGjhwZC1IYfd6CBQsYPXo0hx56KFu2bGlk07vvvhub+Onggw+msrISgNtuu41Ro0YxevRo5s+fD8CqVas49NBDOeigg5g5cyZlZWUATJ06lXnz5jFu3Djuvvtutm3bxqmnnsr48eMZP348H1zSd2EAAA8DSURBVHzwQdM/qCD0YHqEULREbThxOPGmjreGNWvWMHbs2CbPf/bZZ9x99918/vnnrFy5kscff5xPPvmEjz/+mIcffpjPP/+c//znPwwYMIDVq1ezZs0apk+fzo4dO1i8eHEsHPh1113XKO1TTz2VxYsXx/afe+45zjjjDAAee+wxVq5cyYoVK7jnnnvYsWNHkzYuXryY9evXs27dOp588sl6NY1LLrmE5cuXs2bNGnw+H6+99lpsrotHHnmEVatWxaLLApSUlHDNNdfw9ttvs2rVKpYvX87LL78MGEE89NBDWb16NYcffjgPP/xwI1v+/Oc/87e//Y1Vq1bx/vvv4/V6eeONN3jllVf45JNPWL16NVdffTUAZ511FrfddhtffPEFo0aN4qabboqlEwgEWLFiBVdccQW//e1vueyyy1i+fDkvvvgi559/fpPvQhB6Mj2i7n3X9KbDjIesEHvfvTdFFY3DjA/OHszSc5Z2iU0TJkxg6NChVFZWsmzZMmbOnBmLvDpr1izef/99pk+fzhVXXME111zDjBkzmDJlSiwUx3nnnceMGTNi4cDj6du3L3vvvTcff/wx++23H19//XUshtQ999wTE5GioiK+/fZbevfundDG9957jzPPPBO73c6AAQM46qijYufeeecdbr/9dmpqati5cycjRozgJz/5SZP5Xb58OVOnTqVv374AzJ49m/fee49TTjkFl8sVy8fYsWN5883God0nTZrE5ZdfzuzZs5k1axYDBw5kyZIlnHvuuaSlpQEmVHp5eTm7du3iiCOOAODss8/mpz/9aSyd008/Pba9ZMmSev6TiooKqqqqYjUqQRAMUqMAbj7yZrwOb71jac40bpl2S7vTHDFiRLOjoePDcTfF/vvvz2effcaoUaO47rrruPnmm3E4HHz66aecdtppvPbaa0yfPp1wOBxrlrn++usBOOOMM3j++ed58cUXmTlzJkopli5dypIlS/joo49YvXo1Bx98cMKQ5i3h9/v59a9/zQsvvMCXX37JnDlz2pVOFKfTGeuC3FR49Pnz5/PII4/g8/mYNGkSX3/9dbueFf/eLcvi448/ZtWqVaxatYri4mIRCUFIgAgF8LMRP+P+GfczOHswCsXg7ME89JOH2u3IBjjqqKOora2t5wf44osvEk44NGXKFF5++WVqamqorq5m8eLFTJkyhZKSEtLS0vjFL37BVVddxWeffUZVVRXl5eWccMIJ3HnnnaxevRq73R4r7KKz2s2cOZNXXnmFRYsWxZqdysvLyc3NJS0tja+//pqPP/642TwcfvjhPPfcc4TDYUpLS3nnnXcAYqLQp08fqqqq6vWEyszMpKqqqlFaEyZM4N1332X79u2Ew2EWLVoU++pvDd999x2jRo3immuuYfz48Xz99dccc8wxPP7449RE5hHZuXMn2dnZ5Obmxt7zU0891eRzjj322Ng0rkDC6WEFQeghTU8tYVM2zjroLM4efXanpamUYvHixcybN4/bbrsNj8fDkCFDuOuuuyguLq537SGHHMI555zDhAkTANOl9OCDD+a///0vV111FTabDafTyf33309lZSUnn3wyfr8frXUsHHhDcnNzGTZsGOvWrYulO336dB544AGGDRvGAQccwKGHHtpsHmbOnMnbb7/N8OHDKSgoYOLEiYCJHTVnzhxGjhxJ//79Yw55MF1o582bx4IFC/joo49ix/Py8li4cCFHHnkkWmtOPPFETj755Fa/z7vuuot33nkHm83GiBEjOP7443G73axatYpx48bhcrk44YQTuPXWW/n73//OhRdeSE1NDXvvvTePP/54wjTvueceLr74Yg466CBCoRCHH354bO4NQRDq6PFhxsNWGAC7LTlhOlItJDekXp4kzHj3JBXzJWHGk0SyBEIQBKG7kBQfhVLqRqVUsVJq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\n",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# http://scikit-learn.org/stable/auto_examples/model_selection/plot_learning_curve.html\n",
"title = \"Learning Curves\"\n",
"\n",
"# Create the CV iterator\n",
"cv_iterator = KFold(n_splits=5, shuffle=True, random_state=10)\n",
"llr = Lasso(alpha=0.5)\n",
"\n",
"plot_learning_curve(llr, title, X, y, cv=cv_iterator, n_jobs=4)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ridge regression addresses some of the problems of Ordinary Least Squares by imposing a penalty on the size of coefficients.\n",
"\n",
"The ridge coefficients minimize a penalized residual sum of squares,\n",
" \n",
"\n",
"$$ Loss = ||y - Xw||^2_2 + \\alpha * ||w||^2_2$$\n",
"\n",
"Here, \n",
"α\n",
"≥\n",
"0\n",
" is a complexity parameter that controls the amount of shrinkage: the larger the value of \n",
"α\n",
", the greater the amount of shrinkage and thus the coefficients become more robust to collinearity."
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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Ti8uhwsLC8uy4ubajDFYVrjoKrx9W7iORHI73fTK7lXvwI6WsTrsWGaqfWgLrbPatgULYOZMKA8XK3z1lf0eYPr0Jh+uW7durF27FmMMd/zqDrKys/jFL39RbZvIDbIuf/3bXxs8zzU/vqbOdakMIJFrq69hgYjgEld09OOQFbI/D7HrTiL1Hm6Xu802lU6khgZ21PoQlUod/y+wIddfDxMm1P244opDASSivNxeXtc+11/f4GkjlcwG+1f2li1bGDFsBJddehkjh4+kqKiIa66+hpNOOImRw0cy+7eHMl8Tx09k3dp1BINBenTrwW233Ebh8YWMP2U8e/fuBeDOO+7kgfsfiG5/2y23ccqJpzB08FDefftdPE4P5eXlnHfeeQwePJjzzz+fwsJC1q5dWyutN954I4MHD2b48OHcfPPNABQVFXH22WczfPhwRowYwXvvvQfA3LlzGTp0KEOHDuXBBx+MXtvgwYOZPn06Y8aMYffu3bz22mucdNJJHH/88Vx44YX4fL64n5HT4bTH5nJ5cIrdJLu16j3aksjAjgVdCshJy6G0qpSKQAUucWknQ5VSh89fYXNV1TGhVF3Lm8AhDogpqfnk40/46c9+yrr168jLy2P23bN55713WPPBGpYtXcbmTbX7ARQXFzNu/DjWfLCGE048gSefeDLuuYwxvPXOW/xuzu+Yc/ccRIQHH3yQnj17smnTJu644w4+/PDDWvvt2bOHxYsXs3HjRj766CNuueUWAK699lpOPfVUPvroI95//30GDRrEe++9x4IFC1i9ejXvvPMODz/8MOvXrwfg448/5uc//zmrV6/G7XYzZ84cli1bxgcffMDw4cO5//77G/ys3E43Xpe31XuatyWRgR3zu+TjdrrJ8malOknqMKc/Ye67r/71+fl2EVZN/ftDCzv2RHMj4TL/IwccyajCUdH1zz37HPOemEcwGGT3rt1s3ryZQYMHVTtGeno6U0+fCsDxo45n5cqVcc911jlnIQgnjD6B2265DYCVK1dGcxYjRoxgyJAhtfbr2rUrDoeDq666iu9+97ucccYZgN0m/dlnnwXA5XKRk5PDypUrOe+880hPt3umn3POObz11lucdtppDBgwgMLCQkpLS3n77bfZtGkTJ598MgB+v5+xY8c270M8TEUGdlQq1TSINGT27Op1IgAZGfbyBIi0SgLI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\n",
"text/plain": [
"