diff --git a/M1/Statistical Learning/TP4_Ridge_Lasso_and_CV.ipynb b/M1/Statistical Learning/TP4_Ridge_Lasso_and_CV.ipynb new file mode 100644 index 0000000..4965a03 --- /dev/null +++ b/M1/Statistical Learning/TP4_Ridge_Lasso_and_CV.ipynb @@ -0,0 +1,1899 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "# TP4 Ridge, Lasso, CV\n", + "\n", + "\n", + "\n", + "### Table of Contents\n", + "\n", + "* [0. Data Preparation ](#chapter0)\n", + "* [1. Ridge and Lasso Regression ](#chapter1)\n", + "* [2. Cross validation for the hyperparameters $\\alpha$ of Ridge and Lasso](#chapter2)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 0. Data Preparation \n", + "\n", + "We will predict the salary of a baseball player and use the dataset `Hitters`.\n", + "\n", + "Reference : book \"James, Gareth, Daniela Witten, Trevor Hastie, and Robert Tibshirani. An introduction to statistical learning. Vol. 112. New York: springer, 2013\"." + ] + }, + { + "cell_type": "code", + "metadata": { + "ExecuteTime": { + "end_time": "2025-03-19T09:18:59.373219Z", + "start_time": "2025-03-19T09:18:59.369013Z" + } + }, + "source": [ + "\n", + "import warnings\n", + "\n", + "warnings.filterwarnings('ignore')" + ], + "outputs": [], + "execution_count": 1 + }, + { + "cell_type": "code", + "metadata": { + "ExecuteTime": { + "end_time": "2025-03-19T09:19:03.853918Z", + "start_time": "2025-03-19T09:19:02.315325Z" + } + }, + "source": [ + "import numpy as np\n", + "import pandas as pd # dataframes are in pandas \n", + "import matplotlib.pyplot as plt\n", + "\n", + "hitters = pd.read_csv(\"data/Hitters.csv\", index_col=\"Name\")\n", + "\n", + "hitters" + ], + "outputs": [ + { + "data": { + "text/plain": [ + " AtBat Hits HmRun Runs RBI Walks Years CAtBat CHits \\\n", + "Name \n", + "-Andy Allanson 293 66 1 30 29 14 1 293 66 \n", + "-Alan Ashby 315 81 7 24 38 39 14 3449 835 \n", + "-Alvin Davis 479 130 18 66 72 76 3 1624 457 \n", + "-Andre Dawson 496 141 20 65 78 37 11 5628 1575 \n", + "-Andres Galarraga 321 87 10 39 42 30 2 396 101 \n", + "... ... ... ... ... ... ... ... ... ... \n", + "-Willie McGee 497 127 7 65 48 37 5 2703 806 \n", + "-Willie Randolph 492 136 5 76 50 94 12 5511 1511 \n", + "-Wayne Tolleson 475 126 3 61 43 52 6 1700 433 \n", + "-Willie Upshaw 573 144 9 85 60 78 8 3198 857 \n", + "-Willie Wilson 631 170 9 77 44 31 11 4908 1457 \n", + "\n", + " CHmRun CRuns CRBI CWalks League Division PutOuts \\\n", + "Name \n", + "-Andy Allanson 1 30 29 14 A E 446 \n", + "-Alan Ashby 69 321 414 375 N W 632 \n", + "-Alvin Davis 63 224 266 263 A W 880 \n", + "-Andre Dawson 225 828 838 354 N E 200 \n", + "-Andres Galarraga 12 48 46 33 N E 805 \n", + "... ... ... ... ... ... ... ... \n", + "-Willie McGee 32 379 311 138 N E 325 \n", + "-Willie Randolph 39 897 451 875 A E 313 \n", + "-Wayne Tolleson 7 217 93 146 A W 37 \n", + "-Willie Upshaw 97 470 420 332 A E 1314 \n", + "-Willie Wilson 30 775 357 249 A W 408 \n", + "\n", + " Assists Errors Salary NewLeague \n", + "Name \n", + "-Andy Allanson 33 20 NaN A \n", + "-Alan Ashby 43 10 475.0 N \n", + "-Alvin Davis 82 14 480.0 A \n", + "-Andre Dawson 11 3 500.0 N \n", + "-Andres Galarraga 40 4 91.5 N \n", + "... ... ... ... ... \n", + "-Willie McGee 9 3 700.0 N \n", + "-Willie Randolph 381 20 875.0 A \n", + "-Wayne Tolleson 113 7 385.0 A \n", + "-Willie Upshaw 131 12 960.0 A \n", + "-Willie Wilson 4 3 1000.0 A \n", + "\n", + "[322 rows x 20 columns]" + ], + "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", + " \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", + " \n", + " \n", + " \n", + " \n", + "
AtBatHitsHmRunRunsRBIWalksYearsCAtBatCHitsCHmRunCRunsCRBICWalksLeagueDivisionPutOutsAssistsErrorsSalaryNewLeague
Name
-Andy Allanson2936613029141293661302914AE4463320NaNA
-Alan Ashby31581724383914344983569321414375NW6324310475.0N
-Alvin Davis479130186672763162445763224266263AW8808214480.0A
-Andre Dawson496141206578371156281575225828838354NE200113500.0N
-Andres Galarraga3218710394230239610112484633NE80540491.5N
...............................................................
-Willie McGee49712776548375270380632379311138NE32593700.0N
-Willie Randolph4921365765094125511151139897451875AE31338120875.0A
-Wayne Tolleson475126361435261700433721793146AW371137385.0A
-Willie Upshaw57314498560788319885797470420332AE131413112960.0A
-Willie Wilson6311709774431114908145730775357249AW408431000.0A
\n", + "

322 rows × 20 columns

\n", + "
" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 2 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 1** : \n", + "\n", + "In `pd.read_csv(\"Hitters.csv\", index_col = \"Name\") `, what does `index_col = \"Name\"` mean ? Try without `index_col = \"Name\"`.\n", + "\n" + ] + }, + { + "cell_type": "code", + "metadata": { + "ExecuteTime": { + "end_time": "2025-03-19T09:19:12.575121Z", + "start_time": "2025-03-19T09:19:12.561648Z" + } + }, + "source": [ + "hitters_bis = pd.read_csv(\"data/Hitters.csv\")\n", + "\n", + "hitters_bis" + ], + "outputs": [ + { + "data": { + "text/plain": [ + " Name AtBat Hits HmRun Runs RBI Walks Years CAtBat \\\n", + "0 -Andy Allanson 293 66 1 30 29 14 1 293 \n", + "1 -Alan Ashby 315 81 7 24 38 39 14 3449 \n", + "2 -Alvin Davis 479 130 18 66 72 76 3 1624 \n", + "3 -Andre Dawson 496 141 20 65 78 37 11 5628 \n", + "4 -Andres Galarraga 321 87 10 39 42 30 2 396 \n", + ".. ... ... ... ... ... ... ... ... ... \n", + "317 -Willie McGee 497 127 7 65 48 37 5 2703 \n", + "318 -Willie Randolph 492 136 5 76 50 94 12 5511 \n", + "319 -Wayne Tolleson 475 126 3 61 43 52 6 1700 \n", + "320 -Willie Upshaw 573 144 9 85 60 78 8 3198 \n", + "321 -Willie Wilson 631 170 9 77 44 31 11 4908 \n", + "\n", + " CHits ... CRuns CRBI CWalks League Division PutOuts Assists \\\n", + "0 66 ... 30 29 14 A E 446 33 \n", + "1 835 ... 321 414 375 N W 632 43 \n", + "2 457 ... 224 266 263 A W 880 82 \n", + "3 1575 ... 828 838 354 N E 200 11 \n", + "4 101 ... 48 46 33 N E 805 40 \n", + ".. ... ... ... ... ... ... ... ... ... \n", + "317 806 ... 379 311 138 N E 325 9 \n", + "318 1511 ... 897 451 875 A E 313 381 \n", + "319 433 ... 217 93 146 A W 37 113 \n", + "320 857 ... 470 420 332 A E 1314 131 \n", + "321 1457 ... 775 357 249 A W 408 4 \n", + "\n", + " Errors Salary NewLeague \n", + "0 20 NaN A \n", + "1 10 475.0 N \n", + "2 14 480.0 A \n", + "3 3 500.0 N \n", + "4 4 91.5 N \n", + ".. ... ... ... \n", + "317 3 700.0 N \n", + "318 20 875.0 A \n", + "319 7 385.0 A \n", + "320 12 960.0 A \n", + "321 3 1000.0 A \n", + "\n", + "[322 rows x 21 columns]" + ], + "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", + " \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", + "
NameAtBatHitsHmRunRunsRBIWalksYearsCAtBatCHits...CRunsCRBICWalksLeagueDivisionPutOutsAssistsErrorsSalaryNewLeague
0-Andy Allanson293661302914129366...302914AE4463320NaNA
1-Alan Ashby315817243839143449835...321414375NW6324310475.0N
2-Alvin Davis4791301866727631624457...224266263AW8808214480.0A
3-Andre Dawson496141206578371156281575...828838354NE200113500.0N
4-Andres Galarraga32187103942302396101...484633NE80540491.5N
..................................................................
317-Willie McGee497127765483752703806...379311138NE32593700.0N
318-Willie Randolph49213657650941255111511...897451875AE31338120875.0A
319-Wayne Tolleson475126361435261700433...21793146AW371137385.0A
320-Willie Upshaw573144985607883198857...470420332AE131413112960.0A
321-Willie Wilson63117097744311149081457...775357249AW408431000.0A
\n", + "

322 rows × 21 columns

\n", + "
" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 4 + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Answer for ex. 1 : \n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 2** :\n", + "\n", + "(1) Sample size of `Hitters` ? How many features in `Hitters` ?\n", + "\n", + "(2) What are the features in `Hitters` ? \n", + "\n", + "(3) Are all the features in $\\mathbb{R}$? \n", + "\n", + "(4) Are there many missing data ? `print` the number of missing data for each feature. \n", + "\n", + "- Hint : \n", + " - (2) et (3) Use `pandas.DataFrame.dtypes`. https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.dtypes.html\n", + " - (4) Use `pandas.DataFrame.isnull`.\n", + " https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.isnull.html\n", + " See the example below. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Hint for Question (4) :\n", + "ex = pd.DataFrame(dict(nom=['Alice', 'Nicolas', 'Jean'],\n", + " age=[19, np.NaN, np.NaN],\n", + " exam=[15, 14, np.NaN]))\n", + "\n", + "print(\"data : \\n\", ex)\n", + "print(\"First result : \\n\", ex.isnull())\n", + "print(\"Second result : \\n\", ex.isnull().sum())" + ] + }, + { + "cell_type": "code", + "metadata": { + "ExecuteTime": { + "end_time": "2025-03-19T09:22:51.269241Z", + "start_time": "2025-03-19T09:22:51.242330Z" + } + }, + "source": [ + "print(hitters.shape)\n", + "print(hitters.columns)\n", + "print(hitters.describe())\n", + "print(hitters.isnull().sum())" + ], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(322, 20)\n", + "Index(['AtBat', 'Hits', 'HmRun', 'Runs', 'RBI', 'Walks', 'Years', 'CAtBat',\n", + " 'CHits', 'CHmRun', 'CRuns', 'CRBI', 'CWalks', 'League', 'Division',\n", + " 'PutOuts', 'Assists', 'Errors', 'Salary', 'NewLeague'],\n", + " dtype='object')\n", + " AtBat Hits HmRun Runs RBI Walks \\\n", + "count 322.000000 322.000000 322.000000 322.000000 322.000000 322.000000 \n", + "mean 380.928571 101.024845 10.770186 50.909938 48.027950 38.742236 \n", + "std 153.404981 46.454741 8.709037 26.024095 26.166895 21.639327 \n", + "min 16.000000 1.000000 0.000000 0.000000 0.000000 0.000000 \n", + "25% 255.250000 64.000000 4.000000 30.250000 28.000000 22.000000 \n", + "50% 379.500000 96.000000 8.000000 48.000000 44.000000 35.000000 \n", + "75% 512.000000 137.000000 16.000000 69.000000 64.750000 53.000000 \n", + "max 687.000000 238.000000 40.000000 130.000000 121.000000 105.000000 \n", + "\n", + " Years CAtBat CHits CHmRun CRuns \\\n", + "count 322.000000 322.00000 322.000000 322.000000 322.000000 \n", + "mean 7.444099 2648.68323 717.571429 69.490683 358.795031 \n", + "std 4.926087 2324.20587 654.472627 86.266061 334.105886 \n", + "min 1.000000 19.00000 4.000000 0.000000 1.000000 \n", + "25% 4.000000 816.75000 209.000000 14.000000 100.250000 \n", + "50% 6.000000 1928.00000 508.000000 37.500000 247.000000 \n", + "75% 11.000000 3924.25000 1059.250000 90.000000 526.250000 \n", + "max 24.000000 14053.00000 4256.000000 548.000000 2165.000000 \n", + "\n", + " CRBI CWalks PutOuts Assists Errors \\\n", + "count 322.000000 322.000000 322.000000 322.000000 322.000000 \n", + "mean 330.118012 260.239130 288.937888 106.913043 8.040373 \n", + "std 333.219617 267.058085 280.704614 136.854876 6.368359 \n", + "min 0.000000 0.000000 0.000000 0.000000 0.000000 \n", + "25% 88.750000 67.250000 109.250000 7.000000 3.000000 \n", + "50% 220.500000 170.500000 212.000000 39.500000 6.000000 \n", + "75% 426.250000 339.250000 325.000000 166.000000 11.000000 \n", + "max 1659.000000 1566.000000 1378.000000 492.000000 32.000000 \n", + "\n", + " Salary \n", + "count 263.000000 \n", + "mean 535.925882 \n", + "std 451.118681 \n", + "min 67.500000 \n", + "25% 190.000000 \n", + "50% 425.000000 \n", + "75% 750.000000 \n", + "max 2460.000000 \n", + "AtBat 0\n", + "Hits 0\n", + "HmRun 0\n", + "Runs 0\n", + "RBI 0\n", + "Walks 0\n", + "Years 0\n", + "CAtBat 0\n", + "CHits 0\n", + "CHmRun 0\n", + "CRuns 0\n", + "CRBI 0\n", + "CWalks 0\n", + "League 0\n", + "Division 0\n", + "PutOuts 0\n", + "Assists 0\n", + "Errors 0\n", + "Salary 59\n", + "NewLeague 0\n", + "dtype: int64\n" + ] + } + ], + "execution_count": 8 + }, + { + "metadata": {}, + "cell_type": "markdown", + "source": "There are 20 features, all the features are in $\\mathbb{R}$. And there are 59 missing values in the column **Salary**" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As `Salary`is the **target** we want to predict, if it is missing for a player, we will remove this player. \n", + "\n", + "To simplify here, **we only take numeric features** and ignore factors (i.e. categorical attributes) like `League`, `Division` and `NewLeague`. \n", + "\n", + "**Remark :**\n", + "To handle the categorical features, one can use one-hot encoding, see https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 3** :\n", + "\n", + "(1) Remove the players for whom `Salary` is missing. \n", + "\n", + "- Hint : use `pandas.DataFrame.dropna`. https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.dropna.html\n", + "\n", + "\n", + "(2) `Salary` is the **target**, denoted as `Y` in the next cell. For the features ( `X` in the next cell, we remove `League`, `Division` and `NewLeague`.) \n", + "\n", + "- Hint : (1) You can use `dtypes == 'int64'` to select the integer-valued features. Alternative : use `select_dtypes`with `include=number`\n", + " (2) Use `pandas.DataFrame.loc` to access the dataframe. \n", + "https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.loc.html" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Ex 3\n", + "\n", + "# (1)\n", + "\n", + "\n", + "# (2)\n", + "# Complete with your code\n", + "\n", + "X =\n", + "Y =\n", + "\n", + "# check-point\n", + "print(Y.isnull().sum()) # should be 0\n", + "print(X.shape) # should be (322-59, 20-4)=(263,16)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 4**\n", + "Split the data into a train set and a test set. Use 30% of the data for the test set and a random state = 42. (In the end you can try other values than 42). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "#Answer for Exercise 4\n", + "from # complete\n", + "\n", + "Xtrain, Xtest, Ytrain, Ytest = # complete" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Standardization**\n", + "We will standardize the data before applying Lasso or Ridge as is usually advised. For this we use the transformer `StandardScaler`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.preprocessing import StandardScaler\n", + "\n", + "scaler = StandardScaler()\n", + "XtrainScaled = scaler.fit_transform(Xtrain)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us check that the columns are now standardized :" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "XtrainScaled.std(axis=0), XtrainScaled.mean(axis=0)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note that the initial dataframe is now a numpy array :" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "type(XtrainScaled)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Let us turn Ytrain into a numpy array as well :" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": "Ytrain = Ytrain.to_numpy()" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## 1. Ridge and Lasso " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Ridge**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 5** : (1) Create a Ridge regression model. Specify `fit_intercept=True`, use the default value `alpha=1` and call it `ridge`. Check what alpha corresponds to. \n", + "\n", + "Hint : Use `sklearn.linear_model.Ridge`.\n", + "\n", + "https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html\n", + "\n", + "(2) Fit `ridge` on the data `(XtrainScaled,Ytrain)`.\n", + "\n", + "(3) Display the estimated coefficients (`intercept` included !). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for ex. 4, complete with your code\n", + "coef_ridge = []\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 6** : (1) Create a Lasso regression model with `alpha=1` and `fit_intercept=True`, call it `lasso`. What does `alpha` correspond to ?\n", + "\n", + "Hint : use `sklearn.linear_model.Lasso` https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Lasso.html\n", + "\n", + "(2) Fit `lasso` on the data `(XtrainScaled,Ytrain)`.\n", + "\n", + "(3) Display the estimated coefficients. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Ex. 6\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "-------------------\n", + "\n", + "In the next exercise, we will display the variation of the Ridge estimator coefficients as a function of the regularization (`alpha`, *shrinkage parameter* ).\n", + "Let us generate 50 different values for alpha as follows :" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": "alpha_s = np.logspace(-4, 6, 50)" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "*Info about logspace* (if necessary)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": "np.logspace(0, 3, 4)" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": "10 ** (np.linspace(0, 3, 4))" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": "np.logspace(-2, 2, 5) == 10 ** (np.linspace(-2, 2, 5))" + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(alpha_s)\n", + "\n", + "fig, (ax1, ax2) = plt.subplots(1, 2)\n", + "ax1.plot(alpha_s, \".\")\n", + "ax2.plot(np.log10(alpha_s), \".\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 7** : (1) For each `alpha` in `alpha_s`, fit a ridge model. \n", + "You can use `ridge.set_params`. See : https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html. \n", + " \n", + "\n", + "(2) Plot the coefficients (without the intercept) w.r.t. `log10(alpha)`. What do you observe ? \n", + "\n", + "(3) (**Optional** ) Create a linear regression model, compare the coefficients given by the OLS estimator with those you get with a Ridge model with a small `alpha`. \n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Exercise 7\n", + "\n", + "coefs_ridge = []\n", + "for alpha in alpha_s:\n", + "#complete\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Lasso**" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will do the same questions as in Exercise 7 but for Lasso. \n", + "\n", + "For that, we will use `sklearn.linear_model.lasso_path`. \n", + "See https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.lasso_path.html \n", + "\n", + "Note that the output of `lasso_path` is a `tuple`. \n", + "You can read this example : https://scikit-learn.org/stable/auto_examples/linear_model/plot_lasso_lasso_lars_elasticnet_path.html#sphx-glr-auto-examples-linear-model-plot-lasso-lasso-lars-elasticnet-path-py\n", + "\n", + "(Also : note the shape of the array of coefficients output by `lasso_path`...)" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((16, 50), (50, 16))" + ] + }, + "execution_count": 114, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from sklearn.linear_model import lasso_path\n", + "\n", + "alphas_lasso, coefs_lasso, _ = lasso_path(XtrainScaled, Ytrain, n_alphas=50)\n", + "coefs_lasso.shape, coefs_ridge.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "(in coefs_ridge the rows corresponded to the different values of alpha and the columns were the features, it is the opposite for the output of `lasso_path`).\n", + "\n", + "We used 50 values for alphas (those values are automatically determined by `lasso_path`). " + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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L8fv91NcXMzXvvY1dF3vcc2GDRtYsmQJXq+XUaNGcc8992BZ1mA0XeTYO++8QyQSoaCgQNaZEkIIcdQcg/Eh3/zmN6msrGTdunU9jhuGwaWXXkpJSQnLly+nubmZG2+8EcuyePDBBwEIh8NceOGFnHvuuaxevZrt27dz00034ff7ufPOOwej+SJHYrEYb7/9NgDnnnsuDseg/HMVQggxAgz4T4yXXnqJV155hWeeeSY7h0mnV155hc2bN3PgwAEqKysBeOCBB7jpppu49957ycvL43e/+x2JRIJHH30Ut9vNrFmz2L59Oz/60Y+444475GmaEWz58uUkk0nKysqYNWtWrpsjhBBiGBnQW1T19fXcfPPNPPHEE70++bJy5UpmzZqVDTcAF110EclkkjVr1mSvOXjsxUUXXURNTQ179+7t9XOTySThcLjHJoaX9vZ2Vq1aBdiT+slCmkIIIY7FgP3UsCyLm266iS9/+cvMmzev12vq6uooKyvrcaygoACXy0VdXd1hr+nc77zmYPfffz+hUCi7jRkz5ni/HDHIli1bRjqdZty4cUyZMiXXzRFCCDHMHHPA+c53voOiKEfc3nvvPR588EHC4TB33333Ed+vt1tMlmX1OH7wNZ0DjA93e+ruu++mvb09ux04cOBYv0yRQ42Njbz//vuA3XsjtyGFEEIcq2Meg3PrrbdyzTXXHPGa8ePH873vfY933nnnkMd6582bx3XXXcdjjz1GeXl5duHETq2traRSqWwvTXl5+SE9NQ0NDQCH9Ox0crvd8jjxMPbGG29gWRbTpk1j7NixuW6OEEKIYeiYA05xcTHFxcV9XvfTn/6U733ve9n9mpoaLrroIp5++unsZG0LFy7k3nvvpba2loqKCsAeeOx2u5k7d272mm9/+9vouo7L5cpeU1lZyfjx44+1+WKIq66uZvPmzQCcd955OW6NEEKI4WrAxuCMHTuWWbNmZbepU6cCMGnSJEaPHg3ARz7yEWbOnMn111/P+++/z+uvv85dd93FzTffTF5eHgDXXnstbrebm266iY0bN/Lcc89x3333yRNUI9Rrr70GwCmnnHLYHjohhBCiLzl9NEXTNF544QU8Hg+LFi3iqquu4sorr+S///u/s9eEQiFeffVVqqqqmDdvHrfccgt33HEHd9xxRw5bLgbCrl272LNnD5qmcc455+S6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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "coefs_lasso = coefs_lasso.T\n", + "plt.plot(np.log10(alphas_lasso), coefs_lasso)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 116, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#the values of alphas chosen by defaults are also on a logarithmic scale\n", + "plt.plot(np.log10(alphas_lasso), '.')" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Lasso coefficients')" + ] + }, + "execution_count": 117, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsYAAAISCAYAAADPxwmMAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAADE6UlEQVR4nOzdd5xcdb3/8dcp09v2lt4LqSShgyBNBKUpINjRq6IIAoLo9SpeL1z0p6LXLgIKIthFRQHpPYUSkpDeNpvtZXb6zCm/P85sy26S3WR3djf5PB+Pw/ec7zkz850k7L7nO9/z/Sq2bdsIIYQQQghxlFNHuwFCCCGEEEKMBRKMhRBCCCGEQIKxEEIIIYQQgARjIYQQQgghAAnGQgghhBBCABKMhRBCCCGEACQYCyGEEEIIAUgwFkIIIYQQApBgLIQQQgghBCDBWAghhBBCCGCcBeO6ujo++MEPUlpait/vZ8mSJaxZs6b7vG3bfP3rX6empgafz8fpp5/O+vXr+zxHJpPh2muvpaysjEAgwHvf+1727NlT6LcihBBCCCHGmHETjNvb2zn55JNxuVz885//ZMOGDXznO9+hqKio+5pvfetbfPe73+WHP/whq1atoqqqirPPPptYLNZ9zfXXX8+f//xnHnroIV544QXi8TgXXHABpmmOwrsSQgghhBBjhWLbtj3ajRiML33pS7z44os8//zzA563bZuamhquv/56brnlFsDpHa6srOTOO+/kU5/6FNFolPLycu6//34uv/xyAPbu3cukSZN49NFHOffccwv2foQQQgghxNiij3YDBuuRRx7h3HPP5f3vfz/PPvssEyZM4JprruGTn/wkADt27KChoYFzzjmn+zEej4d3vOMdvPTSS3zqU59izZo15HK5PtfU1NSwYMECXnrppf0G40wmQyaT6T62LIu2tjZKS0tRFGWE3rEQQgghhDhUtm0Ti8WoqalBVQc3SGLcBOPt27fzk5/8hBtuuIEvf/nLrFy5ks9//vN4PB4+/OEP09DQAEBlZWWfx1VWVrJr1y4AGhoacLvdFBcX97um6/EDueOOO7jtttuG+R0JIYQQQoiRVltby8SJEwd17bgJxpZlsXz5cm6//XYAli5dyvr16/nJT37Chz/84e7r9u3BtW37oL26B7vm1ltv5YYbbug+jkajTJ48mdraWsLh8KG8HSGE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+TFt2jSsVqvZZYmIiMgFCsYitSQhIYEjR47g7u7O3XffTdOmTc0uSURERC6iYCxSC0pKSti4cSMAt956K61btza3IBEREbmMgrFILdixYwd5eXkEBgZqBgoREZE6SsFYpIYVFhayZcsWAIYPH67bPYuIiNRRCsYiNezbb7+lqKiIkJAQevbsaXY5IiIichUKxiI1KDc3l23btgEwYsQITc0mIiJSh+m3tEgN2rx5MzabjdatWxMZGWl2OSIiInIN9S4YFxcX06tXLywWC4mJiS7bkpOTmThxIn5+fgQHB/PII49QUlLi0mbfvn0MHToUHx8fWrVqxR//+EcMw6jFbyCNRWZmJrt37wbKZqKwWCwmVyQiIiLXUu+uAnr88ccJDw9nz549Luvtdjvjx48nJCSELVu2kJmZycyZMzEMgwULFgBl/9YeOXIkw4cPZ+fOnRw9epSYmBj8/PyYN2+eGV9HGrD169djGAadOnUiIiLC7HJERETkJ9SrYLx69WpiY2NZunQpq1evdtkWGxvLwYMHSUlJITw8HIBXX32VmJgYnn/+eQICAvjkk08oKiriX//6F1arlR49enD06FFee+015s6dqx49qTapqakcOHAAKOstFhERkbqv3gylOHv2LLNmzeKjjz7C19f3su3x8fH06NHDGYoBRo8eTXFxsfPf2fHx8QwdOtTlNryjR48mNTWVpKSkq+67uLiY3Nxcl0XkWr755hsAbrzxRsLCwkyuRkRERCqiXgRjwzCIiYnhgQceICoq6opt0tLSaNGihcu6oKAgvLy8SEtLu2qb8tflba7kxRdfJDAw0Lm0adPmer6ONHAnT57k+PHjuLm5MXz4cLPLERERkQoyNRg/++yzWCyWay67du1iwYIF5ObmMn/+/Gt+3pWGQhiG4bL+0jblF95daxjF/PnzycnJcS4pKSmV+ZrSiBiGwbp16wDo06cPzZo1M7kiERERqShTxxjPnj2bqVOnXrNNREQEf/rTn9i2bZvLEAiAqKgo7rnnHj788EPCwsLYvn27y/bs7GxKS0udvcJhYWGX9Qynp6cDXNaTfDGr1XrZvkWu5PDhw5w+fRpPT09uvvlms8sRERGRSjA1GAcHBxMcHPyT7d566y3+9Kc/OV+npqYyevRoPv30U/r37w9AdHQ0zz//PGfOnKFly5ZA2QV5VquVPn36ONs8+eSTlJSU4OXl5WwTHh6uWQPkutntdufY4gEDBuDv729yRSIiIlIZ9WKMcdu2benRo4dz6dKlCwAdO3akdevWAIwaNYru3bszffp0EhIS+Oabb3jssceYNWsWAQEBAEybNg2r1UpMTAz79+9n+fLlvPDCC5qRQqrF3r17+fHHH/Hx8WHQoEFmlyMiIiKVVC+CcUW4u7uzcuVKvL29GTRoEFOmTOG2227jlVdecbYJDAxk7dq1nDp1iqioKB588EHmzp3L3LlzTaxcGoLS0lI2bNgAwODBg/H29ja5IhEREaksi6HbvlVabm4ugYGB5OTkOHujpXHbunUrsbGxBAQE8PDDD+Pp6Wl2SSIiIo1aVfJag+kxFjFLUVERcXFxAAwbNkyhWEREpJ5SMBa5Tlu3bqWwsJDmzZtz0003mV2OiIiIVJGCsch1OH/+PPHx8QCMGDECd3d3kysSERGRqlIwFrkOmzZtorS0lPDwcLp162Z2OSIiInIdFIxFqujMmTPs2rULgFtvvVVT/omIiNRzCsYiVeBwOFi5ciWGYdC9e3c6dOhgdkkiIiJynRSMRaogMTGRU6dO4enpyejRo80uR0RERKqBgrFIJRUUFLB27VoAhg8fTmBgoMkViYiISHVQMBappHXr1lFYWEhoaCj9+/c3uxwRERGpJgrGIpWQkpLCd999B8D48eM1PZuIiEgDomAsUkF2u52VK1cC0KtXL9q1a2dyRSIiIlKdFIxFKmjnzp2kpaXh7e3NyJEjzS5HREREqpmCsUgF5OXlsX79eqDsDnd+fn4mVyQiIiLVTcFYpAJiY2MpKSkhPDycPn36mF2OiIiI1AAFY5GfcOLECfbt2wfAhAkTcHPTj42IiEhDpN/wItdgs9mcF9z17duX8PBwkysSERGRmqJgLHIN8fHxZGZm4ufnxy233GJ2OSIiIlKDFIxFriI7O5tNmzYBMGrUKHx8fEyuSERERGqSgrHIVaxZswabzUa7du3o2bOn2eWIiIhIDVMwFrmCI0eOcOTIEdzc3Bg/fjwWi8XskkRERKSGKRiLXKKkpITVq1cDEB0dTWhoqMkViYiISG1QMBa5RFxcHOfOnSMgIICbb77Z7HJERESkligYi1wkPT2db7/9FoCxY8ditVpNrkhERERqi4KxyAU2m41ly5bhcDjo3LkzXbt2NbskERERqUUKxiIXbNy4kbS0NHx8fJg4caIuuBMREWlkFIxFgB9++IEtW7YAMHHiRAICAkyuSERERGqbgrE0ekVFRSxbtgyAXr160b17d5MrEhERETMoGEujt3r1anJycmjatCljxowxuxwRERExiYKxNGoHDhxgz549WCwWbr/9dry9vc0uSUREREyiYCyNVm5uLl999RUAgwcPpl27diZXJCIiImZSMJZGyeFw8MUXX1BYWEjLli0ZOnSo2SWJiIiIyRSMpVHasWMHJ06cwMPDg8mTJ+Ph4WF2SSIiImIyBWNpdNLT01m3bh0Ao0aNIiQkxOSKREREpC5QMJZGpfzudjabjU6dOtG3b1+zSxIREZE6QsFYGpUNGzY47243adIk3d1OREREnBSMpdFISkri22+/BeBnP/sZ/v7+JlckIiIidYmCsTQKRUVFLF++HCi7u123bt1MrkhERETqGgVjaRRWrVpFTk4OQUFBjB071uxyREREpA5SMJYGb//+/ezdu9d5dzur1Wp2SSIiIlIHKRhLg5aRkcGKFSsAGDJkCG3btjW5IhEREamrFIylwSosLGTRokWUlJTQtm1b3d1ORERErknBWBokh8PBsmXLyMrKIiAggClTpuDu7m52WSIiIlKHKRhLg7RhwwaOHTuGh4cHU6dOpUmTJmaXJCIiInWcgrE0OAcOHCAuLg4om684PDzc5IpERESkPlAwlgYlLS2NL774AoDo6Gh69uxpbkEiIiJSbygYS4NRUFDA4sWLKS0tpUOHDtx6661mlyQiIiL1iIKxNAh2u53PPvuMc+fOERQUxM9//nNdbCciIiKVomAsDcLatWs5efIknp6eTJ06FV9fX7NLEhERkXpGwVjqvT179rBt2zYAbrvtNlq0aGFyRSIiIlIfKRhLvXb69GmXO9vdcMMNJlckIiIi9ZWCsdRb58+f59NPP8Vut9O5c2eGDx9udkkiIiJSjykYS71ks9lYsmQJubm5NG/enDvuuAM3N53OIiIiUnVKElIvrVmzhuTkZKxWK1OnTsXb29vskkRERKSeUzCWemfr1q3s2rULgMmTJxMSEmJyRSIiItIQKBhLvZKQkEBsbCwAI0aMIDIy0uSKREREpKGoV8F45cqV9O/fHx8fH4KDg5k8ebLL9uTkZCZOnIifnx/BwcE88sgjlJSUuLTZt28fQ4cOxcfHh1atWvHHP/4R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IiKAgrGIiIiICKBgLCIiIiICKBiLiIiIiAAKxiIiNWbYsGH85je/MbuMK8rMzCQ0NJSkpKQKvycmJobbbrutUvuJiIjgjTfeqNR7LvX222/zs5/97Lo+Q0SkIhSMRUTqiTNnzjBt2jQiIyNxc3O7auheunQp3bt3x2q10r17d5YvX35ZmxdffJGJEycSERFRs0VXg1mzZrFz5062bNlidiki0sApGIuI1BPFxcWEhITw1FNPcdNNN12xTXx8PHfddRfTp09nz549TJ8+nSlTprB9+3Znm8LCQt5//31++ctf1lbp18VqtTJt2jQWLFhgdiki0sApGIuI1ILs7GxmzJhBUFAQvr6+jB07lmPHjrm0ee+992jTpg2+vr7cfvvtvPbaazRt2tS5PSIigjfffJMZM2YQGBh4xf288cYbjBw5kvnz59O1a1fmz5/PiBEjXIYzrF69Gg8PD6Kjo53r7HY7v/jFL2jfvj0+Pj5ERkby5ptvXvM7DRs2jNmzZzN79myaNm1K8+bNefrppzEMw6VdQUEB999/P/7+/rRt25Z//OMfLtt/97vf0aVLF3x9fenQoQPPPPMMpaWlLm1+9rOf8cUXX1BYWHjNmkREroeCsYhILYiJiWHXrl2sWLGC+Ph4DMNg3LhxzgD47bff8sADD/Doo4+SmJjIyJEjef755yu9n/j4eEaNGuWybvTo0WzdutX5evPmzURFRbm0cTgctG7dmiVLlnDw4EF+//vf8+STT7JkyZJr7u/DDz/Ew8OD7du389Zbb/H666/zz3/+06XNq6++SlRUFAkJCTz44IP8+te/5vDhw87t/v7+/Otf/+LgwYO8+eabvPfee7z++usunxEVFUVpaSk7duyo1PEQEakMD7MLEBFp6I4dO8aKFSv49ttvGThwIACffPIJbdq04YsvvuDOO+9kwYIFjB07lsceewyALl26sHXrVr766qtK7SstLY0WLVq4rGvRogVpaWnO10lJSYSHh7u08fT05LnnnnO+bt++PVu3bmXJkiVMmTLlqvtr06YNr7/+OhaLhcjISPbt28frr7/OrFmznG3GjRvHgw8+CJT1Dr/++uts3LiRrl27AvD0008720ZERDBv3jw+/fRTHn/8ced6Pz8/mjZtSlJSEkOHDq3MIRERqTD1GIuI1LBDhw7h4eFB//79neuaN29OZGQkhw4dAuDIkSP069fP5X2Xvq4oi8Xi8towDJd1hYWFeHt7X/a+v/3tb0RFRRESEkKTJk147733SE5Ovua+BgwY4PLZ0dHRHDt2DLvd7lzXs2dPl9rCwsJIT093rvv8888ZPHgwYWFhNGnShGeeeeaK+/Xx8aGgoOCa9YiIXA8FYxGRGnbpmNuL15eHykvD67Xedy1hYWEuvcMA6enpLr3IwcHBZGdnu7RZsmQJc+bM4f777yc2NpbExETuu+8+SkpKKl3DpTw9PV1eWywWHA4HANu2bWPq1KmMHTuWr776ioSEBJ566qkr7jcrK4uQkJDrrkdE5GoUjEVEalj37t2x2WwuM0NkZmZy9OhRunXrBkDXrl0vGz+7a9euSu8rOjqatWvXuqyLjY11DuEA6N27NwcPHnRpExcXx8CBA3nwwQfp3bs3nTp14vjx4z+5v23btl32unPnzri7u1eo3m+//ZZ27drx1FNPERUVRefOnfnhhx8ua3f8+HGKioro3bt3hT5XRKQqFIxFRGpY586dmTRpErNmzWLLli3s2bOHe++9l1atWjFp0iQAHn74YVatWsVrr73GsWPH+Pvf/87q1asv60VOTEwkMTGR8+fPk5GRQWJiokvIffTRR4mNjeXll1/m8OHDvPzyy6xbt85lzuPRo0dz4MABl17jTp06sWvXLr7++muOHj3KM888w86dO3/yu6WkpDB37lyOHDnCokWLWLBgAY8++miFj02nTp1ITk5m8eLFHD9+nLfeeuuK8y7HxcXRoUMHOnbsWOHPFhGpLAVjEZFa8MEHH9CnTx8mTJhAdHQ0hmGwatUq5zCDQYMG8be//Y3XXnuNm266iTVr1jBnzpzLxgL37t2b3r17s3v3bv7973/Tu3dvxo0b59w+cOBAFi9ezAcffEDPnj3517/+xaeffuoyvvnGG28kKirKZcaJBx54gMmTJ3PXXXfRv39/MjMznRfMXcuMGTMoLCykX79+PPTQQzz88MP86le/qvBxmTRpEnPmzGH27Nn06tWLrVu38swzz1zWbtGiRS4X9ImI1ASLUZVBbCIiUuNmzZrF4cOHiYuLq/bPXrVqFY899hj79+/Hza1qfSTDhg2jV69e133L55+yf/9+RowYwdGjR686f7OISHXQdG0iInXEK6+8wsiRI/Hz82P16tV8+OGHvPPOOzWyr3HjxnHs2DFOnz5NmzZtamQf1SU1NZWFCxcqFItIjVMwFhGpI3bs2MGf//xn8vLy6NChA2+99VaN3ra5MmOBzXTpDUtERGqKhlKIiIiIiKCL70REREREAAVjERERERFAwVhEREREBFAwFhEREREBFIxFRERERAAFYxERERERQMFYRERERARQMBYRERERAeD/AyArscqf19OmAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(8, 6))\n", + "ax.plot(np.log10(alphas_lasso), coefs_lasso)\n", + "ax.set_xlabel('log10(alpha)')\n", + "ax.set_ylabel('Lasso coefficients')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "-------------------\n", + "\n", + "Now let us show that **Lasso will help us select the features**, i.e. some coefficients will be set to 0 when `alpha` increases. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 8** : Compute the number `nb` of zeros among the **Lasso** coefficients for each `alpha`. (Hint in the next cell)\n", + "\n", + "Plot `nb` w.r.t. `log10(alphas)`.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Hint for Ex. 8\n", + "\n", + "ind = np.array([[0, 1, 1], [0, 1, 1], [0, 1, 0]])\n", + "\n", + "print(\"1.\\n\", ind)\n", + "print(\"2.\\n\", ind == 0)\n", + "print(\"3. Le nombre de 0 de chaque colonne est :\\n \", (ind == 0).sum(axis=0))\n", + "print(\"4. Le nombre de 0 de chaque ligne est : \\n\", (ind == 0).sum(axis=1))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Ex. 8\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 9** : Compute the number `nb` of 0 among the **Ridge** coefficients for each `alpha`. \n", + "\n", + "Plot `nb` w.r.t. `log10(alphas)`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Ex. 9\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": { + "tags": [] + }, + "source": [ + "----------------\n", + "\n", + "\n", + "## 2. Cross Validation for the Lasso and Ridge hyperparameter $\\alpha$ " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the next exercises, we will select an optimal `alpha` among the values in `alpha_s` by cross-validation.\n", + "\n", + "We will use `sklearn.linear_model.RidgeCV` and `sklearn.linear_model.LassoCV`.\n", + "\n", + "Reference :\n", + "\n", + "1. `sklearn.linear_model.RidgeCV` : https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.RidgeCV.html\n", + "\n", + "2. `sklearn.linear_model.LassoCV` : https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LassoCV.html\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import RidgeCV, LassoCV\n", + "\n", + "alpha_s = np.logspace(-4, 6, 50)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 10** : (1) Create a model for `RidgeCV`, call it `ridgeCV`, with parameters `alphas=alpha_s` and `store_cv_values=True`. Fit `ridgeCV` on `(XtrainScaled,Ytrain)`. \n", + "\n", + "Remark : to be completely rigorous, we should have created a pipeline containing the scaler to avoid what we call \"data leakage\" in the CV calculation. We will ignore this detail here to simplify. \n", + "\n", + "(2) We have 50 different values for `alpha`. For each `alpha`, how many `score`s do we get for the cross-validation ? Read the info concerning the parameter `cv_values_` of `RidgeCV` in https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.RidgeCV.html \n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Ex. 10\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 11** : For each alpha, give the mean of the scores, and call it `alpha_score`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Hint for Exercise 11 : \n", + "\n", + "ind2 = np.array([[1, 2, 3], [4, 5, 6]])\n", + "\n", + "print(\"1\\n\", ind2.shape)\n", + "print(\"2\\n\", ind2.mean(axis=0))\n", + "print(\"3\\n\", ind2.mean(axis=1))\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Ex. 11\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Exercise 12** : Plot `alpha_score` w.r.t. `log10(alpha_s)`. Which `alpha` are we going to choose ? Display the coefficients for the chosen `alpha`.\n", + "\n", + "Hint : read the attributes `alpha_` and `coef_` of ridgecv." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Exercise 12\n", + "\n", + "\n", + "\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will do the same for **Lasso** using `LassoCV`. \n", + "\n", + "**Remark** : By default, `LassoCV` uses 5-fold cross-validation, which is different from *Leave-One-Out Cross-Validation* used in `RidgeCV`. \n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import LassoCV\n", + "\n", + "lassoCV = LassoCV(n_alphas=50)\n", + "lassoCV.fit(XtrainScaled, Ytrain)\n", + "lassoCV.mse_path_.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"5\" corresponds to the 5-folds and \"50\" corresponds to the 50 values of alpha. Here we let LassoCV choose those 50 values. \n", + "\n", + "Pay attention to the fact that, again, the rows and the columns are reversed compared to RidgeCV output : that is why we use the parameter \"axis=1\" in the next cell. \n", + "\n", + "NB : the default value for cv is 5 here (using leave-one-out for Lasso would be too costly (no fast formula, contrary to Ridge)). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "alpha_score = lassoCV.mse_path_.mean(axis=1)\n", + "alpha_score.shape" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "alphas = lassoCV.alphas_\n", + "plt.plot(np.log10(alphas), alpha_score)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "print(\"best alpha for lasso : \", lassoCV.alpha_)\n", + "print(\"lasso coef for the best alpha : \", lassoCV.coef_)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## OPTIONAL : Comparing estimators" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Remark about the standardization : the standardization needs to be done in three steps : \n", + "- first we use `fit` on the train set, which means the standardizer computes the mean and the std for each feature in your train set.\n", + "- Then you transform the data : it means, for each column, you remove the mean computed before (i.e. the means computed on the **train** set) and divide by the std computed before (i.e. the std computed on the **train** set).\n", + "- But pay attention to the fact that you must transform the train set **and** the test set. But the fit has to be done on the train set only !\n", + "\n", + "Previously, we used the shorter syntax `fit_transform` that allows you to do the `transform` calculation and then to `fit`. We could do that because we only used the train set. But for the test set, we must only use `transform`. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": "XtestScaled = scaler.transform(Xtest)" + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Prediction of Salary on the test set using the OLS estimator**" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "\n", + "LinReg = LinearRegression()\n", + "LinReg.fit(Xtrain,\n", + " Ytrain) # no need to scale for OLS if you just want to predict (unless the solver works best with scaled data)\n", + "# the predictions should not be different with or without standardization (could differ only owing to numerical problems)\n", + "hatY_LinReg = LinReg.predict(Xtest)\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.scatter(Ytest, hatY_LinReg, s=5)\n", + "ax.plot([0, 1], [0, 1], transform=ax.transAxes, ls='--', c='gray')\n", + "ax.set_xlabel('Ytest')\n", + "ax.set_ylabel('hatY')\n", + "ax.set_title('Predicted vs true salaries for OLS estimator')\n", + "ax.axis('square')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Optional Exercise 1**\n", + "Do the same with the Ridge estimator (with alpha chosen by CV). " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Optional Exercise 1\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Optional Exercise 2** Do the same with Lasso with alpha chosen by CV. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Answer for Optional Exercise 2\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Calculation of the best alpha with a \"BIC criterion\".**\n", + "Here is an alternative method to choose the \"best\" alpha : " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import LassoLarsIC\n", + "\n", + "lassoBIC = LassoLarsIC(criterion='bic')\n", + "lassoBIC.fit(Xtrainscaled, Ytrain)\n", + "print(\"best alpha chosen by BIC criterion :\", lassoBIC.alpha_)\n", + "print(\"best alpha chosen by CV :\", lassoCV.alpha_)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Comparison between predicted salary and true salary for \"LassoBIC\" estimator :** " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "lasso.set_params(alpha=alpha_BIC)\n", + "lasso.fit(XtrainScaled, Ytrain)\n", + "\n", + "hatY_BIC = lasso.predict(Xtest)\n", + "\n", + "fig, ax = plt.subplots()\n", + "ax.scatter(Ytest, hatY_BIC, s=5)\n", + "ax.plot([0, 1], [0, 1], transform=ax.transAxes, ls='--', c='gray')\n", + "ax.set_xlabel('Ytest')\n", + "ax.set_ylabel('hatY')\n", + "ax.set_title('Predicted vs true salaries for LassoBIC estimator')\n", + "ax.axis('square')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Optional Exercise 3** Compute the MSE for these four different estimators (LassoCV, LassoBIC, OLS, RidgeCV)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# answer for Optional Exercise 3\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Optional Exercise 4** Display the boxplot of the absolute errors for each estimator. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# answer for Optional Exercise 4\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Optional Exercise 5**\n", + "Based on the above information, which estimator would you recommend?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# answer fot Optional Exercise 5" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.9.21" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/M1/Statistical Learning/data/Hitters.csv b/M1/Statistical Learning/data/Hitters.csv new file mode 100644 index 0000000..79bc8a5 --- /dev/null +++ b/M1/Statistical Learning/data/Hitters.csv @@ -0,0 +1,323 @@ +"Name","AtBat","Hits","HmRun","Runs","RBI","Walks","Years","CAtBat","CHits","CHmRun","CRuns","CRBI","CWalks","League","Division","PutOuts","Assists","Errors","Salary","NewLeague" +"-Andy Allanson",293,66,1,30,29,14,1,293,66,1,30,29,14,"A","E",446,33,20,NA,"A" +"-Alan Ashby",315,81,7,24,38,39,14,3449,835,69,321,414,375,"N","W",632,43,10,475,"N" +"-Alvin Davis",479,130,18,66,72,76,3,1624,457,63,224,266,263,"A","W",880,82,14,480,"A" +"-Andre Dawson",496,141,20,65,78,37,11,5628,1575,225,828,838,354,"N","E",200,11,3,500,"N" +"-Andres Galarraga",321,87,10,39,42,30,2,396,101,12,48,46,33,"N","E",805,40,4,91.5,"N" +"-Alfredo Griffin",594,169,4,74,51,35,11,4408,1133,19,501,336,194,"A","W",282,421,25,750,"A" +"-Al Newman",185,37,1,23,8,21,2,214,42,1,30,9,24,"N","E",76,127,7,70,"A" +"-Argenis Salazar",298,73,0,24,24,7,3,509,108,0,41,37,12,"A","W",121,283,9,100,"A" +"-Andres Thomas",323,81,6,26,32,8,2,341,86,6,32,34,8,"N","W",143,290,19,75,"N" +"-Andre Thornton",401,92,17,49,66,65,13,5206,1332,253,784,890,866,"A","E",0,0,0,1100,"A" +"-Alan Trammell",574,159,21,107,75,59,10,4631,1300,90,702,504,488,"A","E",238,445,22,517.143,"A" +"-Alex Trevino",202,53,4,31,26,27,9,1876,467,15,192,186,161,"N","W",304,45,11,512.5,"N" +"-Andy VanSlyke",418,113,13,48,61,47,4,1512,392,41,205,204,203,"N","E",211,11,7,550,"N" +"-Alan Wiggins",239,60,0,30,11,22,6,1941,510,4,309,103,207,"A","E",121,151,6,700,"A" +"-Bill Almon",196,43,7,29,27,30,13,3231,825,36,376,290,238,"N","E",80,45,8,240,"N" +"-Billy Beane",183,39,3,20,15,11,3,201,42,3,20,16,11,"A","W",118,0,0,NA,"A" +"-Buddy Bell",568,158,20,89,75,73,15,8068,2273,177,1045,993,732,"N","W",105,290,10,775,"N" +"-Buddy Biancalana",190,46,2,24,8,15,5,479,102,5,65,23,39,"A","W",102,177,16,175,"A" +"-Bruce Bochte",407,104,6,57,43,65,12,5233,1478,100,643,658,653,"A","W",912,88,9,NA,"A" +"-Bruce Bochy",127,32,8,16,22,14,8,727,180,24,67,82,56,"N","W",202,22,2,135,"N" +"-Barry Bonds",413,92,16,72,48,65,1,413,92,16,72,48,65,"N","E",280,9,5,100,"N" +"-Bobby Bonilla",426,109,3,55,43,62,1,426,109,3,55,43,62,"A","W",361,22,2,115,"N" +"-Bob Boone",22,10,1,4,2,1,6,84,26,2,9,9,3,"A","W",812,84,11,NA,"A" +"-Bob Brenly",472,116,16,60,62,74,6,1924,489,67,242,251,240,"N","W",518,55,3,600,"N" +"-Bill Buckner",629,168,18,73,102,40,18,8424,2464,164,1008,1072,402,"A","E",1067,157,14,776.667,"A" +"-Brett Butler",587,163,4,92,51,70,6,2695,747,17,442,198,317,"A","E",434,9,3,765,"A" +"-Bob Dernier",324,73,4,32,18,22,7,1931,491,13,291,108,180,"N","E",222,3,3,708.333,"N" +"-Bo Diaz",474,129,10,50,56,40,10,2331,604,61,246,327,166,"N","W",732,83,13,750,"N" +"-Bill Doran",550,152,6,92,37,81,5,2308,633,32,349,182,308,"N","W",262,329,16,625,"N" +"-Brian Downing",513,137,20,90,95,90,14,5201,1382,166,763,734,784,"A","W",267,5,3,900,"A" +"-Bobby Grich",313,84,9,42,30,39,17,6890,1833,224,1033,864,1087,"A","W",127,221,7,NA,"A" +"-Billy Hatcher",419,108,6,55,36,22,3,591,149,8,80,46,31,"N","W",226,7,4,110,"N" +"-Bob Horner",517,141,27,70,87,52,9,3571,994,215,545,652,337,"N","W",1378,102,8,NA,"N" +"-Brook Jacoby",583,168,17,83,80,56,5,1646,452,44,219,208,136,"A","E",109,292,25,612.5,"A" +"-Bob Kearney",204,49,6,23,25,12,7,1309,308,27,126,132,66,"A","W",419,46,5,300,"A" +"-Bill Madlock",379,106,10,38,60,30,14,6207,1906,146,859,803,571,"N","W",72,170,24,850,"N" +"-Bobby Meacham",161,36,0,19,10,17,4,1053,244,3,156,86,107,"A","E",70,149,12,NA,"A" +"-Bob Melvin",268,60,5,24,25,15,2,350,78,5,34,29,18,"N","W",442,59,6,90,"N" +"-Ben Oglivie",346,98,5,31,53,30,16,5913,1615,235,784,901,560,"A","E",0,0,0,NA,"A" +"-Bip Roberts",241,61,1,34,12,14,1,241,61,1,34,12,14,"N","W",166,172,10,NA,"N" +"-BillyJo Robidoux",181,41,1,15,21,33,2,232,50,4,20,29,45,"A","E",326,29,5,67.5,"A" +"-Bill Russell",216,54,0,21,18,15,18,7318,1926,46,796,627,483,"N","W",103,84,5,NA,"N" +"-Billy Sample",200,57,6,23,14,14,9,2516,684,46,371,230,195,"N","W",69,1,1,NA,"N" +"-Bill Schroeder",217,46,7,32,19,9,4,694,160,32,86,76,32,"A","E",307,25,1,180,"A" +"-Butch Wynegar",194,40,7,19,29,30,11,4183,1069,64,486,493,608,"A","E",325,22,2,NA,"A" +"-Chris Bando",254,68,2,28,26,22,6,999,236,21,108,117,118,"A","E",359,30,4,305,"A" +"-Chris Brown",416,132,7,57,49,33,3,932,273,24,113,121,80,"N","W",73,177,18,215,"N" +"-Carmen Castillo",205,57,8,34,32,9,5,756,192,32,117,107,51,"A","E",58,4,4,247.5,"A" +"-Cecil Cooper",542,140,12,46,75,41,16,7099,2130,235,987,1089,431,"A","E",697,61,9,NA,"A" +"-Chili Davis",526,146,13,71,70,84,6,2648,715,77,352,342,289,"N","W",303,9,9,815,"N" +"-Carlton Fisk",457,101,14,42,63,22,17,6521,1767,281,1003,977,619,"A","W",389,39,4,875,"A" +"-Curt Ford",214,53,2,30,29,23,2,226,59,2,32,32,27,"N","E",109,7,3,70,"N" +"-Cliff Johnson",19,7,0,1,2,1,4,41,13,1,3,4,4,"A","E",0,0,0,NA,"A" +"-Carney Lansford",591,168,19,80,72,39,9,4478,1307,113,634,563,319,"A","W",67,147,4,1200,"A" +"-Chet Lemon",403,101,12,45,53,39,12,5150,1429,166,747,666,526,"A","E",316,6,5,675,"A" +"-Candy Maldonado",405,102,18,49,85,20,6,950,231,29,99,138,64,"N","W",161,10,3,415,"N" +"-Carmelo Martinez",244,58,9,28,25,35,4,1335,333,49,164,179,194,"N","W",142,14,2,340,"N" +"-Charlie Moore",235,61,3,24,39,21,14,3926,1029,35,441,401,333,"A","E",425,43,4,NA,"A" +"-Craig Reynolds",313,78,6,32,41,12,12,3742,968,35,409,321,170,"N","W",106,206,7,416.667,"N" +"-Cal Ripken",627,177,25,98,81,70,6,3210,927,133,529,472,313,"A","E",240,482,13,1350,"A" +"-Cory Snyder",416,113,24,58,69,16,1,416,113,24,58,69,16,"A","E",203,70,10,90,"A" +"-Chris Speier",155,44,6,21,23,15,16,6631,1634,98,698,661,777,"N","E",53,88,3,275,"N" +"-Curt Wilkerson",236,56,0,27,15,11,4,1115,270,1,116,64,57,"A","W",125,199,13,230,"A" +"-Dave Anderson",216,53,1,31,15,22,4,926,210,9,118,69,114,"N","W",73,152,11,225,"N" +"-Doug Baker",24,3,0,1,0,2,3,159,28,0,20,12,9,"A","W",80,4,0,NA,"A" +"-Don Baylor",585,139,31,93,94,62,17,7546,1982,315,1141,1179,727,"A","E",0,0,0,950,"A" +"-Dann Bilardello",191,37,4,12,17,14,4,773,163,16,61,74,52,"N","E",391,38,8,NA,"N" +"-Daryl Boston",199,53,5,29,22,21,3,514,120,8,57,40,39,"A","W",152,3,5,75,"A" +"-Darnell Coles",521,142,20,67,86,45,4,815,205,22,99,103,78,"A","E",107,242,23,105,"A" +"-Dave Collins",419,113,1,44,27,44,12,4484,1231,32,612,344,422,"A","E",211,2,1,NA,"A" +"-Dave Concepcion",311,81,3,42,30,26,17,8247,2198,100,950,909,690,"N","W",153,223,10,320,"N" +"-Darren Daulton",138,31,8,18,21,38,3,244,53,12,33,32,55,"N","E",244,21,4,NA,"N" +"-Doug DeCinces",512,131,26,69,96,52,14,5347,1397,221,712,815,548,"A","W",119,216,12,850,"A" +"-Darrell Evans",507,122,29,78,85,91,18,7761,1947,347,1175,1152,1380,"A","E",808,108,2,535,"A" +"-Dwight Evans",529,137,26,86,97,97,15,6661,1785,291,1082,949,989,"A","E",280,10,5,933.333,"A" +"-Damaso Garcia",424,119,6,57,46,13,9,3651,1046,32,461,301,112,"A","E",224,286,8,850,"N" +"-Dan Gladden",351,97,4,55,29,39,4,1258,353,16,196,110,117,"N","W",226,7,3,210,"A" +"-Danny Heep",195,55,5,24,33,30,8,1313,338,25,144,149,153,"N","E",83,2,1,NA,"N" +"-Dave Henderson",388,103,15,59,47,39,6,2174,555,80,285,274,186,"A","W",182,9,4,325,"A" +"-Donnie Hill",339,96,4,37,29,23,4,1064,290,11,123,108,55,"A","W",104,213,9,275,"A" +"-Dave Kingman",561,118,35,70,94,33,16,6677,1575,442,901,1210,608,"A","W",463,32,8,NA,"A" +"-Davey Lopes",255,70,7,49,35,43,15,6311,1661,154,1019,608,820,"N","E",51,54,8,450,"N" +"-Don Mattingly",677,238,31,117,113,53,5,2223,737,93,349,401,171,"A","E",1377,100,6,1975,"A" +"-Darryl Motley",227,46,7,23,20,12,5,1325,324,44,156,158,67,"A","W",92,2,2,NA,"A" +"-Dale Murphy",614,163,29,89,83,75,11,5017,1388,266,813,822,617,"N","W",303,6,6,1900,"N" +"-Dwayne Murphy",329,83,9,50,39,56,9,3828,948,145,575,528,635,"A","W",276,6,2,600,"A" +"-Dave Parker",637,174,31,89,116,56,14,6727,2024,247,978,1093,495,"N","W",278,9,9,1041.667,"N" +"-Dan Pasqua",280,82,16,44,45,47,2,428,113,25,61,70,63,"A","E",148,4,2,110,"A" +"-Darrell Porter",155,41,12,21,29,22,16,5409,1338,181,746,805,875,"A","W",165,9,1,260,"A" +"-Dick Schofield",458,114,13,67,57,48,4,1350,298,28,160,123,122,"A","W",246,389,18,475,"A" +"-Don Slaught",314,83,13,39,46,16,5,1457,405,28,156,159,76,"A","W",533,40,4,431.5,"A" +"-Darryl Strawberry",475,123,27,76,93,72,4,1810,471,108,292,343,267,"N","E",226,10,6,1220,"N" +"-Dale Sveum",317,78,7,35,35,32,1,317,78,7,35,35,32,"A","E",45,122,26,70,"A" +"-Danny Tartabull",511,138,25,76,96,61,3,592,164,28,87,110,71,"A","W",157,7,8,145,"A" +"-Dickie Thon",278,69,3,24,21,29,8,2079,565,32,258,192,162,"N","W",142,210,10,NA,"N" +"-Denny Walling",382,119,13,54,58,36,12,2133,594,41,287,294,227,"N","W",59,156,9,595,"N" +"-Dave Winfield",565,148,24,90,104,77,14,7287,2083,305,1135,1234,791,"A","E",292,9,5,1861.46,"A" +"-Enos Cabell",277,71,2,27,29,14,15,5952,1647,60,753,596,259,"N","W",360,32,5,NA,"N" +"-Eric Davis",415,115,27,97,71,68,3,711,184,45,156,119,99,"N","W",274,2,7,300,"N" +"-Eddie Milner",424,110,15,70,47,36,7,2130,544,38,335,174,258,"N","W",292,6,3,490,"N" +"-Eddie Murray",495,151,17,61,84,78,10,5624,1679,275,884,1015,709,"A","E",1045,88,13,2460,"A" +"-Ernest Riles",524,132,9,69,47,54,2,972,260,14,123,92,90,"A","E",212,327,20,NA,"A" +"-Ed Romero",233,49,2,41,23,18,8,1350,336,7,166,122,106,"A","E",102,132,10,375,"A" +"-Ernie Whitt",395,106,16,48,56,35,10,2303,571,86,266,323,248,"A","E",709,41,7,NA,"A" +"-Fred Lynn",397,114,23,67,67,53,13,5589,1632,241,906,926,716,"A","E",244,2,4,NA,"A" +"-Floyd Rayford",210,37,8,15,19,15,6,994,244,36,107,114,53,"A","E",40,115,15,NA,"A" +"-Franklin Stubbs",420,95,23,55,58,37,3,646,139,31,77,77,61,"N","W",206,10,7,NA,"N" +"-Frank White",566,154,22,76,84,43,14,6100,1583,131,743,693,300,"A","W",316,439,10,750,"A" +"-George Bell",641,198,31,101,108,41,5,2129,610,92,297,319,117,"A","E",269,17,10,1175,"A" +"-Glenn Braggs",215,51,4,19,18,11,1,215,51,4,19,18,11,"A","E",116,5,12,70,"A" +"-George Brett",441,128,16,70,73,80,14,6675,2095,209,1072,1050,695,"A","W",97,218,16,1500,"A" +"-Greg Brock",325,76,16,33,52,37,5,1506,351,71,195,219,214,"N","W",726,87,3,385,"A" +"-Gary Carter",490,125,24,81,105,62,13,6063,1646,271,847,999,680,"N","E",869,62,8,1925.571,"N" +"-Glenn Davis",574,152,31,91,101,64,3,985,260,53,148,173,95,"N","W",1253,111,11,215,"N" +"-George Foster",284,64,14,30,42,24,18,7023,1925,348,986,1239,666,"N","E",96,4,4,NA,"N" +"-Gary Gaetti",596,171,34,91,108,52,6,2862,728,107,361,401,224,"A","W",118,334,21,900,"A" +"-Greg Gagne",472,118,12,63,54,30,4,793,187,14,102,80,50,"A","W",228,377,26,155,"A" +"-George Hendrick",283,77,14,45,47,26,16,6840,1910,259,915,1067,546,"A","W",144,6,5,700,"A" +"-Glenn Hubbard",408,94,4,42,36,66,9,3573,866,59,429,365,410,"N","W",282,487,19,535,"N" +"-Garth Iorg",327,85,3,30,44,20,8,2140,568,16,216,208,93,"A","E",91,185,12,362.5,"A" +"-Gary Matthews",370,96,21,49,46,60,15,6986,1972,231,1070,955,921,"N","E",137,5,9,733.333,"N" +"-Graig Nettles",354,77,16,36,55,41,20,8716,2172,384,1172,1267,1057,"N","W",83,174,16,200,"N" +"-Gary Pettis",539,139,5,93,58,69,5,1469,369,12,247,126,198,"A","W",462,9,7,400,"A" +"-Gary Redus",340,84,11,62,33,47,5,1516,376,42,284,141,219,"N","E",185,8,4,400,"A" +"-Garry Templeton",510,126,2,42,44,35,11,5562,1578,44,703,519,256,"N","W",207,358,20,737.5,"N" +"-Gorman Thomas",315,59,16,45,36,58,13,4677,1051,268,681,782,697,"A","W",0,0,0,NA,"A" +"-Greg Walker",282,78,13,37,51,29,5,1649,453,73,211,280,138,"A","W",670,57,5,500,"A" +"-Gary Ward",380,120,5,54,51,31,8,3118,900,92,444,419,240,"A","W",237,8,1,600,"A" +"-Glenn Wilson",584,158,15,70,84,42,5,2358,636,58,265,316,134,"N","E",331,20,4,662.5,"N" +"-Harold Baines",570,169,21,72,88,38,7,3754,1077,140,492,589,263,"A","W",295,15,5,950,"A" +"-Hubie Brooks",306,104,14,50,58,25,7,2954,822,55,313,377,187,"N","E",116,222,15,750,"N" +"-Howard Johnson",220,54,10,30,39,31,5,1185,299,40,145,154,128,"N","E",50,136,20,297.5,"N" +"-Hal McRae",278,70,7,22,37,18,18,7186,2081,190,935,1088,643,"A","W",0,0,0,325,"A" +"-Harold Reynolds",445,99,1,46,24,29,4,618,129,1,72,31,48,"A","W",278,415,16,87.5,"A" +"-Harry Spilman",143,39,5,18,30,15,9,639,151,16,80,97,61,"N","W",138,15,1,175,"N" +"-Herm Winningham",185,40,4,23,11,18,3,524,125,7,58,37,47,"N","E",97,2,2,90,"N" +"-Jesse Barfield",589,170,40,107,108,69,6,2325,634,128,371,376,238,"A","E",368,20,3,1237.5,"A" +"-Juan Beniquez",343,103,6,48,36,40,15,4338,1193,70,581,421,325,"A","E",211,56,13,430,"A" +"-Juan Bonilla",284,69,1,33,18,25,5,1407,361,6,139,98,111,"A","E",122,140,5,NA,"N" +"-John Cangelosi",438,103,2,65,32,71,2,440,103,2,67,32,71,"A","W",276,7,9,100,"N" +"-Jose Canseco",600,144,33,85,117,65,2,696,173,38,101,130,69,"A","W",319,4,14,165,"A" +"-Joe Carter",663,200,29,108,121,32,4,1447,404,57,210,222,68,"A","E",241,8,6,250,"A" +"-Jack Clark",232,55,9,34,23,45,12,4405,1213,194,702,705,625,"N","E",623,35,3,1300,"N" +"-Jose Cruz",479,133,10,48,72,55,17,7472,2147,153,980,1032,854,"N","W",237,5,4,773.333,"N" +"-Julio Cruz",209,45,0,38,19,42,10,3859,916,23,557,279,478,"A","W",132,205,5,NA,"A" +"-Jody Davis",528,132,21,61,74,41,6,2641,671,97,273,383,226,"N","E",885,105,8,1008.333,"N" +"-Jim Dwyer",160,39,8,18,31,22,14,2128,543,56,304,268,298,"A","E",33,3,0,275,"A" +"-Julio Franco",599,183,10,80,74,32,5,2482,715,27,330,326,158,"A","E",231,374,18,775,"A" +"-Jim Gantner",497,136,7,58,38,26,11,3871,1066,40,450,367,241,"A","E",304,347,10,850,"A" +"-Johnny Grubb",210,70,13,32,51,28,15,4040,1130,97,544,462,551,"A","E",0,0,0,365,"A" +"-Jerry Hairston",225,61,5,32,26,26,11,1568,408,25,202,185,257,"A","W",132,9,0,NA,"A" +"-Jack Howell",151,41,4,26,21,19,2,288,68,9,45,39,35,"A","W",28,56,2,95,"A" +"-John Kruk",278,86,4,33,38,45,1,278,86,4,33,38,45,"N","W",102,4,2,110,"N" +"-Jeffrey Leonard",341,95,6,48,42,20,10,2964,808,81,379,428,221,"N","W",158,4,5,100,"N" +"-Jim Morrison",537,147,23,58,88,47,10,2744,730,97,302,351,174,"N","E",92,257,20,277.5,"N" +"-John Moses",399,102,3,56,34,34,5,670,167,4,89,48,54,"A","W",211,9,3,80,"A" +"-Jerry Mumphrey",309,94,5,37,32,26,13,4618,1330,57,616,522,436,"N","E",161,3,3,600,"N" +"-Joe Orsulak",401,100,2,60,19,28,4,876,238,2,126,44,55,"N","E",193,11,4,NA,"N" +"-Jorge Orta",336,93,9,35,46,23,15,5779,1610,128,730,741,497,"A","W",0,0,0,NA,"A" +"-Jim Presley",616,163,27,83,107,32,3,1437,377,65,181,227,82,"A","W",110,308,15,200,"A" +"-Jamie Quirk",219,47,8,24,26,17,12,1188,286,23,100,125,63,"A","W",260,58,4,NA,"A" +"-Johnny Ray",579,174,7,67,78,58,6,3053,880,32,366,337,218,"N","E",280,479,5,657,"N" +"-Jeff Reed",165,39,2,13,9,16,3,196,44,2,18,10,18,"A","W",332,19,2,75,"N" +"-Jim Rice",618,200,20,98,110,62,13,7127,2163,351,1104,1289,564,"A","E",330,16,8,2412.5,"A" +"-Jerry Royster",257,66,5,31,26,32,14,3910,979,33,518,324,382,"N","W",87,166,14,250,"A" +"-John Russell",315,76,13,35,60,25,3,630,151,24,68,94,55,"N","E",498,39,13,155,"N" +"-Juan Samuel",591,157,16,90,78,26,4,2020,541,52,310,226,91,"N","E",290,440,25,640,"N" +"-John Shelby",404,92,11,54,49,18,6,1354,325,30,188,135,63,"A","E",222,5,5,300,"A" +"-Joel Skinner",315,73,5,23,37,16,4,450,108,6,38,46,28,"A","W",227,15,3,110,"A" +"-Jeff Stone",249,69,6,32,19,20,4,702,209,10,97,48,44,"N","E",103,8,2,NA,"N" +"-Jim Sundberg",429,91,12,41,42,57,13,5590,1397,83,578,579,644,"A","W",686,46,4,825,"N" +"-Jim Traber",212,54,13,28,44,18,2,233,59,13,31,46,20,"A","E",243,23,5,NA,"A" +"-Jose Uribe",453,101,3,46,43,61,3,948,218,6,96,72,91,"N","W",249,444,16,195,"N" +"-Jerry Willard",161,43,4,17,26,22,3,707,179,21,77,99,76,"A","W",300,12,2,NA,"A" +"-Joel Youngblood",184,47,5,20,28,18,11,3327,890,74,419,382,304,"N","W",49,2,0,450,"N" +"-Kevin Bass",591,184,20,83,79,38,5,1689,462,40,219,195,82,"N","W",303,12,5,630,"N" +"-Kal Daniels",181,58,6,34,23,22,1,181,58,6,34,23,22,"N","W",88,0,3,86.5,"N" +"-Kirk Gibson",441,118,28,84,86,68,8,2723,750,126,433,420,309,"A","E",190,2,2,1300,"A" +"-Ken Griffey",490,150,21,69,58,35,14,6126,1839,121,983,707,600,"A","E",96,5,3,1000,"N" +"-Keith Hernandez",551,171,13,94,83,94,13,6090,1840,128,969,900,917,"N","E",1199,149,5,1800,"N" +"-Kent Hrbek",550,147,29,85,91,71,6,2816,815,117,405,474,319,"A","W",1218,104,10,1310,"A" +"-Ken Landreaux",283,74,4,34,29,22,10,3919,1062,85,505,456,283,"N","W",145,5,7,737.5,"N" +"-Kevin McReynolds",560,161,26,89,96,66,4,1789,470,65,233,260,155,"N","W",332,9,8,625,"N" +"-Kevin Mitchell",328,91,12,51,43,33,2,342,94,12,51,44,33,"N","E",145,59,8,125,"N" +"-Keith Moreland",586,159,12,72,79,53,9,3082,880,83,363,477,295,"N","E",181,13,4,1043.333,"N" +"-Ken Oberkfell",503,136,5,62,48,83,10,3423,970,20,408,303,414,"N","W",65,258,8,725,"N" +"-Ken Phelps",344,85,24,69,64,88,7,911,214,64,150,156,187,"A","W",0,0,0,300,"A" +"-Kirby Puckett",680,223,31,119,96,34,3,1928,587,35,262,201,91,"A","W",429,8,6,365,"A" +"-Kurt Stillwell",279,64,0,31,26,30,1,279,64,0,31,26,30,"N","W",107,205,16,75,"N" +"-Leon Durham",484,127,20,66,65,67,7,3006,844,116,436,458,377,"N","E",1231,80,7,1183.333,"N" +"-Len Dykstra",431,127,8,77,45,58,2,667,187,9,117,64,88,"N","E",283,8,3,202.5,"N" +"-Larry Herndon",283,70,8,33,37,27,12,4479,1222,94,557,483,307,"A","E",156,2,2,225,"A" +"-Lee Lacy",491,141,11,77,47,37,15,4291,1240,84,615,430,340,"A","E",239,8,2,525,"A" +"-Len Matuszek",199,52,9,26,28,21,6,805,191,30,113,119,87,"N","W",235,22,5,265,"N" +"-Lloyd Moseby",589,149,21,89,86,64,7,3558,928,102,513,471,351,"A","E",371,6,6,787.5,"A" +"-Lance Parrish",327,84,22,53,62,38,10,4273,1123,212,577,700,334,"A","E",483,48,6,800,"N" +"-Larry Parrish",464,128,28,67,94,52,13,5829,1552,210,740,840,452,"A","W",0,0,0,587.5,"A" +"-Luis Rivera",166,34,0,20,13,17,1,166,34,0,20,13,17,"N","E",64,119,9,NA,"N" +"-Larry Sheets",338,92,18,42,60,21,3,682,185,36,88,112,50,"A","E",0,0,0,145,"A" +"-Lonnie Smith",508,146,8,80,44,46,9,3148,915,41,571,289,326,"A","W",245,5,9,NA,"A" +"-Lou Whitaker",584,157,20,95,73,63,10,4704,1320,93,724,522,576,"A","E",276,421,11,420,"A" +"-Mike Aldrete",216,54,2,27,25,33,1,216,54,2,27,25,33,"N","W",317,36,1,75,"N" +"-Marty Barrett",625,179,4,94,60,65,5,1696,476,12,216,163,166,"A","E",303,450,14,575,"A" +"-Mike Brown",243,53,4,18,26,27,4,853,228,23,101,110,76,"N","E",107,3,3,NA,"N" +"-Mike Davis",489,131,19,77,55,34,7,2051,549,62,300,263,153,"A","W",310,9,9,780,"A" +"-Mike Diaz",209,56,12,22,36,19,2,216,58,12,24,37,19,"N","E",201,6,3,90,"N" +"-Mariano Duncan",407,93,8,47,30,30,2,969,230,14,121,69,68,"N","W",172,317,25,150,"N" +"-Mike Easler",490,148,14,64,78,49,13,3400,1000,113,445,491,301,"A","E",0,0,0,700,"N" +"-Mike Fitzgerald",209,59,6,20,37,27,4,884,209,14,66,106,92,"N","E",415,35,3,NA,"N" +"-Mel Hall",442,131,18,68,77,33,6,1416,398,47,210,203,136,"A","E",233,7,7,550,"A" +"-Mickey Hatcher",317,88,3,40,32,19,8,2543,715,28,269,270,118,"A","W",220,16,4,NA,"A" +"-Mike Heath",288,65,8,30,36,27,9,2815,698,55,315,325,189,"N","E",259,30,10,650,"A" +"-Mike Kingery",209,54,3,25,14,12,1,209,54,3,25,14,12,"A","W",102,6,3,68,"A" +"-Mike LaValliere",303,71,3,18,30,36,3,344,76,3,20,36,45,"N","E",468,47,6,100,"N" +"-Mike Marshall",330,77,19,47,53,27,6,1928,516,90,247,288,161,"N","W",149,8,6,670,"N" +"-Mike Pagliarulo",504,120,28,71,71,54,3,1085,259,54,150,167,114,"A","E",103,283,19,175,"A" +"-Mark Salas",258,60,8,28,33,18,3,638,170,17,80,75,36,"A","W",358,32,8,137,"A" +"-Mike Schmidt",20,1,0,0,0,0,2,41,9,2,6,7,4,"N","E",78,220,6,2127.333,"N" +"-Mike Scioscia",374,94,5,36,26,62,7,1968,519,26,181,199,288,"N","W",756,64,15,875,"N" +"-Mickey Tettleton",211,43,10,26,35,39,3,498,116,14,59,55,78,"A","W",463,32,8,120,"A" +"-Milt Thompson",299,75,6,38,23,26,3,580,160,8,71,33,44,"N","E",212,1,2,140,"N" +"-Mitch Webster",576,167,8,89,49,57,4,822,232,19,132,83,79,"N","E",325,12,8,210,"N" +"-Mookie Wilson",381,110,9,61,45,32,7,3015,834,40,451,249,168,"N","E",228,7,5,800,"N" +"-Marvell Wynne",288,76,7,34,37,15,4,1644,408,16,198,120,113,"N","W",203,3,3,240,"N" +"-Mike Young",369,93,9,43,42,49,5,1258,323,54,181,177,157,"A","E",149,1,6,350,"A" +"-Nick Esasky",330,76,12,35,41,47,4,1367,326,55,167,198,167,"N","W",512,30,5,NA,"N" +"-Ozzie Guillen",547,137,2,58,47,12,2,1038,271,3,129,80,24,"A","W",261,459,22,175,"A" +"-Oddibe McDowell",572,152,18,105,49,65,2,978,249,36,168,91,101,"A","W",325,13,3,200,"A" +"-Omar Moreno",359,84,4,46,27,21,12,4992,1257,37,699,386,387,"N","W",151,8,5,NA,"N" +"-Ozzie Smith",514,144,0,67,54,79,9,4739,1169,13,583,374,528,"N","E",229,453,15,1940,"N" +"-Ozzie Virgil",359,80,15,45,48,63,7,1493,359,61,176,202,175,"N","W",682,93,13,700,"N" +"-Phil Bradley",526,163,12,88,50,77,4,1556,470,38,245,167,174,"A","W",250,11,1,750,"A" +"-Phil Garner",313,83,9,43,41,30,14,5885,1543,104,751,714,535,"N","W",58,141,23,450,"N" +"-Pete Incaviglia",540,135,30,82,88,55,1,540,135,30,82,88,55,"A","W",157,6,14,172,"A" +"-Paul Molitor",437,123,9,62,55,40,9,4139,1203,79,676,390,364,"A","E",82,170,15,1260,"A" +"-Pete O'Brien",551,160,23,86,90,87,5,2235,602,75,278,328,273,"A","W",1224,115,11,NA,"A" +"-Pete Rose",237,52,0,15,25,30,24,14053,4256,160,2165,1314,1566,"N","W",523,43,6,750,"N" +"-Pat Sheridan",236,56,6,41,19,21,5,1257,329,24,166,125,105,"A","E",172,1,4,190,"A" +"-Pat Tabler",473,154,6,61,48,29,6,1966,566,29,250,252,178,"A","E",846,84,9,580,"A" +"-Rafael Belliard",309,72,0,33,31,26,5,354,82,0,41,32,26,"N","E",117,269,12,130,"N" +"-Rick Burleson",271,77,5,35,29,33,12,4933,1358,48,630,435,403,"A","W",62,90,3,450,"A" +"-Randy Bush",357,96,7,50,45,39,5,1394,344,43,178,192,136,"A","W",167,2,4,300,"A" +"-Rick Cerone",216,56,4,22,18,15,12,2796,665,43,266,304,198,"A","E",391,44,4,250,"A" +"-Ron Cey",256,70,13,42,36,44,16,7058,1845,312,965,1128,990,"N","E",41,118,8,1050,"A" +"-Rob Deer",466,108,33,75,86,72,3,652,142,44,102,109,102,"A","E",286,8,8,215,"A" +"-Rick Dempsey",327,68,13,42,29,45,18,3949,939,78,438,380,466,"A","E",659,53,7,400,"A" +"-Rich Gedman",462,119,16,49,65,37,7,2131,583,69,244,288,150,"A","E",866,65,6,NA,"A" +"-Ron Hassey",341,110,9,45,49,46,9,2331,658,50,249,322,274,"A","E",251,9,4,560,"A" +"-Rickey Henderson",608,160,28,130,74,89,8,4071,1182,103,862,417,708,"A","E",426,4,6,1670,"A" +"-Reggie Jackson",419,101,18,65,58,92,20,9528,2510,548,1509,1659,1342,"A","W",0,0,0,487.5,"A" +"-Ricky Jones",33,6,0,2,4,7,1,33,6,0,2,4,7,"A","W",205,5,4,NA,"A" +"-Ron Kittle",376,82,21,42,60,35,5,1770,408,115,238,299,157,"A","W",0,0,0,425,"A" +"-Ray Knight",486,145,11,51,76,40,11,3967,1102,67,410,497,284,"N","E",88,204,16,500,"A" +"-Randy Kutcher",186,44,7,28,16,11,1,186,44,7,28,16,11,"N","W",99,3,1,NA,"N" +"-Rudy Law",307,80,1,42,36,29,7,2421,656,18,379,198,184,"A","W",145,2,2,NA,"A" +"-Rick Leach",246,76,5,35,39,13,6,912,234,12,102,96,80,"A","E",44,0,1,250,"A" +"-Rick Manning",205,52,8,31,27,17,12,5134,1323,56,643,445,459,"A","E",155,3,2,400,"A" +"-Rance Mulliniks",348,90,11,50,45,43,10,2288,614,43,295,273,269,"A","E",60,176,6,450,"A" +"-Ron Oester",523,135,8,52,44,52,9,3368,895,39,377,284,296,"N","W",367,475,19,750,"N" +"-Rey Quinones",312,68,2,32,22,24,1,312,68,2,32,22,24,"A","E",86,150,15,70,"A" +"-Rafael Ramirez",496,119,8,57,33,21,7,3358,882,36,365,280,165,"N","W",155,371,29,875,"N" +"-Ronn Reynolds",126,27,3,8,10,5,4,239,49,3,16,13,14,"N","E",190,2,9,190,"N" +"-Ron Roenicke",275,68,5,42,42,61,6,961,238,16,128,104,172,"N","E",181,3,2,191,"N" +"-Ryne Sandberg",627,178,14,68,76,46,6,3146,902,74,494,345,242,"N","E",309,492,5,740,"N" +"-Rafael Santana",394,86,1,38,28,36,4,1089,267,3,94,71,76,"N","E",203,369,16,250,"N" +"-Rick Schu",208,57,8,32,25,18,3,653,170,17,98,54,62,"N","E",42,94,13,140,"N" +"-Ruben Sierra",382,101,16,50,55,22,1,382,101,16,50,55,22,"A","W",200,7,6,97.5,"A" +"-Roy Smalley",459,113,20,59,57,68,12,5348,1369,155,713,660,735,"A","W",0,0,0,740,"A" +"-Robby Thompson",549,149,7,73,47,42,1,549,149,7,73,47,42,"N","W",255,450,17,140,"N" +"-Rob Wilfong",288,63,3,25,33,16,10,2682,667,38,315,259,204,"A","W",135,257,7,341.667,"A" +"-Reggie Williams",303,84,4,35,32,23,2,312,87,4,39,32,23,"N","W",179,5,3,NA,"N" +"-Robin Yount",522,163,9,82,46,62,13,7037,2019,153,1043,827,535,"A","E",352,9,1,1000,"A" +"-Steve Balboni",512,117,29,54,88,43,6,1750,412,100,204,276,155,"A","W",1236,98,18,100,"A" +"-Scott Bradley",220,66,5,20,28,13,3,290,80,5,27,31,15,"A","W",281,21,3,90,"A" +"-Sid Bream",522,140,16,73,77,60,4,730,185,22,93,106,86,"N","E",1320,166,17,200,"N" +"-Steve Buechele",461,112,18,54,54,35,2,680,160,24,76,75,49,"A","W",111,226,11,135,"A" +"-Shawon Dunston",581,145,17,66,68,21,2,831,210,21,106,86,40,"N","E",320,465,32,155,"N" +"-Scott Fletcher",530,159,3,82,50,47,6,1619,426,11,218,149,163,"A","W",196,354,15,475,"A" +"-Steve Garvey",557,142,21,58,81,23,18,8759,2583,271,1138,1299,478,"N","W",1160,53,7,1450,"N" +"-Steve Jeltz",439,96,0,44,36,65,4,711,148,1,68,56,99,"N","E",229,406,22,150,"N" +"-Steve Lombardozzi",453,103,8,53,33,52,2,507,123,8,63,39,58,"A","W",289,407,6,105,"A" +"-Spike Owen",528,122,1,67,45,51,4,1716,403,12,211,146,155,"A","W",209,372,17,350,"A" +"-Steve Sax",633,210,6,91,56,59,6,3070,872,19,420,230,274,"N","W",367,432,16,90,"N" +"-Tony Armas",16,2,0,1,0,0,2,28,4,0,1,0,0,"A","E",247,4,8,NA,"A" +"-Tony Bernazard",562,169,17,88,73,53,8,3181,841,61,450,342,373,"A","E",351,442,17,530,"A" +"-Tom Brookens",281,76,3,42,25,20,8,2658,657,48,324,300,179,"A","E",106,144,7,341.667,"A" +"-Tom Brunansky",593,152,23,69,75,53,6,2765,686,133,369,384,321,"A","W",315,10,6,940,"A" +"-Tony Fernandez",687,213,10,91,65,27,4,1518,448,15,196,137,89,"A","E",294,445,13,350,"A" +"-Tim Flannery",368,103,3,48,28,54,8,1897,493,9,207,162,198,"N","W",209,246,3,326.667,"N" +"-Tom Foley",263,70,1,26,23,30,4,888,220,9,83,82,86,"N","E",81,147,4,250,"N" +"-Tony Gwynn",642,211,14,107,59,52,5,2364,770,27,352,230,193,"N","W",337,19,4,740,"N" +"-Terry Harper",265,68,8,26,30,29,7,1337,339,32,135,163,128,"N","W",92,5,3,425,"A" +"-Toby Harrah",289,63,7,36,41,44,17,7402,1954,195,1115,919,1153,"A","W",166,211,7,NA,"A" +"-Tommy Herr",559,141,2,48,61,73,8,3162,874,16,421,349,359,"N","E",352,414,9,925,"N" +"-Tim Hulett",520,120,17,53,44,21,4,927,227,22,106,80,52,"A","W",70,144,11,185,"A" +"-Terry Kennedy",19,4,1,2,3,1,1,19,4,1,2,3,1,"N","W",692,70,8,920,"A" +"-Tito Landrum",205,43,2,24,17,20,7,854,219,12,105,99,71,"N","E",131,6,1,286.667,"N" +"-Tim Laudner",193,47,10,21,29,24,6,1136,256,42,129,139,106,"A","W",299,13,5,245,"A" +"-Tom O'Malley",181,46,1,19,18,17,5,937,238,9,88,95,104,"A","E",37,98,9,NA,"A" +"-Tom Paciorek",213,61,4,17,22,3,17,4061,1145,83,488,491,244,"A","W",178,45,4,235,"A" +"-Tony Pena",510,147,10,56,52,53,7,2872,821,63,307,340,174,"N","E",810,99,18,1150,"N" +"-Terry Pendleton",578,138,1,56,59,34,3,1399,357,7,149,161,87,"N","E",133,371,20,160,"N" +"-Tony Perez",200,51,2,14,29,25,23,9778,2732,379,1272,1652,925,"N","W",398,29,7,NA,"N" +"-Tony Phillips",441,113,5,76,52,76,5,1546,397,17,226,149,191,"A","W",160,290,11,425,"A" +"-Terry Puhl",172,42,3,17,14,15,10,4086,1150,57,579,363,406,"N","W",65,0,0,900,"N" +"-Tim Raines",580,194,9,91,62,78,8,3372,1028,48,604,314,469,"N","E",270,13,6,NA,"N" +"-Ted Simmons",127,32,4,14,25,12,19,8396,2402,242,1048,1348,819,"N","W",167,18,6,500,"N" +"-Tim Teufel",279,69,4,35,31,32,4,1359,355,31,180,148,158,"N","E",133,173,9,277.5,"N" +"-Tim Wallach",480,112,18,50,71,44,7,3031,771,110,338,406,239,"N","E",94,270,16,750,"N" +"-Vince Coleman",600,139,0,94,29,60,2,1236,309,1,201,69,110,"N","E",300,12,9,160,"N" +"-Von Hayes",610,186,19,107,98,74,6,2728,753,69,399,366,286,"N","E",1182,96,13,1300,"N" +"-Vance Law",360,81,5,37,44,37,7,2268,566,41,279,257,246,"N","E",170,284,3,525,"N" +"-Wally Backman",387,124,1,67,27,36,7,1775,506,6,272,125,194,"N","E",186,290,17,550,"N" +"-Wade Boggs",580,207,8,107,71,105,5,2778,978,32,474,322,417,"A","E",121,267,19,1600,"A" +"-Will Clark",408,117,11,66,41,34,1,408,117,11,66,41,34,"N","W",942,72,11,120,"N" +"-Wally Joyner",593,172,22,82,100,57,1,593,172,22,82,100,57,"A","W",1222,139,15,165,"A" +"-Wayne Krenchicki",221,53,2,21,23,22,8,1063,283,15,107,124,106,"N","E",325,58,6,NA,"N" +"-Willie McGee",497,127,7,65,48,37,5,2703,806,32,379,311,138,"N","E",325,9,3,700,"N" +"-Willie Randolph",492,136,5,76,50,94,12,5511,1511,39,897,451,875,"A","E",313,381,20,875,"A" +"-Wayne Tolleson",475,126,3,61,43,52,6,1700,433,7,217,93,146,"A","W",37,113,7,385,"A" +"-Willie Upshaw",573,144,9,85,60,78,8,3198,857,97,470,420,332,"A","E",1314,131,12,960,"A" +"-Willie Wilson",631,170,9,77,44,31,11,4908,1457,30,775,357,249,"A","W",408,4,3,1000,"A"