diff --git a/your-code/lab_boston_housing.ipynb b/your-code/lab_boston_housing.ipynb index 3176602..446aca0 100644 --- a/your-code/lab_boston_housing.ipynb +++ b/your-code/lab_boston_housing.ipynb @@ -35,11 +35,495 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ - "# Your code here" + "# Your code here\n", + "import pandas as pd \n", + "import seaborn as sns \n", + "import matplotlib.pyplot as plt\n", + "from scipy import stats as st \n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
crimzninduschasnoxrmagedisradtaxptratioblacklstatmedv
00.158760.010.810.00.4135.96117.55.28734.0305.019.2376.949.8821.7
10.1032825.05.130.00.4535.92747.26.93208.0284.019.7396.909.2219.6
20.349400.09.900.00.5445.97276.73.10254.0304.018.4396.249.9720.3
32.733970.019.580.00.8715.59794.91.52575.0403.014.7351.8521.4515.4
40.0433721.05.640.00.4396.11563.06.81474.0243.016.8393.979.4320.5
\n", + "
" + ], + "text/plain": [ + " crim zn indus chas nox rm age dis rad tax \\\n", + "0 0.15876 0.0 10.81 0.0 0.413 5.961 17.5 5.2873 4.0 305.0 \n", + "1 0.10328 25.0 5.13 0.0 0.453 5.927 47.2 6.9320 8.0 284.0 \n", + "2 0.34940 0.0 9.90 0.0 0.544 5.972 76.7 3.1025 4.0 304.0 \n", + "3 2.73397 0.0 19.58 0.0 0.871 5.597 94.9 1.5257 5.0 403.0 \n", + "4 0.04337 21.0 5.64 0.0 0.439 6.115 63.0 6.8147 4.0 243.0 \n", + "\n", + " ptratio black lstat medv \n", + "0 19.2 376.94 9.88 21.7 \n", + "1 19.7 396.90 9.22 19.6 \n", + "2 18.4 396.24 9.97 20.3 \n", + "3 14.7 351.85 21.45 15.4 \n", + "4 16.8 393.97 9.43 20.5 " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "boston_df = pd.read_csv(\"../data/boston_data.csv\")\n", + "boston_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "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", + "
crimzninduschasnoxrmagedisradtaxptratioblacklstatmedv
count404.000000404.000000404.000000404.000000404.000000404.00000404.000000404.000000404.000000404.000000404.000000404.000000404.000000404.000000
mean3.73091210.50990111.1899010.0693070.5567106.3014568.6017333.7996669.836634411.68811918.444554355.06824312.59893622.312376
std8.94392222.0537336.8149090.2542900.1173210.6758328.0661432.1099168.834741171.0735532.15029594.4895726.9251738.837019
min0.0063200.0000000.4600000.0000000.3920003.561002.9000001.1691001.000000187.00000012.6000000.3200001.7300005.000000
25%0.0823820.0000005.1900000.0000000.4530005.9027545.8000002.0878754.000000281.00000017.375000374.7100007.13500017.100000
50%0.2537150.0000009.7950000.0000000.5380006.2305076.6000003.2074505.000000330.00000019.000000391.06500011.26500021.400000
75%4.05315812.50000018.1000000.0000000.6310006.6292594.1500005.22212524.000000666.00000020.200000396.00750016.91000025.000000
max88.97620095.00000027.7400001.0000000.8710008.78000100.00000012.12650024.000000711.00000022.000000396.90000034.37000050.000000
\n", + "
" + ], + "text/plain": [ + " crim zn indus chas nox rm \\\n", + "count 404.000000 404.000000 404.000000 404.000000 404.000000 404.00000 \n", + "mean 3.730912 10.509901 11.189901 0.069307 0.556710 6.30145 \n", + "std 8.943922 22.053733 6.814909 0.254290 0.117321 0.67583 \n", + "min 0.006320 0.000000 0.460000 0.000000 0.392000 3.56100 \n", + "25% 0.082382 0.000000 5.190000 0.000000 0.453000 5.90275 \n", + "50% 0.253715 0.000000 9.795000 0.000000 0.538000 6.23050 \n", + "75% 4.053158 12.500000 18.100000 0.000000 0.631000 6.62925 \n", + "max 88.976200 95.000000 27.740000 1.000000 0.871000 8.78000 \n", + "\n", + " age dis rad tax ptratio black \\\n", + "count 404.000000 404.000000 404.000000 404.000000 404.000000 404.000000 \n", + "mean 68.601733 3.799666 9.836634 411.688119 18.444554 355.068243 \n", + "std 28.066143 2.109916 8.834741 171.073553 2.150295 94.489572 \n", + "min 2.900000 1.169100 1.000000 187.000000 12.600000 0.320000 \n", + "25% 45.800000 2.087875 4.000000 281.000000 17.375000 374.710000 \n", + "50% 76.600000 3.207450 5.000000 330.000000 19.000000 391.065000 \n", + "75% 94.150000 5.222125 24.000000 666.000000 20.200000 396.007500 \n", + "max 100.000000 12.126500 24.000000 711.000000 22.000000 396.900000 \n", + "\n", + " lstat medv \n", + "count 404.000000 404.000000 \n", + "mean 12.598936 22.312376 \n", + "std 6.925173 8.837019 \n", + "min 1.730000 5.000000 \n", + "25% 7.135000 17.100000 \n", + "50% 11.265000 21.400000 \n", + "75% 16.910000 25.000000 \n", + "max 34.370000 50.000000 " + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "boston_df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 404 entries, 0 to 403\n", + "Data columns (total 14 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 crim 404 non-null float64\n", + " 1 zn 404 non-null float64\n", + " 2 indus 404 non-null float64\n", + " 3 chas 404 non-null float64\n", + " 4 nox 404 non-null float64\n", + " 5 rm 404 non-null float64\n", + " 6 age 404 non-null float64\n", + " 7 dis 404 non-null float64\n", + " 8 rad 404 non-null float64\n", + " 9 tax 404 non-null float64\n", + " 10 ptratio 404 non-null float64\n", + " 11 black 404 non-null float64\n", + " 12 lstat 404 non-null float64\n", + " 13 medv 404 non-null float64\n", + "dtypes: float64(14)\n", + "memory usage: 44.3 KB\n" + ] + } + ], + "source": [ + "boston_df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "crim 0\n", + "zn 0\n", + "indus 0\n", + "chas 0\n", + "nox 0\n", + "rm 0\n", + "age 0\n", + "dis 0\n", + "rad 0\n", + "tax 0\n", + "ptratio 0\n", + "black 0\n", + "lstat 0\n", + "medv 0\n", + "dtype: int64" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#check nulls \n", + "boston_df.isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(404, 14)\n", + "(321, 14)\n" + ] + } + ], + "source": [ + "#https://stackoverflow.com/questions/23199796/detect-and-exclude-outliers-in-a-pandas-dataframe\n", + "#Detect and exclude outliers in a pandas DataFrame\n", + "#Z-score (or standard score) represents how many standard deviations a given measurement deviates from the mean. In other words it merely re-scales, or standardizes, your data.\n", + "\n", + "z= np.abs(st.zscore(boston_df))\n", + "print(z.shape)\n", + "boston_z=boston_df[(z<3).all(axis=1)]\n", + "print(boston_z.shape)" ] }, { @@ -51,11 +535,711 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\io\\formats\\style.py:3554: RuntimeWarning: All-NaN slice encountered\n", + " smin = np.nanmin(gmap) if vmin is None else vmin\n", + "c:\\ProgramData\\Anaconda3\\lib\\site-packages\\pandas\\io\\formats\\style.py:3555: RuntimeWarning: All-NaN slice encountered\n", + " smax = np.nanmax(gmap) if vmax is None else vmax\n" + ] + }, + { + "data": { + "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", + "
 crimzninduschasnoxrmagedisradtaxptratioblacklstatmedv
crim1.000000-0.2450490.523523nan0.562803-0.1996600.436390-0.4853580.8112240.7499200.344787-0.3277970.563541-0.504009
zn-0.2450491.000000-0.467428nan-0.4443770.295135-0.4535360.559321-0.245867-0.265426-0.3501840.148885-0.3655620.342641
indus0.523523-0.4674281.000000nan0.721443-0.3624480.562405-0.6594490.5693570.7057280.327299-0.3247250.613879-0.565210
chasnannannannannannannannannannannannannannan
nox0.562803-0.4443770.721443nan1.000000-0.2744510.705628-0.7629020.5811030.6429560.119749-0.3496250.589708-0.467456
rm-0.1996600.295135-0.362448nan-0.2744511.000000-0.1943720.190069-0.111475-0.206632-0.2327150.107586-0.6135830.712762
age0.436390-0.4535360.562405nan0.705628-0.1943721.000000-0.6958780.4025810.4667540.195327-0.2340180.605873-0.454210
dis-0.4853580.559321-0.659449nan-0.7629020.190069-0.6958781.000000-0.454150-0.518759-0.1825340.265998-0.4955260.314168
rad0.811224-0.2458670.569357nan0.581103-0.1114750.402581-0.4541501.0000000.9024930.424147-0.3217130.456052-0.425741
tax0.749920-0.2654260.705728nan0.642956-0.2066320.466754-0.5187590.9024931.0000000.422950-0.3406010.529352-0.535400
ptratio0.344787-0.3501840.327299nan0.119749-0.2327150.195327-0.1825340.4241470.4229501.000000-0.0808370.290615-0.471788
black-0.3277970.148885-0.324725nan-0.3496250.107586-0.2340180.265998-0.321713-0.340601-0.0808371.000000-0.3077010.282290
lstat0.563541-0.3655620.613879nan0.589708-0.6135830.605873-0.4955260.4560520.5293520.290615-0.3077011.000000-0.754075
medv-0.5040090.342641-0.565210nan-0.4674560.712762-0.4542100.314168-0.425741-0.535400-0.4717880.282290-0.7540751.000000
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your plots here" + "#lets see the correlation of all variables \n", + "corr= boston_z.corr()\n", + "corr.style.background_gradient(cmap=\"coolwarm\")\n" ] }, { @@ -67,11 +1251,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "metadata": {}, "outputs": [], "source": [ - "# Your response here" + "# Your response here\n", + "#high correlation between tax and rad\n", + "#there is also highly negative correlation between other variables like dis, indus nox and age.\n" ] }, { @@ -83,11 +1269,522 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "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", + "
 crimznnoxrmagedistaxptratioblacklstatmedv
crim1.000000-0.2450490.562803-0.1996600.436390-0.4853580.7499200.344787-0.3277970.563541-0.504009
zn-0.2450491.000000-0.4443770.295135-0.4535360.559321-0.265426-0.3501840.148885-0.3655620.342641
nox0.562803-0.4443771.000000-0.2744510.705628-0.7629020.6429560.119749-0.3496250.589708-0.467456
rm-0.1996600.295135-0.2744511.000000-0.1943720.190069-0.206632-0.2327150.107586-0.6135830.712762
age0.436390-0.4535360.705628-0.1943721.000000-0.6958780.4667540.195327-0.2340180.605873-0.454210
dis-0.4853580.559321-0.7629020.190069-0.6958781.000000-0.518759-0.1825340.265998-0.4955260.314168
tax0.749920-0.2654260.642956-0.2066320.466754-0.5187591.0000000.422950-0.3406010.529352-0.535400
ptratio0.344787-0.3501840.119749-0.2327150.195327-0.1825340.4229501.000000-0.0808370.290615-0.471788
black-0.3277970.148885-0.3496250.107586-0.2340180.265998-0.340601-0.0808371.000000-0.3077010.282290
lstat0.563541-0.3655620.589708-0.6135830.605873-0.4955260.5293520.290615-0.3077011.000000-0.754075
medv-0.5040090.342641-0.4674560.712762-0.4542100.314168-0.535400-0.4717880.282290-0.7540751.000000
\n" + ], + "text/plain": [ + "" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your response here" + "# Your response here\n", + "# I droped the rad and chas variable \n", + "# chas varibale due to the nan \n", + "# rad variable due to the high corelation between rad and tax and kept the tax variable \n", + "\n", + "corr2= boston_z[[\"crim\",\"zn\",\"nox\",\"rm\",\"age\",\"dis\",\"tax\",\"ptratio\",\"black\",\"lstat\", \"medv\"]].corr()\n", + "corr2.style.background_gradient(cmap=\"coolwarm\")" ] }, { @@ -100,11 +1797,32 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "count 321.000000\n", + "mean 21.783489\n", + "std 7.122202\n", + "min 5.600000\n", + "25% 17.800000\n", + "50% 21.200000\n", + "75% 24.600000\n", + "max 48.300000\n", + "Name: medv, dtype: float64" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here" + "# Your code here\n", + "#medv is the target -> house pricing \n", + "boston_z[\"medv\"].describe()" ] }, { @@ -126,7 +1844,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -135,7 +1853,8 @@ "def performance_metric(y_true, y_predict):\n", " \"\"\" Calculates and returns the performance score between \n", " true and predicted values based on the metric chosen. \"\"\"\n", - " # Your code here:" + " # Your code here: \n", + " return r2_score(y_true, y_predict)" ] }, { @@ -148,11 +1867,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ - "# Your code here" + "# Your code here\n", + "from sklearn.model_selection import train_test_split\n", + "X = boston_z.drop(labels=\"medv\", axis=1)\n", + "Y = boston_z[\"medv\"]\n", + "\n", + "X_train, X_test, Y_train, Y_test = train_test_split(X,Y,train_size=0.25, random_state=42)" ] }, { @@ -175,11 +1899,33 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ - "# Five separate RFR here with the given max depths" + "from sklearn.ensemble import RandomForestRegressor\n", + "\n", + "depths = [2, 4, 6, 8, 10]\n", + "\n", + "train_scores = []\n", + "test_scores = []\n", + "\n", + "for i in depths:\n", + " # initialize model\n", + " RFR = RandomForestRegressor(max_depth=i)\n", + " # fit\n", + " RFR.fit(X_train, Y_train)\n", + " # predict test\n", + " y_pred_test = RFR.predict(X_test)\n", + " # predict train\n", + " y_pred_train = RFR.predict(X_train)\n", + " \n", + " # get scores\n", + " test_score = performance_metric(Y_test, y_pred_test)\n", + " train_score = performance_metric(Y_train, y_pred_train)\n", + " \n", + " train_scores += [train_score]\n", + " test_scores += [test_score]\n" ] }, { @@ -191,13 +1937,53 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2, 4, 6, 8, 10]\n", + "[0.6629766005197151, 0.7614917229970312, 0.7735192498777465, 0.7801716453866652, 0.783039575674259]\n", + "[0.8010148703230447, 0.9274454672795971, 0.9599170337757328, 0.9637409988414001, 0.9664564509942675]\n" + ] + } + ], + "source": [ + "print(depths)\n", + "print(test_scores)\n", + "print(train_scores)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, "metadata": { "scrolled": false }, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], "source": [ - "# Produce a plot with the score for the testing and training for the different max depths" + "# plot train scores\n", + "\n", + "plt.bar(x=depths, height=train_scores, label=\"train\")\n", + "plt.bar(x=[d+1 for d in depths], height=test_scores, label='test')\n", + "plt.title(\"tree Scoring\")\n", + "plt.legend()\n", + "plt.show()" ] }, { @@ -209,11 +1995,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ - "# Your response here" + "# Your response here\n", + "# I can see that this model represents well the train data \n", + "# But also it represents well the traing data with the r2score as a metric " ] }, { @@ -226,11 +2014,13 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 31, "metadata": {}, "outputs": [], "source": [ - "# Your response here" + "# Your response here\n", + "# the model has a score that ranges from [0.80 to 0.97] in training and when it is applied in the test data it ranges from [.67 to .79] with the max dept of 10\n", + "# the model is underpredicting the target in aprox 0.21 " ] }, { @@ -243,11 +2033,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ - "# Your response here" + "# Your response here\n", + "#in my opinion the best guess optimal model , regarding the performance would be of a depth ranging from [2 to 4]\n", + "# since the results of the below values are the following \n", + "# \n", + "#test->[0.6629766005197151, 0.7614917229970312]\n", + "#train->[0.8010148703230447, 0.9274454672795971]" ] }, { @@ -265,18 +2060,128 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 36, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ".. _boston_dataset:\n", + "\n", + "Boston house prices dataset\n", + "---------------------------\n", + "\n", + "**Data Set Characteristics:** \n", + "\n", + " :Number of Instances: 506 \n", + "\n", + " :Number of Attributes: 13 numeric/categorical predictive. Median Value (attribute 14) is usually the target.\n", + "\n", + " :Attribute Information (in order):\n", + " - CRIM per capita crime rate by town\n", + " - ZN proportion of residential land zoned for lots over 25,000 sq.ft.\n", + " - INDUS proportion of non-retail business acres per town\n", + " - CHAS Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)\n", + " - NOX nitric oxides concentration (parts per 10 million)\n", + " - RM average number of rooms per dwelling\n", + " - AGE proportion of owner-occupied units built prior to 1940\n", + " - DIS weighted distances to five Boston employment centres\n", + " - RAD index of accessibility to radial highways\n", + " - TAX full-value property-tax rate per $10,000\n", + " - PTRATIO pupil-teacher ratio by town\n", + " - B 1000(Bk - 0.63)^2 where Bk is the proportion of black people by town\n", + " - LSTAT % lower status of the population\n", + " - MEDV Median value of owner-occupied homes in $1000's\n", + "\n", + " :Missing Attribute Values: None\n", + "\n", + " :Creator: Harrison, D. and Rubinfeld, D.L.\n", + "\n", + "This is a copy of UCI ML housing dataset.\n", + "https://archive.ics.uci.edu/ml/machine-learning-databases/housing/\n", + "\n", + "\n", + "This dataset was taken from the StatLib library which is maintained at Carnegie Mellon University.\n", + "\n", + "The Boston house-price data of Harrison, D. and Rubinfeld, D.L. 'Hedonic\n", + "prices and the demand for clean air', J. Environ. Economics & Management,\n", + "vol.5, 81-102, 1978. Used in Belsley, Kuh & Welsch, 'Regression diagnostics\n", + "...', Wiley, 1980. N.B. Various transformations are used in the table on\n", + "pages 244-261 of the latter.\n", + "\n", + "The Boston house-price data has been used in many machine learning papers that address regression\n", + "problems. \n", + " \n", + ".. topic:: References\n", + "\n", + " - Belsley, Kuh & Welsch, 'Regression diagnostics: Identifying Influential Data and Sources of Collinearity', Wiley, 1980. 244-261.\n", + " - Quinlan,R. (1993). Combining Instance-Based and Model-Based Learning. In Proceedings on the Tenth International Conference of Machine Learning, 236-243, University of Massachusetts, Amherst. Morgan Kaufmann.\n", + "\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\ProgramData\\Anaconda3\\lib\\site-packages\\sklearn\\utils\\deprecation.py:87: FutureWarning: Function load_boston is deprecated; `load_boston` is deprecated in 1.0 and will be removed in 1.2.\n", + "\n", + " The Boston housing prices dataset has an ethical problem. You can refer to\n", + " the documentation of this function for further details.\n", + "\n", + " The scikit-learn maintainers therefore strongly discourage the use of this\n", + " dataset unless the purpose of the code is to study and educate about\n", + " ethical issues in data science and machine learning.\n", + "\n", + " In this special case, you can fetch the dataset from the original\n", + " source::\n", + "\n", + " import pandas as pd\n", + " import numpy as np\n", + "\n", + "\n", + " data_url = \"http://lib.stat.cmu.edu/datasets/boston\"\n", + " raw_df = pd.read_csv(data_url, sep=\"\\s+\", skiprows=22, header=None)\n", + " data = np.hstack([raw_df.values[::2, :], raw_df.values[1::2, :2]])\n", + " target = raw_df.values[1::2, 2]\n", + "\n", + " Alternative datasets include the California housing dataset (i.e.\n", + " :func:`~sklearn.datasets.fetch_california_housing`) and the Ames housing\n", + " dataset. You can load the datasets as follows::\n", + "\n", + " from sklearn.datasets import fetch_california_housing\n", + " housing = fetch_california_housing()\n", + "\n", + " for the California housing dataset and::\n", + "\n", + " from sklearn.datasets import fetch_openml\n", + " housing = fetch_openml(name=\"house_prices\", as_frame=True)\n", + "\n", + " for the Ames housing dataset.\n", + " \n", + " warnings.warn(msg, category=FutureWarning)\n" + ] + } + ], "source": [ - "# Your response here" + "# Your response here\n", + "from sklearn.datasets import load_boston\n", + "boston_features = load_boston()\n", + "print(boston_features.DESCR)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3.9.12 ('base')", "language": "python", "name": "python3" }, @@ -290,7 +2195,12 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.2" + "version": "3.9.12" + }, + "vscode": { + "interpreter": { + "hash": "ad2bdc8ecc057115af97d19610ffacc2b4e99fae6737bb82f5d7fb13d2f2c186" + } } }, "nbformat": 4, diff --git a/your-code/lab_overfitting.ipynb b/your-code/lab_overfitting.ipynb index 3776411..a85c16e 100644 --- a/your-code/lab_overfitting.ipynb +++ b/your-code/lab_overfitting.ipynb @@ -21,7 +21,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -33,7 +33,11 @@ "\n", "# Makin' some data\n", "from sklearn.datasets import make_circles\n", - "X, y = make_circles(noise=0.2, factor=0.5, random_state=1)" + "X, y = make_circles(noise=0.2, factor=0.5, random_state=1)\n", + "\n", + "#https://www.datacamp.com/tutorial/svm-classification-scikit-learn-python\n", + "# https://www.geeksforgeeks.org/classifying-data-using-support-vector-machinessvms-in-python/\n", + "#https://www.edureka.co/blog/support-vector-machine-in-python/" ] }, { @@ -55,11 +59,16 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ - "# Your code here\n" + "# Your code here\n", + "from sklearn.svm import SVC \n", + "\n", + "svm_gamma= [0.001, 1, 20]\n", + "\n", + "classifiers = [SVC(gamma= i) for i in svm_gamma ]" ] }, { @@ -71,9 +80,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "from matplotlib.colors import ListedColormap\n", "\n", @@ -134,7 +154,9 @@ "metadata": {}, "outputs": [], "source": [ - "# Your response here" + "# Your response here\n", + "\n", + "# I would seect the gamma of 1 as the lines are more standardize and there is no overfit like gamma 20 " ] }, { @@ -146,11 +168,25 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "0.94" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here" + "# Your code here\n", + "model = SVC(gamma=7)\n", + "model.fit(X,y)\n", + "model.score (X,y)" ] }, { @@ -162,11 +198,29 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "95.0" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "# Your code here" + "# Your code here\n", + "from sklearn.model_selection import train_test_split\n", + "X_train, X_test, y_train, y_test= train_test_split(X, y, test_size=0.2, random_state = 29)\n", + "\n", + "model = SVC(gamma=20)\n", + "model.fit(X_train, y_train)\n", + "\n", + "model.score(X_test, y_test)" ] }, { @@ -178,11 +232,30 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "train score 0.001 0.5125\n", + "test score 0.001 0.45\n", + "train score 1 0.9125\n", + "test score 1 0.9\n", + "train score 20 0.975\n", + "test score 20 0.95\n" + ] + } + ], "source": [ - "# Your code here" + "# Your code here\n", + "\n", + "for i in svm_gamma:\n", + " model = SVC(gamma=i)\n", + " model.fit(X_train, y_train)\n", + " print(\"train score\",i,\" \",model.score(X_train, y_train))\n", + " print(\"test score\",i,\" \",model.score(X_test, y_test))" ] }, { @@ -204,7 +277,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3.9.12 ('base')", "language": "python", "name": "python3" }, @@ -218,7 +291,12 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.8" + "version": "3.9.12" + }, + "vscode": { + "interpreter": { + "hash": "ad2bdc8ecc057115af97d19610ffacc2b4e99fae6737bb82f5d7fb13d2f2c186" + } } }, "nbformat": 4,