{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Machine learning Starter Template (Completed)\n", "\n", "Use this as a starting template for any codeplay. It imports all the basic libraries that are vital for machine learning or data explorations." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.metrics import accuracy_score\n", "from sklearn.preprocessing import scale\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 2, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholquality
07.70.9600.202.000.04715.060.00.995503.360.4410.905
16.70.6700.021.900.06126.042.00.994893.390.8210.906
27.70.6000.062.000.07919.041.00.996973.390.6210.106
36.80.6700.151.800.11813.020.00.995403.420.6711.306
412.50.3800.602.600.08131.072.00.999603.100.7310.505
56.80.5900.101.700.06334.053.00.995803.410.679.705
610.90.3200.521.800.13217.044.00.997343.280.7711.506
710.70.5200.382.600.06629.056.00.995773.150.7912.107
810.50.3900.462.200.07514.027.00.995983.060.8411.406
97.10.8750.055.700.0823.014.00.998083.400.5210.203
108.00.7450.562.000.11830.0134.00.996803.240.669.405
117.60.6450.031.900.08614.057.00.996903.370.4610.305
127.80.4600.261.900.08823.053.00.998103.430.749.206
137.40.2500.292.200.05419.049.00.996663.400.7610.907
149.90.4900.583.500.0949.043.01.000403.290.589.005
155.40.7400.091.700.08916.026.00.994023.670.5611.606
1610.00.5600.242.200.07919.058.00.999103.180.5610.106
179.50.8850.272.300.08431.0145.00.997803.240.539.405
1812.00.2800.491.900.07410.021.00.997602.980.669.907
199.00.3600.522.100.1115.010.00.995683.310.6211.306
207.70.2700.683.500.3585.010.00.997203.251.089.907
218.30.6500.102.900.08917.040.00.998033.290.559.505
227.40.2900.381.700.0629.030.00.996803.410.539.506
237.30.4500.365.900.07412.087.00.997803.330.8310.505
247.50.7550.001.900.0846.012.00.996723.340.499.704
259.90.7200.551.700.13624.052.00.997523.350.9410.005
267.80.5000.092.200.11510.042.00.997103.180.629.505
278.20.5000.352.900.07721.0127.00.997603.230.629.405
2810.50.3600.472.200.0749.023.00.996383.230.7612.006
297.40.3700.432.600.08218.082.00.997083.330.689.706
.......................................
29705.80.2700.207.300.04042.0145.00.994423.150.489.805
29716.30.2300.331.500.03615.0105.00.991003.320.4211.206
29727.20.1900.463.800.04182.0187.00.993203.190.6011.207
29737.50.3000.711.300.16044.0149.00.994803.080.428.905
29746.60.5500.012.700.03456.0122.00.990603.150.3011.905
29756.00.2800.2417.800.04742.0111.00.998963.100.458.906
29766.40.2800.2711.000.04245.0148.00.997863.140.468.705
29776.50.3300.303.800.03634.088.00.990283.250.6312.507
29787.80.3200.3310.400.03147.0194.00.996923.070.589.606
29797.40.2000.356.100.02510.040.00.992442.790.5210.905
29808.30.2100.4919.800.05450.0231.01.001202.990.549.205
29815.80.4200.302.200.03526.0129.00.989003.320.4712.906
29827.10.2000.279.600.03719.0105.00.994443.040.3710.507
29839.80.1600.461.800.04623.0130.00.995873.040.679.605
29848.10.2000.402.000.03719.087.00.992103.120.5411.206
29856.80.3400.368.900.02944.0128.00.993183.280.3511.957
29866.30.3200.3511.100.03929.0198.00.998403.360.509.407
29877.60.4800.319.400.0466.0194.00.997143.070.619.405
29886.80.2800.2911.900.05251.0149.00.995443.020.5810.406
29896.90.4300.289.400.05629.0183.00.995943.170.439.405
29907.20.4000.248.500.05545.0151.00.996263.200.529.205
29916.80.3500.5310.100.05337.0151.00.996303.070.409.405
29926.90.1900.3513.500.03849.0118.00.995463.000.6310.706
29937.60.3200.5816.750.05043.0163.00.999903.150.549.205
29947.80.3000.741.800.03333.0156.00.991003.290.5212.806
29956.90.1900.3119.250.04338.0167.00.999542.930.529.107
29966.40.3700.193.500.06818.0101.00.993403.030.389.006
29977.30.2300.371.800.03260.0156.00.992003.110.3511.106
29988.00.5500.178.200.04013.060.00.995603.090.309.504
29996.60.3800.369.200.06142.0214.00.997603.310.569.405
\n", "

3000 rows × 12 columns

\n", "
" ], "text/plain": [ " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", "0 7.7 0.960 0.20 2.00 0.047 \n", "1 6.7 0.670 0.02 1.90 0.061 \n", "2 7.7 0.600 0.06 2.00 0.079 \n", "3 6.8 0.670 0.15 1.80 0.118 \n", "4 12.5 0.380 0.60 2.60 0.081 \n", "5 6.8 0.590 0.10 1.70 0.063 \n", "6 10.9 0.320 0.52 1.80 0.132 \n", "7 10.7 0.520 0.38 2.60 0.066 \n", "8 10.5 0.390 0.46 2.20 0.075 \n", "9 7.1 0.875 0.05 5.70 0.082 \n", "10 8.0 0.745 0.56 2.00 0.118 \n", "11 7.6 0.645 0.03 1.90 0.086 \n", "12 7.8 0.460 0.26 1.90 0.088 \n", "13 7.4 0.250 0.29 2.20 0.054 \n", "14 9.9 0.490 0.58 3.50 0.094 \n", "15 5.4 0.740 0.09 1.70 0.089 \n", "16 10.0 0.560 0.24 2.20 0.079 \n", "17 9.5 0.885 0.27 2.30 0.084 \n", "18 12.0 0.280 0.49 1.90 0.074 \n", "19 9.0 0.360 0.52 2.10 0.111 \n", "20 7.7 0.270 0.68 3.50 0.358 \n", "21 8.3 0.650 0.10 2.90 0.089 \n", "22 7.4 0.290 0.38 1.70 0.062 \n", "23 7.3 0.450 0.36 5.90 0.074 \n", "24 7.5 0.755 0.00 1.90 0.084 \n", "25 9.9 0.720 0.55 1.70 0.136 \n", "26 7.8 0.500 0.09 2.20 0.115 \n", "27 8.2 0.500 0.35 2.90 0.077 \n", "28 10.5 0.360 0.47 2.20 0.074 \n", "29 7.4 0.370 0.43 2.60 0.082 \n", "... ... ... ... ... ... \n", "2970 5.8 0.270 0.20 7.30 0.040 \n", "2971 6.3 0.230 0.33 1.50 0.036 \n", "2972 7.2 0.190 0.46 3.80 0.041 \n", "2973 7.5 0.300 0.71 1.30 0.160 \n", "2974 6.6 0.550 0.01 2.70 0.034 \n", "2975 6.0 0.280 0.24 17.80 0.047 \n", "2976 6.4 0.280 0.27 11.00 0.042 \n", "2977 6.5 0.330 0.30 3.80 0.036 \n", "2978 7.8 0.320 0.33 10.40 0.031 \n", "2979 7.4 0.200 0.35 6.10 0.025 \n", "2980 8.3 0.210 0.49 19.80 0.054 \n", "2981 5.8 0.420 0.30 2.20 0.035 \n", "2982 7.1 0.200 0.27 9.60 0.037 \n", "2983 9.8 0.160 0.46 1.80 0.046 \n", "2984 8.1 0.200 0.40 2.00 0.037 \n", "2985 6.8 0.340 0.36 8.90 0.029 \n", "2986 6.3 0.320 0.35 11.10 0.039 \n", "2987 7.6 0.480 0.31 9.40 0.046 \n", "2988 6.8 0.280 0.29 11.90 0.052 \n", "2989 6.9 0.430 0.28 9.40 0.056 \n", "2990 7.2 0.400 0.24 8.50 0.055 \n", "2991 6.8 0.350 0.53 10.10 0.053 \n", "2992 6.9 0.190 0.35 13.50 0.038 \n", "2993 7.6 0.320 0.58 16.75 0.050 \n", "2994 7.8 0.300 0.74 1.80 0.033 \n", "2995 6.9 0.190 0.31 19.25 0.043 \n", "2996 6.4 0.370 0.19 3.50 0.068 \n", "2997 7.3 0.230 0.37 1.80 0.032 \n", "2998 8.0 0.550 0.17 8.20 0.040 \n", "2999 6.6 0.380 0.36 9.20 0.061 \n", "\n", " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", "0 15.0 60.0 0.99550 3.36 0.44 \n", "1 26.0 42.0 0.99489 3.39 0.82 \n", "2 19.0 41.0 0.99697 3.39 0.62 \n", "3 13.0 20.0 0.99540 3.42 0.67 \n", "4 31.0 72.0 0.99960 3.10 0.73 \n", "5 34.0 53.0 0.99580 3.41 0.67 \n", "6 17.0 44.0 0.99734 3.28 0.77 \n", "7 29.0 56.0 0.99577 3.15 0.79 \n", "8 14.0 27.0 0.99598 3.06 0.84 \n", "9 3.0 14.0 0.99808 3.40 0.52 \n", "10 30.0 134.0 0.99680 3.24 0.66 \n", "11 14.0 57.0 0.99690 3.37 0.46 \n", "12 23.0 53.0 0.99810 3.43 0.74 \n", "13 19.0 49.0 0.99666 3.40 0.76 \n", "14 9.0 43.0 1.00040 3.29 0.58 \n", "15 16.0 26.0 0.99402 3.67 0.56 \n", "16 19.0 58.0 0.99910 3.18 0.56 \n", "17 31.0 145.0 0.99780 3.24 0.53 \n", "18 10.0 21.0 0.99760 2.98 0.66 \n", "19 5.0 10.0 0.99568 3.31 0.62 \n", "20 5.0 10.0 0.99720 3.25 1.08 \n", "21 17.0 40.0 0.99803 3.29 0.55 \n", "22 9.0 30.0 0.99680 3.41 0.53 \n", "23 12.0 87.0 0.99780 3.33 0.83 \n", "24 6.0 12.0 0.99672 3.34 0.49 \n", "25 24.0 52.0 0.99752 3.35 0.94 \n", "26 10.0 42.0 0.99710 3.18 0.62 \n", "27 21.0 127.0 0.99760 3.23 0.62 \n", "28 9.0 23.0 0.99638 3.23 0.76 \n", "29 18.0 82.0 0.99708 3.33 0.68 \n", "... ... ... ... ... ... \n", "2970 42.0 145.0 0.99442 3.15 0.48 \n", "2971 15.0 105.0 0.99100 3.32 0.42 \n", "2972 82.0 187.0 0.99320 3.19 0.60 \n", "2973 44.0 149.0 0.99480 3.08 0.42 \n", "2974 56.0 122.0 0.99060 3.15 0.30 \n", "2975 42.0 111.0 0.99896 3.10 0.45 \n", "2976 45.0 148.0 0.99786 3.14 0.46 \n", "2977 34.0 88.0 0.99028 3.25 0.63 \n", "2978 47.0 194.0 0.99692 3.07 0.58 \n", "2979 10.0 40.0 0.99244 2.79 0.52 \n", "2980 50.0 231.0 1.00120 2.99 0.54 \n", "2981 26.0 129.0 0.98900 3.32 0.47 \n", "2982 19.0 105.0 0.99444 3.04 0.37 \n", "2983 23.0 130.0 0.99587 3.04 0.67 \n", "2984 19.0 87.0 0.99210 3.12 0.54 \n", "2985 44.0 128.0 0.99318 3.28 0.35 \n", "2986 29.0 198.0 0.99840 3.36 0.50 \n", "2987 6.0 194.0 0.99714 3.07 0.61 \n", "2988 51.0 149.0 0.99544 3.02 0.58 \n", "2989 29.0 183.0 0.99594 3.17 0.43 \n", "2990 45.0 151.0 0.99626 3.20 0.52 \n", "2991 37.0 151.0 0.99630 3.07 0.40 \n", "2992 49.0 118.0 0.99546 3.00 0.63 \n", "2993 43.0 163.0 0.99990 3.15 0.54 \n", "2994 33.0 156.0 0.99100 3.29 0.52 \n", "2995 38.0 167.0 0.99954 2.93 0.52 \n", "2996 18.0 101.0 0.99340 3.03 0.38 \n", "2997 60.0 156.0 0.99200 3.11 0.35 \n", "2998 13.0 60.0 0.99560 3.09 0.30 \n", "2999 42.0 214.0 0.99760 3.31 0.56 \n", "\n", " alcohol quality \n", "0 10.90 5 \n", "1 10.90 6 \n", "2 10.10 6 \n", "3 11.30 6 \n", "4 10.50 5 \n", "5 9.70 5 \n", "6 11.50 6 \n", "7 12.10 7 \n", "8 11.40 6 \n", "9 10.20 3 \n", "10 9.40 5 \n", "11 10.30 5 \n", "12 9.20 6 \n", "13 10.90 7 \n", "14 9.00 5 \n", "15 11.60 6 \n", "16 10.10 6 \n", "17 9.40 5 \n", "18 9.90 7 \n", "19 11.30 6 \n", "20 9.90 7 \n", "21 9.50 5 \n", "22 9.50 6 \n", "23 10.50 5 \n", "24 9.70 4 \n", "25 10.00 5 \n", "26 9.50 5 \n", "27 9.40 5 \n", "28 12.00 6 \n", "29 9.70 6 \n", "... ... ... \n", "2970 9.80 5 \n", "2971 11.20 6 \n", "2972 11.20 7 \n", "2973 8.90 5 \n", "2974 11.90 5 \n", "2975 8.90 6 \n", "2976 8.70 5 \n", "2977 12.50 7 \n", "2978 9.60 6 \n", "2979 10.90 5 \n", "2980 9.20 5 \n", "2981 12.90 6 \n", "2982 10.50 7 \n", "2983 9.60 5 \n", "2984 11.20 6 \n", "2985 11.95 7 \n", "2986 9.40 7 \n", "2987 9.40 5 \n", "2988 10.40 6 \n", "2989 9.40 5 \n", "2990 9.20 5 \n", "2991 9.40 5 \n", "2992 10.70 6 \n", "2993 9.20 5 \n", "2994 12.80 6 \n", "2995 9.10 7 \n", "2996 9.00 6 \n", "2997 11.10 6 \n", "2998 9.50 4 \n", "2999 9.40 5 \n", "\n", "[3000 rows x 12 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('https://s3.amazonaws.com/syaffers-stuff/datasets/wine-dataset-sample-nl.csv') # change me!\n", "df" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 2.00\n", "1 1.90\n", "2 2.00\n", "3 1.80\n", "4 2.60\n", "5 1.70\n", "6 1.80\n", "7 2.60\n", "8 2.20\n", "9 5.70\n", "10 2.00\n", "11 1.90\n", "12 1.90\n", "13 2.20\n", "14 3.50\n", "15 1.70\n", "16 2.20\n", "17 2.30\n", "18 1.90\n", "19 2.10\n", "20 3.50\n", "21 2.90\n", "22 1.70\n", "23 5.90\n", "24 1.90\n", "25 1.70\n", "26 2.20\n", "27 2.90\n", "28 2.20\n", "29 2.60\n", " ... \n", "2970 7.30\n", "2971 1.50\n", "2972 3.80\n", "2973 1.30\n", "2974 2.70\n", "2975 17.80\n", "2976 11.00\n", "2977 3.80\n", "2978 10.40\n", "2979 6.10\n", "2980 19.80\n", "2981 2.20\n", "2982 9.60\n", "2983 1.80\n", "2984 2.00\n", "2985 8.90\n", "2986 11.10\n", "2987 9.40\n", "2988 11.90\n", "2989 9.40\n", "2990 8.50\n", "2991 10.10\n", "2992 13.50\n", "2993 16.75\n", "2994 1.80\n", "2995 19.25\n", "2996 3.50\n", "2997 1.80\n", "2998 8.20\n", "2999 9.20\n", "Name: residual sugar, Length: 3000, dtype: float64" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['residual sugar']" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot.scatter('chlorides', 'density')" ] }, { "cell_type": "code", "execution_count": 5, "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", "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholquality
count3000.0000003000.0000003000.0000003000.0000003000.0000003000.0000003000.0000003000.0000003000.0000003000.0000003000.0000003000.000000
mean7.6022000.4035600.3039234.4617830.06640925.56100092.2758330.9954013.2478530.57482710.4595175.743333
std1.5429110.1914220.1656294.1615450.04024516.86759659.4843940.0027990.1642200.1670191.1499090.849527
min4.4000000.0800000.0000000.6000000.0120001.0000006.0000000.9871302.7400000.2200008.0000003.000000
25%6.6000000.2587500.2100001.9000000.04275012.00000038.0000000.9933973.1400000.4600009.5000005.000000
50%7.2000000.3600000.3000002.4000000.05900023.00000089.0000000.9957803.2400000.55000010.2000006.000000
75%8.2000000.5400000.4000005.9000000.08000036.000000137.0000000.9974003.3600000.65000011.2000006.000000
max15.9000001.5800001.00000031.6000000.611000124.000000344.0000001.0103004.0100002.00000014.9000008.000000
\n", "
" ], "text/plain": [ " fixed acidity volatile acidity citric acid residual sugar \\\n", "count 3000.000000 3000.000000 3000.000000 3000.000000 \n", "mean 7.602200 0.403560 0.303923 4.461783 \n", "std 1.542911 0.191422 0.165629 4.161545 \n", "min 4.400000 0.080000 0.000000 0.600000 \n", "25% 6.600000 0.258750 0.210000 1.900000 \n", "50% 7.200000 0.360000 0.300000 2.400000 \n", "75% 8.200000 0.540000 0.400000 5.900000 \n", "max 15.900000 1.580000 1.000000 31.600000 \n", "\n", " chlorides free sulfur dioxide total sulfur dioxide density \\\n", "count 3000.000000 3000.000000 3000.000000 3000.000000 \n", "mean 0.066409 25.561000 92.275833 0.995401 \n", "std 0.040245 16.867596 59.484394 0.002799 \n", "min 0.012000 1.000000 6.000000 0.987130 \n", "25% 0.042750 12.000000 38.000000 0.993397 \n", "50% 0.059000 23.000000 89.000000 0.995780 \n", "75% 0.080000 36.000000 137.000000 0.997400 \n", "max 0.611000 124.000000 344.000000 1.010300 \n", "\n", " pH sulphates alcohol quality \n", "count 3000.000000 3000.000000 3000.000000 3000.000000 \n", "mean 3.247853 0.574827 10.459517 5.743333 \n", "std 0.164220 0.167019 1.149909 0.849527 \n", "min 2.740000 0.220000 8.000000 3.000000 \n", "25% 3.140000 0.460000 9.500000 5.000000 \n", "50% 3.240000 0.550000 10.200000 6.000000 \n", "75% 3.360000 0.650000 11.200000 6.000000 \n", "max 4.010000 2.000000 14.900000 8.000000 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df['pH'].hist()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 7.7 , 0.96, 0.2 , ..., 3.36, 0.44, 10.9 ],\n", " [ 6.7 , 0.67, 0.02, ..., 3.39, 0.82, 10.9 ],\n", " [ 7.7 , 0.6 , 0.06, ..., 3.39, 0.62, 10.1 ],\n", " ..., \n", " [ 7.3 , 0.23, 0.37, ..., 3.11, 0.35, 11.1 ],\n", " [ 8. , 0.55, 0.17, ..., 3.09, 0.3 , 9.5 ],\n", " [ 6.6 , 0.38, 0.36, ..., 3.31, 0.56, 9.4 ]])" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# take all rows\n", "# take all columns, upto the last 1\n", "X = df.values[:, :-1]\n", "X" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 5., 6., 6., ..., 6., 4., 5.])" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# take all rows\n", "# take the last column\n", "Y = df.values[:, -1]\n", "Y" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true }, "outputs": [], "source": [ "from sklearn.linear_model import LinearRegression\n", "\n", "regressor = LinearRegression()\n", "regressor.fit(X, Y)\n", "Y_prediction = regressor.predict(X)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nHO5mZiX0/wGN0x1mBq7dFQAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(Y, Y_prediction)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.50354896869255361" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.metrics import mean_squared_error\n", "\n", "mean_squared_error(Y_prediction, Y)" ] }, { "cell_type": "code", "execution_count": 12, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
avg word lengthhas word cashhas word claimhas word freehas word prizehas word winnon alnum pctnumerical pctwords per msg lengthlabel
03.700000000000.2826090.0000000.217391ham
15.000000000000.2641510.0000000.169811ham
210.000000000000.1875000.0000000.093750ham
34.037037000000.2074070.0000000.200000ham
43.600000000000.3333330.0000000.222222ham
53.266667000000.2539680.0000000.238095ham
65.047619000010.1825400.0000000.166667ham
74.285714000000.2054790.0000000.191781ham
83.916667000000.2241380.0172410.206897ham
93.600000000000.2727270.0000000.227273ham
104.750000000000.2272730.0000000.181818ham
113.560000000000.2300880.0000000.221239ham
123.882353000000.3048780.0000000.207317ham
134.200000000000.2129030.0064520.193548ham
143.375000000000.2352940.0000000.235294ham
153.529412001000.2614380.0130720.222222ham
164.600000000000.2522520.0000000.180180ham
174.200000000000.4000000.0000000.200000ham
185.000000000000.1818180.0909090.181818ham
196.000000000000.2160000.0000000.144000ham
204.428571000000.2266670.0000000.186667ham
214.714286000000.1794870.0000000.179487ham
223.636364000000.2200000.0000000.220000ham
233.571429000000.3225810.0645160.225806ham
244.800000000000.1428570.0000000.178571ham
253.466667000000.2406020.0000000.225564ham
266.400000000000.2500000.0000000.138889ham
275.000000000000.2758620.0000000.172414ham
284.680000000000.2978720.0354610.177305ham
293.375000000000.2352940.0000000.235294ham
.................................
14644.400000000010.2546580.0993790.186335spam
14654.692308010000.2244900.0680270.176871spam
14665.541667000010.2179490.1602560.153846spam
14674.269231000010.2426470.1617650.191176spam
14685.076923010100.2229300.1146500.165605spam
14696.466667000000.1531530.2072070.135135spam
14704.263158020010.2121210.1515150.191919spam
14714.607143000000.2307690.1794870.179487spam
14725.166667000000.1917810.0000000.164384spam
14733.958333001000.2288140.1440680.203390spam
14745.066667001000.2320440.0607730.165746spam
14755.521739000010.1744970.1677850.154362spam
14765.166667000010.1909090.2909090.163636spam
14775.047619000000.2222220.2460320.166667spam
14784.103448000000.2176870.1360540.197279spam
14795.666667000000.1355930.3559320.152542spam
14804.600000000000.2432430.0720720.180180spam
14816.500000000000.1940300.2164180.134328spam
14825.125000000000.1875000.2500000.166667spam
14834.259259111010.2269500.2056740.191489spam
14845.120000000000.2236840.1842110.164474spam
14854.242424002000.2151160.1279070.191860spam
14865.000000000010.2193550.1290320.167742spam
14874.142857001000.1888110.0979020.195804spam
14884.137931010000.2432430.0675680.195946spam
14894.000000000000.2385320.0733940.201835spam
14905.473684100010.2295080.1885250.155738spam
14914.571429000000.2000000.0516130.180645spam
14924.400000000000.2014930.1268660.186567spam
14939.333333000000.1333330.1666670.100000spam
\n", "

1494 rows × 10 columns

\n", "
" ], "text/plain": [ " avg word length has word cash has word claim has word free \\\n", "0 3.700000 0 0 0 \n", "1 5.000000 0 0 0 \n", "2 10.000000 0 0 0 \n", "3 4.037037 0 0 0 \n", "4 3.600000 0 0 0 \n", "5 3.266667 0 0 0 \n", "6 5.047619 0 0 0 \n", "7 4.285714 0 0 0 \n", "8 3.916667 0 0 0 \n", "9 3.600000 0 0 0 \n", "10 4.750000 0 0 0 \n", "11 3.560000 0 0 0 \n", "12 3.882353 0 0 0 \n", "13 4.200000 0 0 0 \n", "14 3.375000 0 0 0 \n", "15 3.529412 0 0 1 \n", "16 4.600000 0 0 0 \n", "17 4.200000 0 0 0 \n", "18 5.000000 0 0 0 \n", "19 6.000000 0 0 0 \n", "20 4.428571 0 0 0 \n", "21 4.714286 0 0 0 \n", "22 3.636364 0 0 0 \n", "23 3.571429 0 0 0 \n", "24 4.800000 0 0 0 \n", "25 3.466667 0 0 0 \n", "26 6.400000 0 0 0 \n", "27 5.000000 0 0 0 \n", "28 4.680000 0 0 0 \n", "29 3.375000 0 0 0 \n", "... ... ... ... ... \n", "1464 4.400000 0 0 0 \n", "1465 4.692308 0 1 0 \n", "1466 5.541667 0 0 0 \n", "1467 4.269231 0 0 0 \n", "1468 5.076923 0 1 0 \n", "1469 6.466667 0 0 0 \n", "1470 4.263158 0 2 0 \n", "1471 4.607143 0 0 0 \n", "1472 5.166667 0 0 0 \n", "1473 3.958333 0 0 1 \n", "1474 5.066667 0 0 1 \n", "1475 5.521739 0 0 0 \n", "1476 5.166667 0 0 0 \n", "1477 5.047619 0 0 0 \n", "1478 4.103448 0 0 0 \n", "1479 5.666667 0 0 0 \n", "1480 4.600000 0 0 0 \n", "1481 6.500000 0 0 0 \n", "1482 5.125000 0 0 0 \n", "1483 4.259259 1 1 1 \n", "1484 5.120000 0 0 0 \n", "1485 4.242424 0 0 2 \n", "1486 5.000000 0 0 0 \n", "1487 4.142857 0 0 1 \n", "1488 4.137931 0 1 0 \n", "1489 4.000000 0 0 0 \n", "1490 5.473684 1 0 0 \n", "1491 4.571429 0 0 0 \n", "1492 4.400000 0 0 0 \n", "1493 9.333333 0 0 0 \n", "\n", " has word prize has word win non alnum pct numerical pct \\\n", "0 0 0 0.282609 0.000000 \n", "1 0 0 0.264151 0.000000 \n", "2 0 0 0.187500 0.000000 \n", "3 0 0 0.207407 0.000000 \n", "4 0 0 0.333333 0.000000 \n", "5 0 0 0.253968 0.000000 \n", "6 0 1 0.182540 0.000000 \n", "7 0 0 0.205479 0.000000 \n", "8 0 0 0.224138 0.017241 \n", "9 0 0 0.272727 0.000000 \n", "10 0 0 0.227273 0.000000 \n", "11 0 0 0.230088 0.000000 \n", "12 0 0 0.304878 0.000000 \n", "13 0 0 0.212903 0.006452 \n", "14 0 0 0.235294 0.000000 \n", "15 0 0 0.261438 0.013072 \n", "16 0 0 0.252252 0.000000 \n", "17 0 0 0.400000 0.000000 \n", "18 0 0 0.181818 0.090909 \n", "19 0 0 0.216000 0.000000 \n", "20 0 0 0.226667 0.000000 \n", "21 0 0 0.179487 0.000000 \n", "22 0 0 0.220000 0.000000 \n", "23 0 0 0.322581 0.064516 \n", "24 0 0 0.142857 0.000000 \n", "25 0 0 0.240602 0.000000 \n", "26 0 0 0.250000 0.000000 \n", "27 0 0 0.275862 0.000000 \n", "28 0 0 0.297872 0.035461 \n", "29 0 0 0.235294 0.000000 \n", "... ... ... ... ... \n", "1464 0 1 0.254658 0.099379 \n", "1465 0 0 0.224490 0.068027 \n", "1466 0 1 0.217949 0.160256 \n", "1467 0 1 0.242647 0.161765 \n", "1468 1 0 0.222930 0.114650 \n", "1469 0 0 0.153153 0.207207 \n", "1470 0 1 0.212121 0.151515 \n", "1471 0 0 0.230769 0.179487 \n", "1472 0 0 0.191781 0.000000 \n", "1473 0 0 0.228814 0.144068 \n", "1474 0 0 0.232044 0.060773 \n", "1475 0 1 0.174497 0.167785 \n", "1476 0 1 0.190909 0.290909 \n", "1477 0 0 0.222222 0.246032 \n", "1478 0 0 0.217687 0.136054 \n", "1479 0 0 0.135593 0.355932 \n", "1480 0 0 0.243243 0.072072 \n", "1481 0 0 0.194030 0.216418 \n", "1482 0 0 0.187500 0.250000 \n", "1483 0 1 0.226950 0.205674 \n", "1484 0 0 0.223684 0.184211 \n", "1485 0 0 0.215116 0.127907 \n", "1486 0 1 0.219355 0.129032 \n", "1487 0 0 0.188811 0.097902 \n", "1488 0 0 0.243243 0.067568 \n", "1489 0 0 0.238532 0.073394 \n", "1490 0 1 0.229508 0.188525 \n", "1491 0 0 0.200000 0.051613 \n", "1492 0 0 0.201493 0.126866 \n", "1493 0 0 0.133333 0.166667 \n", "\n", " words per msg length label \n", "0 0.217391 ham \n", "1 0.169811 ham \n", "2 0.093750 ham \n", "3 0.200000 ham \n", "4 0.222222 ham \n", "5 0.238095 ham \n", "6 0.166667 ham \n", "7 0.191781 ham \n", "8 0.206897 ham \n", "9 0.227273 ham \n", "10 0.181818 ham \n", "11 0.221239 ham \n", "12 0.207317 ham \n", "13 0.193548 ham \n", "14 0.235294 ham \n", "15 0.222222 ham \n", "16 0.180180 ham \n", "17 0.200000 ham \n", "18 0.181818 ham \n", "19 0.144000 ham \n", "20 0.186667 ham \n", "21 0.179487 ham \n", "22 0.220000 ham \n", "23 0.225806 ham \n", "24 0.178571 ham \n", "25 0.225564 ham \n", "26 0.138889 ham \n", "27 0.172414 ham \n", "28 0.177305 ham \n", "29 0.235294 ham \n", "... ... ... \n", "1464 0.186335 spam \n", "1465 0.176871 spam \n", "1466 0.153846 spam \n", "1467 0.191176 spam \n", "1468 0.165605 spam \n", "1469 0.135135 spam \n", "1470 0.191919 spam \n", "1471 0.179487 spam \n", "1472 0.164384 spam \n", "1473 0.203390 spam \n", "1474 0.165746 spam \n", "1475 0.154362 spam \n", "1476 0.163636 spam \n", "1477 0.166667 spam \n", "1478 0.197279 spam \n", "1479 0.152542 spam \n", "1480 0.180180 spam \n", "1481 0.134328 spam \n", "1482 0.166667 spam \n", "1483 0.191489 spam \n", "1484 0.164474 spam \n", "1485 0.191860 spam \n", "1486 0.167742 spam \n", "1487 0.195804 spam \n", "1488 0.195946 spam \n", "1489 0.201835 spam \n", "1490 0.155738 spam \n", "1491 0.180645 spam \n", "1492 0.186567 spam \n", "1493 0.100000 spam \n", "\n", "[1494 rows x 10 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('https://s3.amazonaws.com/syaffers-stuff/datasets/sms-spam-dataset-sample.csv')\n", "df" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", " intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n", " penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n", " verbose=0, warm_start=False)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.linear_model import LogisticRegression\n", "\n", "classifier = LogisticRegression()\n", "classifier" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[3.7, 0, 0, ..., 0.2826086956521739, 0.0, 0.21739130434782608],\n", " [5.0, 0, 0, ..., 0.2641509433962264, 0.0, 0.16981132075471694],\n", " [10.0, 0, 0, ..., 0.1875, 0.0, 0.09375],\n", " ..., \n", " [4.571428571428571, 0, 0, ..., 0.2, 0.05161290322580645,\n", " 0.18064516129032254],\n", " [4.4, 0, 0, ..., 0.20149253731343286, 0.12686567164179105,\n", " 0.1865671641791045],\n", " [9.333333333333334, 0, 0, ..., 0.13333333333333333,\n", " 0.16666666666666666, 0.1]], dtype=object)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# all rows, all columns, except last\n", "# training data\n", "X = df.values[:, :-1]\n", "X" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ True, True, True, ..., False, False, False], dtype=bool)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# take all labels, then set ham to True\n", "Y = df.values[:, -1]\n", "Y = (Y == 'ham')\n", "Y" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", " intercept_scaling=1, max_iter=100, multi_class='ovr', n_jobs=1,\n", " penalty='l2', random_state=None, solver='liblinear', tol=0.0001,\n", " verbose=0, warm_start=False)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "classifier.fit(X, Y)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ True, True, False, ..., True, False, False], dtype=bool)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Y_prediction = classifier.predict(X)\n", "Y_prediction" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.88152610441767065" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.metrics import accuracy_score\n", "\n", "accuracy_score(Y, Y_prediction)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nxwAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot.scatter('avg word length', 'non alnum pct', c=Y, cmap='viridis')" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.plot.scatter('avg word length', 'non alnum pct', c=Y_prediction, cmap='viridis')" ] }, { "cell_type": "code", "execution_count": 21, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
avg word lengthhas word cashhas word claimhas word freehas word prizehas word winnon alnum pctnumerical pctwords per msg lengthlabel
210.000000000000.1875000.0000000.093750ham
65.047619000010.1825400.0000000.166667ham
153.529412001000.2614380.0130720.222222ham
185.000000000000.1818180.0909090.181818ham
266.400000000000.2500000.0000000.138889ham
384.666667001000.2121210.0000000.181818ham
426.500000000000.1724140.0000000.137931ham
674.111111000020.2444440.0000000.200000ham
817.500000000000.1212120.0000000.121212ham
876.250000000000.1428570.0000000.142857ham
896.882353000000.1578950.0000000.127820ham
1585.818182000000.1351350.0000000.148649ham
1928.000000000000.3750000.0000000.125000ham
1964.888889000010.1923080.0000000.173077ham
2036.600000000000.2162160.0000000.135135ham
2288.200000000000.2666670.0000000.111111ham
2465.923077000000.1910110.0000000.146067ham
2496.000000000000.1851850.0000000.148148ham
2515.833333000000.1728400.0000000.148148ham
2596.363636000000.1750000.0000000.137500ham
2625.000000001000.2000000.0000000.171429ham
3064.500000001000.3333330.0000000.190476ham
3577.750000000000.0882350.0000000.117647ham
3755.400000000000.1612900.0322580.161290ham
3955.944444000000.1935480.0000000.145161ham
4147.000000000000.1794870.0000000.128205ham
4335.800000000000.1515150.0000000.151515ham
4476.260870000000.2168670.0000000.138554ham
4686.666667000000.1818180.0000000.136364ham
4748.500000000000.0810810.0000000.108108ham
.................................
13394.100000000000.2368420.0131580.197368spam
13415.400000000000.2204720.0000000.157480spam
13503.735294000000.2250000.0750000.212500spam
13554.413793000000.2307690.0448720.185897spam
13565.083333000000.2361110.0277780.166667spam
13603.629630000000.2177420.0000000.217742spam
13623.900000000000.2671230.0273970.205479spam
13683.937500000000.2484080.0191080.203822spam
13753.625000000000.2721090.0272110.217687spam
13894.300000000000.1730770.0384620.192308spam
14024.450000000000.2037040.0462960.185185spam
14033.645161000000.2587410.0979020.216783spam
14074.034483000000.2137930.0620690.200000spam
14124.814815000000.1858970.0064100.173077spam
14183.818182000000.2468350.0886080.208861spam
14223.812500000000.2222220.0849670.209150spam
14274.321429000000.2094590.0202700.189189spam
14303.473684000000.2261900.0000000.226190spam
14314.400000000000.2111800.0496890.186335spam
14333.542857000000.2721520.0886080.221519spam
14364.535714000000.2337660.0129870.181818spam
14414.538462000000.2097900.0349650.181818spam
14563.896552000010.2198580.0141840.205674spam
14584.870968000000.2154700.0055250.171271spam
14613.615385000000.2521010.0924370.218487spam
14623.757576000000.2564100.0448720.211538spam
14725.166667000000.1917810.0000000.164384spam
14804.600000000000.2432430.0720720.180180spam
14894.000000000000.2385320.0733940.201835spam
14914.571429000000.2000000.0516130.180645spam
\n", "

177 rows × 10 columns

\n", "
" ], "text/plain": [ " avg word length has word cash has word claim has word free \\\n", "2 10.000000 0 0 0 \n", "6 5.047619 0 0 0 \n", "15 3.529412 0 0 1 \n", "18 5.000000 0 0 0 \n", "26 6.400000 0 0 0 \n", "38 4.666667 0 0 1 \n", "42 6.500000 0 0 0 \n", "67 4.111111 0 0 0 \n", "81 7.500000 0 0 0 \n", "87 6.250000 0 0 0 \n", "89 6.882353 0 0 0 \n", "158 5.818182 0 0 0 \n", "192 8.000000 0 0 0 \n", "196 4.888889 0 0 0 \n", "203 6.600000 0 0 0 \n", "228 8.200000 0 0 0 \n", "246 5.923077 0 0 0 \n", "249 6.000000 0 0 0 \n", "251 5.833333 0 0 0 \n", "259 6.363636 0 0 0 \n", "262 5.000000 0 0 1 \n", "306 4.500000 0 0 1 \n", "357 7.750000 0 0 0 \n", "375 5.400000 0 0 0 \n", "395 5.944444 0 0 0 \n", "414 7.000000 0 0 0 \n", "433 5.800000 0 0 0 \n", "447 6.260870 0 0 0 \n", "468 6.666667 0 0 0 \n", "474 8.500000 0 0 0 \n", "... ... ... ... ... \n", "1339 4.100000 0 0 0 \n", "1341 5.400000 0 0 0 \n", "1350 3.735294 0 0 0 \n", "1355 4.413793 0 0 0 \n", "1356 5.083333 0 0 0 \n", "1360 3.629630 0 0 0 \n", "1362 3.900000 0 0 0 \n", "1368 3.937500 0 0 0 \n", "1375 3.625000 0 0 0 \n", "1389 4.300000 0 0 0 \n", "1402 4.450000 0 0 0 \n", "1403 3.645161 0 0 0 \n", "1407 4.034483 0 0 0 \n", "1412 4.814815 0 0 0 \n", "1418 3.818182 0 0 0 \n", "1422 3.812500 0 0 0 \n", "1427 4.321429 0 0 0 \n", "1430 3.473684 0 0 0 \n", "1431 4.400000 0 0 0 \n", "1433 3.542857 0 0 0 \n", "1436 4.535714 0 0 0 \n", "1441 4.538462 0 0 0 \n", "1456 3.896552 0 0 0 \n", "1458 4.870968 0 0 0 \n", "1461 3.615385 0 0 0 \n", "1462 3.757576 0 0 0 \n", "1472 5.166667 0 0 0 \n", "1480 4.600000 0 0 0 \n", "1489 4.000000 0 0 0 \n", "1491 4.571429 0 0 0 \n", "\n", " has word prize has word win non alnum pct numerical pct \\\n", "2 0 0 0.187500 0.000000 \n", "6 0 1 0.182540 0.000000 \n", "15 0 0 0.261438 0.013072 \n", "18 0 0 0.181818 0.090909 \n", "26 0 0 0.250000 0.000000 \n", "38 0 0 0.212121 0.000000 \n", "42 0 0 0.172414 0.000000 \n", "67 0 2 0.244444 0.000000 \n", "81 0 0 0.121212 0.000000 \n", "87 0 0 0.142857 0.000000 \n", "89 0 0 0.157895 0.000000 \n", "158 0 0 0.135135 0.000000 \n", "192 0 0 0.375000 0.000000 \n", "196 0 1 0.192308 0.000000 \n", "203 0 0 0.216216 0.000000 \n", "228 0 0 0.266667 0.000000 \n", "246 0 0 0.191011 0.000000 \n", "249 0 0 0.185185 0.000000 \n", "251 0 0 0.172840 0.000000 \n", "259 0 0 0.175000 0.000000 \n", "262 0 0 0.200000 0.000000 \n", "306 0 0 0.333333 0.000000 \n", "357 0 0 0.088235 0.000000 \n", "375 0 0 0.161290 0.032258 \n", "395 0 0 0.193548 0.000000 \n", "414 0 0 0.179487 0.000000 \n", "433 0 0 0.151515 0.000000 \n", "447 0 0 0.216867 0.000000 \n", "468 0 0 0.181818 0.000000 \n", "474 0 0 0.081081 0.000000 \n", "... ... ... ... ... \n", "1339 0 0 0.236842 0.013158 \n", "1341 0 0 0.220472 0.000000 \n", "1350 0 0 0.225000 0.075000 \n", "1355 0 0 0.230769 0.044872 \n", "1356 0 0 0.236111 0.027778 \n", "1360 0 0 0.217742 0.000000 \n", "1362 0 0 0.267123 0.027397 \n", "1368 0 0 0.248408 0.019108 \n", "1375 0 0 0.272109 0.027211 \n", "1389 0 0 0.173077 0.038462 \n", "1402 0 0 0.203704 0.046296 \n", "1403 0 0 0.258741 0.097902 \n", "1407 0 0 0.213793 0.062069 \n", "1412 0 0 0.185897 0.006410 \n", "1418 0 0 0.246835 0.088608 \n", "1422 0 0 0.222222 0.084967 \n", "1427 0 0 0.209459 0.020270 \n", "1430 0 0 0.226190 0.000000 \n", "1431 0 0 0.211180 0.049689 \n", "1433 0 0 0.272152 0.088608 \n", "1436 0 0 0.233766 0.012987 \n", "1441 0 0 0.209790 0.034965 \n", "1456 0 1 0.219858 0.014184 \n", "1458 0 0 0.215470 0.005525 \n", "1461 0 0 0.252101 0.092437 \n", "1462 0 0 0.256410 0.044872 \n", "1472 0 0 0.191781 0.000000 \n", "1480 0 0 0.243243 0.072072 \n", "1489 0 0 0.238532 0.073394 \n", "1491 0 0 0.200000 0.051613 \n", "\n", " words per msg length label \n", "2 0.093750 ham \n", "6 0.166667 ham \n", "15 0.222222 ham \n", "18 0.181818 ham \n", "26 0.138889 ham \n", "38 0.181818 ham \n", "42 0.137931 ham \n", "67 0.200000 ham \n", "81 0.121212 ham \n", "87 0.142857 ham \n", "89 0.127820 ham \n", "158 0.148649 ham \n", "192 0.125000 ham \n", "196 0.173077 ham \n", "203 0.135135 ham \n", "228 0.111111 ham \n", "246 0.146067 ham \n", "249 0.148148 ham \n", "251 0.148148 ham \n", "259 0.137500 ham \n", "262 0.171429 ham \n", "306 0.190476 ham \n", "357 0.117647 ham \n", "375 0.161290 ham \n", "395 0.145161 ham \n", "414 0.128205 ham \n", "433 0.151515 ham \n", "447 0.138554 ham \n", "468 0.136364 ham \n", "474 0.108108 ham \n", "... ... ... \n", "1339 0.197368 spam \n", "1341 0.157480 spam \n", "1350 0.212500 spam \n", "1355 0.185897 spam \n", "1356 0.166667 spam \n", "1360 0.217742 spam \n", "1362 0.205479 spam \n", "1368 0.203822 spam \n", "1375 0.217687 spam \n", "1389 0.192308 spam \n", "1402 0.185185 spam \n", "1403 0.216783 spam \n", "1407 0.200000 spam \n", "1412 0.173077 spam \n", "1418 0.208861 spam \n", "1422 0.209150 spam \n", "1427 0.189189 spam \n", "1430 0.226190 spam \n", "1431 0.186335 spam \n", "1433 0.221519 spam \n", "1436 0.181818 spam \n", "1441 0.181818 spam \n", "1456 0.205674 spam \n", "1458 0.171271 spam \n", "1461 0.218487 spam \n", "1462 0.211538 spam \n", "1472 0.164384 spam \n", "1480 0.180180 spam \n", "1489 0.201835 spam \n", "1491 0.180645 spam \n", "\n", "[177 rows x 10 columns]" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[~(Y_prediction == Y)]" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.99531459170013392" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.neighbors import KNeighborsClassifier\n", "\n", "classifier = KNeighborsClassifier(1)\n", "classifier.fit(X, Y)\n", "Y_prediction = classifier.predict(X)\n", "accuracy_score(Y, Y_prediction)" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.94377510040160639" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.tree import DecisionTreeClassifier\n", "\n", "classifier = DecisionTreeClassifier(max_depth=3)\n", "classifier.fit(X, Y)\n", "Y_prediction = classifier.predict(X)\n", "accuracy_score(Y, Y_prediction)" ] }, { "cell_type": "code", "execution_count": 24, "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
fixed acidityvolatile aciditycitric acidresidual sugarchloridesfree sulfur dioxidetotal sulfur dioxidedensitypHsulphatesalcoholqualitytype
07.70.9600.202.000.04715.060.00.995503.360.4410.905r
16.70.6700.021.900.06126.042.00.994893.390.8210.906r
27.70.6000.062.000.07919.041.00.996973.390.6210.106r
36.80.6700.151.800.11813.020.00.995403.420.6711.306r
412.50.3800.602.600.08131.072.00.999603.100.7310.505r
56.80.5900.101.700.06334.053.00.995803.410.679.705r
610.90.3200.521.800.13217.044.00.997343.280.7711.506r
710.70.5200.382.600.06629.056.00.995773.150.7912.107r
810.50.3900.462.200.07514.027.00.995983.060.8411.406r
97.10.8750.055.700.0823.014.00.998083.400.5210.203r
108.00.7450.562.000.11830.0134.00.996803.240.669.405r
117.60.6450.031.900.08614.057.00.996903.370.4610.305r
127.80.4600.261.900.08823.053.00.998103.430.749.206r
137.40.2500.292.200.05419.049.00.996663.400.7610.907r
149.90.4900.583.500.0949.043.01.000403.290.589.005r
155.40.7400.091.700.08916.026.00.994023.670.5611.606r
1610.00.5600.242.200.07919.058.00.999103.180.5610.106r
179.50.8850.272.300.08431.0145.00.997803.240.539.405r
1812.00.2800.491.900.07410.021.00.997602.980.669.907r
199.00.3600.522.100.1115.010.00.995683.310.6211.306r
207.70.2700.683.500.3585.010.00.997203.251.089.907r
218.30.6500.102.900.08917.040.00.998033.290.559.505r
227.40.2900.381.700.0629.030.00.996803.410.539.506r
237.30.4500.365.900.07412.087.00.997803.330.8310.505r
247.50.7550.001.900.0846.012.00.996723.340.499.704r
259.90.7200.551.700.13624.052.00.997523.350.9410.005r
267.80.5000.092.200.11510.042.00.997103.180.629.505r
278.20.5000.352.900.07721.0127.00.997603.230.629.405r
2810.50.3600.472.200.0749.023.00.996383.230.7612.006r
297.40.3700.432.600.08218.082.00.997083.330.689.706r
..........................................
29705.80.2700.207.300.04042.0145.00.994423.150.489.805y
29716.30.2300.331.500.03615.0105.00.991003.320.4211.206y
29727.20.1900.463.800.04182.0187.00.993203.190.6011.207y
29737.50.3000.711.300.16044.0149.00.994803.080.428.905y
29746.60.5500.012.700.03456.0122.00.990603.150.3011.905y
29756.00.2800.2417.800.04742.0111.00.998963.100.458.906y
29766.40.2800.2711.000.04245.0148.00.997863.140.468.705y
29776.50.3300.303.800.03634.088.00.990283.250.6312.507y
29787.80.3200.3310.400.03147.0194.00.996923.070.589.606y
29797.40.2000.356.100.02510.040.00.992442.790.5210.905y
29808.30.2100.4919.800.05450.0231.01.001202.990.549.205y
29815.80.4200.302.200.03526.0129.00.989003.320.4712.906y
29827.10.2000.279.600.03719.0105.00.994443.040.3710.507y
29839.80.1600.461.800.04623.0130.00.995873.040.679.605y
29848.10.2000.402.000.03719.087.00.992103.120.5411.206y
29856.80.3400.368.900.02944.0128.00.993183.280.3511.957y
29866.30.3200.3511.100.03929.0198.00.998403.360.509.407y
29877.60.4800.319.400.0466.0194.00.997143.070.619.405y
29886.80.2800.2911.900.05251.0149.00.995443.020.5810.406y
29896.90.4300.289.400.05629.0183.00.995943.170.439.405y
29907.20.4000.248.500.05545.0151.00.996263.200.529.205y
29916.80.3500.5310.100.05337.0151.00.996303.070.409.405y
29926.90.1900.3513.500.03849.0118.00.995463.000.6310.706y
29937.60.3200.5816.750.05043.0163.00.999903.150.549.205y
29947.80.3000.741.800.03333.0156.00.991003.290.5212.806y
29956.90.1900.3119.250.04338.0167.00.999542.930.529.107y
29966.40.3700.193.500.06818.0101.00.993403.030.389.006y
29977.30.2300.371.800.03260.0156.00.992003.110.3511.106y
29988.00.5500.178.200.04013.060.00.995603.090.309.504y
29996.60.3800.369.200.06142.0214.00.997603.310.569.405y
\n", "

3000 rows × 13 columns

\n", "
" ], "text/plain": [ " fixed acidity volatile acidity citric acid residual sugar chlorides \\\n", "0 7.7 0.960 0.20 2.00 0.047 \n", "1 6.7 0.670 0.02 1.90 0.061 \n", "2 7.7 0.600 0.06 2.00 0.079 \n", "3 6.8 0.670 0.15 1.80 0.118 \n", "4 12.5 0.380 0.60 2.60 0.081 \n", "5 6.8 0.590 0.10 1.70 0.063 \n", "6 10.9 0.320 0.52 1.80 0.132 \n", "7 10.7 0.520 0.38 2.60 0.066 \n", "8 10.5 0.390 0.46 2.20 0.075 \n", "9 7.1 0.875 0.05 5.70 0.082 \n", "10 8.0 0.745 0.56 2.00 0.118 \n", "11 7.6 0.645 0.03 1.90 0.086 \n", "12 7.8 0.460 0.26 1.90 0.088 \n", "13 7.4 0.250 0.29 2.20 0.054 \n", "14 9.9 0.490 0.58 3.50 0.094 \n", "15 5.4 0.740 0.09 1.70 0.089 \n", "16 10.0 0.560 0.24 2.20 0.079 \n", "17 9.5 0.885 0.27 2.30 0.084 \n", "18 12.0 0.280 0.49 1.90 0.074 \n", "19 9.0 0.360 0.52 2.10 0.111 \n", "20 7.7 0.270 0.68 3.50 0.358 \n", "21 8.3 0.650 0.10 2.90 0.089 \n", "22 7.4 0.290 0.38 1.70 0.062 \n", "23 7.3 0.450 0.36 5.90 0.074 \n", "24 7.5 0.755 0.00 1.90 0.084 \n", "25 9.9 0.720 0.55 1.70 0.136 \n", "26 7.8 0.500 0.09 2.20 0.115 \n", "27 8.2 0.500 0.35 2.90 0.077 \n", "28 10.5 0.360 0.47 2.20 0.074 \n", "29 7.4 0.370 0.43 2.60 0.082 \n", "... ... ... ... ... ... \n", "2970 5.8 0.270 0.20 7.30 0.040 \n", "2971 6.3 0.230 0.33 1.50 0.036 \n", "2972 7.2 0.190 0.46 3.80 0.041 \n", "2973 7.5 0.300 0.71 1.30 0.160 \n", "2974 6.6 0.550 0.01 2.70 0.034 \n", "2975 6.0 0.280 0.24 17.80 0.047 \n", "2976 6.4 0.280 0.27 11.00 0.042 \n", "2977 6.5 0.330 0.30 3.80 0.036 \n", "2978 7.8 0.320 0.33 10.40 0.031 \n", "2979 7.4 0.200 0.35 6.10 0.025 \n", "2980 8.3 0.210 0.49 19.80 0.054 \n", "2981 5.8 0.420 0.30 2.20 0.035 \n", "2982 7.1 0.200 0.27 9.60 0.037 \n", "2983 9.8 0.160 0.46 1.80 0.046 \n", "2984 8.1 0.200 0.40 2.00 0.037 \n", "2985 6.8 0.340 0.36 8.90 0.029 \n", "2986 6.3 0.320 0.35 11.10 0.039 \n", "2987 7.6 0.480 0.31 9.40 0.046 \n", "2988 6.8 0.280 0.29 11.90 0.052 \n", "2989 6.9 0.430 0.28 9.40 0.056 \n", "2990 7.2 0.400 0.24 8.50 0.055 \n", "2991 6.8 0.350 0.53 10.10 0.053 \n", "2992 6.9 0.190 0.35 13.50 0.038 \n", "2993 7.6 0.320 0.58 16.75 0.050 \n", "2994 7.8 0.300 0.74 1.80 0.033 \n", "2995 6.9 0.190 0.31 19.25 0.043 \n", "2996 6.4 0.370 0.19 3.50 0.068 \n", "2997 7.3 0.230 0.37 1.80 0.032 \n", "2998 8.0 0.550 0.17 8.20 0.040 \n", "2999 6.6 0.380 0.36 9.20 0.061 \n", "\n", " free sulfur dioxide total sulfur dioxide density pH sulphates \\\n", "0 15.0 60.0 0.99550 3.36 0.44 \n", "1 26.0 42.0 0.99489 3.39 0.82 \n", "2 19.0 41.0 0.99697 3.39 0.62 \n", "3 13.0 20.0 0.99540 3.42 0.67 \n", "4 31.0 72.0 0.99960 3.10 0.73 \n", "5 34.0 53.0 0.99580 3.41 0.67 \n", "6 17.0 44.0 0.99734 3.28 0.77 \n", "7 29.0 56.0 0.99577 3.15 0.79 \n", "8 14.0 27.0 0.99598 3.06 0.84 \n", "9 3.0 14.0 0.99808 3.40 0.52 \n", "10 30.0 134.0 0.99680 3.24 0.66 \n", "11 14.0 57.0 0.99690 3.37 0.46 \n", "12 23.0 53.0 0.99810 3.43 0.74 \n", "13 19.0 49.0 0.99666 3.40 0.76 \n", "14 9.0 43.0 1.00040 3.29 0.58 \n", "15 16.0 26.0 0.99402 3.67 0.56 \n", "16 19.0 58.0 0.99910 3.18 0.56 \n", "17 31.0 145.0 0.99780 3.24 0.53 \n", "18 10.0 21.0 0.99760 2.98 0.66 \n", "19 5.0 10.0 0.99568 3.31 0.62 \n", "20 5.0 10.0 0.99720 3.25 1.08 \n", "21 17.0 40.0 0.99803 3.29 0.55 \n", "22 9.0 30.0 0.99680 3.41 0.53 \n", "23 12.0 87.0 0.99780 3.33 0.83 \n", "24 6.0 12.0 0.99672 3.34 0.49 \n", "25 24.0 52.0 0.99752 3.35 0.94 \n", "26 10.0 42.0 0.99710 3.18 0.62 \n", "27 21.0 127.0 0.99760 3.23 0.62 \n", "28 9.0 23.0 0.99638 3.23 0.76 \n", "29 18.0 82.0 0.99708 3.33 0.68 \n", "... ... ... ... ... ... \n", "2970 42.0 145.0 0.99442 3.15 0.48 \n", "2971 15.0 105.0 0.99100 3.32 0.42 \n", "2972 82.0 187.0 0.99320 3.19 0.60 \n", "2973 44.0 149.0 0.99480 3.08 0.42 \n", "2974 56.0 122.0 0.99060 3.15 0.30 \n", "2975 42.0 111.0 0.99896 3.10 0.45 \n", "2976 45.0 148.0 0.99786 3.14 0.46 \n", "2977 34.0 88.0 0.99028 3.25 0.63 \n", "2978 47.0 194.0 0.99692 3.07 0.58 \n", "2979 10.0 40.0 0.99244 2.79 0.52 \n", "2980 50.0 231.0 1.00120 2.99 0.54 \n", "2981 26.0 129.0 0.98900 3.32 0.47 \n", "2982 19.0 105.0 0.99444 3.04 0.37 \n", "2983 23.0 130.0 0.99587 3.04 0.67 \n", "2984 19.0 87.0 0.99210 3.12 0.54 \n", "2985 44.0 128.0 0.99318 3.28 0.35 \n", "2986 29.0 198.0 0.99840 3.36 0.50 \n", "2987 6.0 194.0 0.99714 3.07 0.61 \n", "2988 51.0 149.0 0.99544 3.02 0.58 \n", "2989 29.0 183.0 0.99594 3.17 0.43 \n", "2990 45.0 151.0 0.99626 3.20 0.52 \n", "2991 37.0 151.0 0.99630 3.07 0.40 \n", "2992 49.0 118.0 0.99546 3.00 0.63 \n", "2993 43.0 163.0 0.99990 3.15 0.54 \n", "2994 33.0 156.0 0.99100 3.29 0.52 \n", "2995 38.0 167.0 0.99954 2.93 0.52 \n", "2996 18.0 101.0 0.99340 3.03 0.38 \n", "2997 60.0 156.0 0.99200 3.11 0.35 \n", "2998 13.0 60.0 0.99560 3.09 0.30 \n", "2999 42.0 214.0 0.99760 3.31 0.56 \n", "\n", " alcohol quality type \n", "0 10.90 5 r \n", "1 10.90 6 r \n", "2 10.10 6 r \n", "3 11.30 6 r \n", "4 10.50 5 r \n", "5 9.70 5 r \n", "6 11.50 6 r \n", "7 12.10 7 r \n", "8 11.40 6 r \n", "9 10.20 3 r \n", "10 9.40 5 r \n", "11 10.30 5 r \n", "12 9.20 6 r \n", "13 10.90 7 r \n", "14 9.00 5 r \n", "15 11.60 6 r \n", "16 10.10 6 r \n", "17 9.40 5 r \n", "18 9.90 7 r \n", "19 11.30 6 r \n", "20 9.90 7 r \n", "21 9.50 5 r \n", "22 9.50 6 r \n", "23 10.50 5 r \n", "24 9.70 4 r \n", "25 10.00 5 r \n", "26 9.50 5 r \n", "27 9.40 5 r \n", "28 12.00 6 r \n", "29 9.70 6 r \n", "... ... ... ... \n", "2970 9.80 5 y \n", "2971 11.20 6 y \n", "2972 11.20 7 y \n", "2973 8.90 5 y \n", "2974 11.90 5 y \n", "2975 8.90 6 y \n", "2976 8.70 5 y \n", "2977 12.50 7 y \n", "2978 9.60 6 y \n", "2979 10.90 5 y \n", "2980 9.20 5 y \n", "2981 12.90 6 y \n", "2982 10.50 7 y \n", "2983 9.60 5 y \n", "2984 11.20 6 y \n", "2985 11.95 7 y \n", "2986 9.40 7 y \n", "2987 9.40 5 y \n", "2988 10.40 6 y \n", "2989 9.40 5 y \n", "2990 9.20 5 y \n", "2991 9.40 5 y \n", "2992 10.70 6 y \n", "2993 9.20 5 y \n", "2994 12.80 6 y \n", "2995 9.10 7 y \n", "2996 9.00 6 y \n", "2997 11.10 6 y \n", "2998 9.50 4 y \n", "2999 9.40 5 y \n", "\n", "[3000 rows x 13 columns]" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('https://s3.amazonaws.com/syaffers-stuff/datasets/wine-dataset-sample.csv') # change me!\n", "df" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[7.7, 0.96, 0.2, ..., 3.36, 0.44, 10.9],\n", " [6.7, 0.67, 0.02, ..., 3.39, 0.82, 10.9],\n", " [7.7, 0.6, 0.06, ..., 3.39, 0.62, 10.1],\n", " ..., \n", " [7.3, 0.23, 0.37, ..., 3.11, 0.35, 11.1],\n", " [8.0, 0.55, 0.17, ..., 3.09, 0.3, 9.5],\n", " [6.6, 0.38, 0.36, ..., 3.31, 0.56, 9.4]], dtype=object)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "X = df.values[:, :-2]\n", "X" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/syafiq/Anaconda/lib/python3.6/site-packages/sklearn/utils/validation.py:475: DataConversionWarning: Data with input dtype object was converted to float64 by the scale function.\n", " warnings.warn(msg, DataConversionWarning)\n" ] }, { "data": { "text/plain": [ "array([[ 1.64939048, -1.27270889],\n", " [ 1.72387887, -1.52315228],\n", " [ 1.82255958, -0.62498651],\n", " ..., \n", " [-2.69102951, -0.74432354],\n", " [-0.17004985, 0.16943726],\n", " [-1.82072379, 1.13598385]])" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sklearn.preprocessing import scale\n", "from sklearn.decomposition import PCA\n", "\n", "X_t = PCA(n_components=2).fit_transform(scale(X))\n", "X_t" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nWxUoPOMaidUAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(X_t.T[0], X_t.T[1], c=df['type'])" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/syafiq/Anaconda/lib/python3.6/site-packages/sklearn/utils/validation.py:475: DataConversionWarning: Data with input dtype object was converted to float64 by the scale function.\n", " warnings.warn(msg, DataConversionWarning)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df = pd.read_csv('/home/syafiq/Python/sms-spam/sms-spam-dataset-sample.csv')\n", "X = df.values[:, :-1]\n", "\n", "from sklearn.preprocessing import scale\n", "from sklearn.decomposition import PCA\n", "\n", "X_t = PCA(n_components=2).fit_transform(scale(X))\n", "plt.scatter(X_t.T[0], X_t.T[1], c=(df['label']=='ham'), cmap='viridis')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }