├── Image to Text Conversion & Extraction - OCR ├── test.JPG └── Image to text (OCR).ipynb ├── README.md ├── Iris dataset analysis - Classification ├── Iris.csv └── Iris Dataset Analysis - Classification.ipynb └── Heart Disease Prediction └── heart.csv /Image to Text Conversion & Extraction - OCR/test.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mahalakshmee/Machine-Learning-Projects/HEAD/Image to Text Conversion & Extraction - OCR/test.JPG -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Machine Learning Projects 2 | 3 | Welcome to my Machine Learning Projects repository! 4 | In this repository I will upload my machine learning projects that cover various topics and applications. 5 | -------------------------------------------------------------------------------- /Iris dataset analysis - Classification/Iris.csv: -------------------------------------------------------------------------------- 1 | Id,SepalLengthCm,SepalWidthCm,PetalLengthCm,PetalWidthCm,Species 2 | 1,5.1,3.5,1.4,0.2,Iris-setosa 3 | 2,4.9,3.0,1.4,0.2,Iris-setosa 4 | 3,4.7,3.2,1.3,0.2,Iris-setosa 5 | 4,4.6,3.1,1.5,0.2,Iris-setosa 6 | 5,5.0,3.6,1.4,0.2,Iris-setosa 7 | 6,5.4,3.9,1.7,0.4,Iris-setosa 8 | 7,4.6,3.4,1.4,0.3,Iris-setosa 9 | 8,5.0,3.4,1.5,0.2,Iris-setosa 10 | 9,4.4,2.9,1.4,0.2,Iris-setosa 11 | 10,4.9,3.1,1.5,0.1,Iris-setosa 12 | 11,5.4,3.7,1.5,0.2,Iris-setosa 13 | 12,4.8,3.4,1.6,0.2,Iris-setosa 14 | 13,4.8,3.0,1.4,0.1,Iris-setosa 15 | 14,4.3,3.0,1.1,0.1,Iris-setosa 16 | 15,5.8,4.0,1.2,0.2,Iris-setosa 17 | 16,5.7,4.4,1.5,0.4,Iris-setosa 18 | 17,5.4,3.9,1.3,0.4,Iris-setosa 19 | 18,5.1,3.5,1.4,0.3,Iris-setosa 20 | 19,5.7,3.8,1.7,0.3,Iris-setosa 21 | 20,5.1,3.8,1.5,0.3,Iris-setosa 22 | 21,5.4,3.4,1.7,0.2,Iris-setosa 23 | 22,5.1,3.7,1.5,0.4,Iris-setosa 24 | 23,4.6,3.6,1.0,0.2,Iris-setosa 25 | 24,5.1,3.3,1.7,0.5,Iris-setosa 26 | 25,4.8,3.4,1.9,0.2,Iris-setosa 27 | 26,5.0,3.0,1.6,0.2,Iris-setosa 28 | 27,5.0,3.4,1.6,0.4,Iris-setosa 29 | 28,5.2,3.5,1.5,0.2,Iris-setosa 30 | 29,5.2,3.4,1.4,0.2,Iris-setosa 31 | 30,4.7,3.2,1.6,0.2,Iris-setosa 32 | 31,4.8,3.1,1.6,0.2,Iris-setosa 33 | 32,5.4,3.4,1.5,0.4,Iris-setosa 34 | 33,5.2,4.1,1.5,0.1,Iris-setosa 35 | 34,5.5,4.2,1.4,0.2,Iris-setosa 36 | 35,4.9,3.1,1.5,0.1,Iris-setosa 37 | 36,5.0,3.2,1.2,0.2,Iris-setosa 38 | 37,5.5,3.5,1.3,0.2,Iris-setosa 39 | 38,4.9,3.1,1.5,0.1,Iris-setosa 40 | 39,4.4,3.0,1.3,0.2,Iris-setosa 41 | 40,5.1,3.4,1.5,0.2,Iris-setosa 42 | 41,5.0,3.5,1.3,0.3,Iris-setosa 43 | 42,4.5,2.3,1.3,0.3,Iris-setosa 44 | 43,4.4,3.2,1.3,0.2,Iris-setosa 45 | 44,5.0,3.5,1.6,0.6,Iris-setosa 46 | 45,5.1,3.8,1.9,0.4,Iris-setosa 47 | 46,4.8,3.0,1.4,0.3,Iris-setosa 48 | 47,5.1,3.8,1.6,0.2,Iris-setosa 49 | 48,4.6,3.2,1.4,0.2,Iris-setosa 50 | 49,5.3,3.7,1.5,0.2,Iris-setosa 51 | 50,5.0,3.3,1.4,0.2,Iris-setosa 52 | 51,7.0,3.2,4.7,1.4,Iris-versicolor 53 | 52,6.4,3.2,4.5,1.5,Iris-versicolor 54 | 53,6.9,3.1,4.9,1.5,Iris-versicolor 55 | 54,5.5,2.3,4.0,1.3,Iris-versicolor 56 | 55,6.5,2.8,4.6,1.5,Iris-versicolor 57 | 56,5.7,2.8,4.5,1.3,Iris-versicolor 58 | 57,6.3,3.3,4.7,1.6,Iris-versicolor 59 | 58,4.9,2.4,3.3,1.0,Iris-versicolor 60 | 59,6.6,2.9,4.6,1.3,Iris-versicolor 61 | 60,5.2,2.7,3.9,1.4,Iris-versicolor 62 | 61,5.0,2.0,3.5,1.0,Iris-versicolor 63 | 62,5.9,3.0,4.2,1.5,Iris-versicolor 64 | 63,6.0,2.2,4.0,1.0,Iris-versicolor 65 | 64,6.1,2.9,4.7,1.4,Iris-versicolor 66 | 65,5.6,2.9,3.6,1.3,Iris-versicolor 67 | 66,6.7,3.1,4.4,1.4,Iris-versicolor 68 | 67,5.6,3.0,4.5,1.5,Iris-versicolor 69 | 68,5.8,2.7,4.1,1.0,Iris-versicolor 70 | 69,6.2,2.2,4.5,1.5,Iris-versicolor 71 | 70,5.6,2.5,3.9,1.1,Iris-versicolor 72 | 71,5.9,3.2,4.8,1.8,Iris-versicolor 73 | 72,6.1,2.8,4.0,1.3,Iris-versicolor 74 | 73,6.3,2.5,4.9,1.5,Iris-versicolor 75 | 74,6.1,2.8,4.7,1.2,Iris-versicolor 76 | 75,6.4,2.9,4.3,1.3,Iris-versicolor 77 | 76,6.6,3.0,4.4,1.4,Iris-versicolor 78 | 77,6.8,2.8,4.8,1.4,Iris-versicolor 79 | 78,6.7,3.0,5.0,1.7,Iris-versicolor 80 | 79,6.0,2.9,4.5,1.5,Iris-versicolor 81 | 80,5.7,2.6,3.5,1.0,Iris-versicolor 82 | 81,5.5,2.4,3.8,1.1,Iris-versicolor 83 | 82,5.5,2.4,3.7,1.0,Iris-versicolor 84 | 83,5.8,2.7,3.9,1.2,Iris-versicolor 85 | 84,6.0,2.7,5.1,1.6,Iris-versicolor 86 | 85,5.4,3.0,4.5,1.5,Iris-versicolor 87 | 86,6.0,3.4,4.5,1.6,Iris-versicolor 88 | 87,6.7,3.1,4.7,1.5,Iris-versicolor 89 | 88,6.3,2.3,4.4,1.3,Iris-versicolor 90 | 89,5.6,3.0,4.1,1.3,Iris-versicolor 91 | 90,5.5,2.5,4.0,1.3,Iris-versicolor 92 | 91,5.5,2.6,4.4,1.2,Iris-versicolor 93 | 92,6.1,3.0,4.6,1.4,Iris-versicolor 94 | 93,5.8,2.6,4.0,1.2,Iris-versicolor 95 | 94,5.0,2.3,3.3,1.0,Iris-versicolor 96 | 95,5.6,2.7,4.2,1.3,Iris-versicolor 97 | 96,5.7,3.0,4.2,1.2,Iris-versicolor 98 | 97,5.7,2.9,4.2,1.3,Iris-versicolor 99 | 98,6.2,2.9,4.3,1.3,Iris-versicolor 100 | 99,5.1,2.5,3.0,1.1,Iris-versicolor 101 | 100,5.7,2.8,4.1,1.3,Iris-versicolor 102 | 101,6.3,3.3,6.0,2.5,Iris-virginica 103 | 102,5.8,2.7,5.1,1.9,Iris-virginica 104 | 103,7.1,3.0,5.9,2.1,Iris-virginica 105 | 104,6.3,2.9,5.6,1.8,Iris-virginica 106 | 105,6.5,3.0,5.8,2.2,Iris-virginica 107 | 106,7.6,3.0,6.6,2.1,Iris-virginica 108 | 107,4.9,2.5,4.5,1.7,Iris-virginica 109 | 108,7.3,2.9,6.3,1.8,Iris-virginica 110 | 109,6.7,2.5,5.8,1.8,Iris-virginica 111 | 110,7.2,3.6,6.1,2.5,Iris-virginica 112 | 111,6.5,3.2,5.1,2.0,Iris-virginica 113 | 112,6.4,2.7,5.3,1.9,Iris-virginica 114 | 113,6.8,3.0,5.5,2.1,Iris-virginica 115 | 114,5.7,2.5,5.0,2.0,Iris-virginica 116 | 115,5.8,2.8,5.1,2.4,Iris-virginica 117 | 116,6.4,3.2,5.3,2.3,Iris-virginica 118 | 117,6.5,3.0,5.5,1.8,Iris-virginica 119 | 118,7.7,3.8,6.7,2.2,Iris-virginica 120 | 119,7.7,2.6,6.9,2.3,Iris-virginica 121 | 120,6.0,2.2,5.0,1.5,Iris-virginica 122 | 121,6.9,3.2,5.7,2.3,Iris-virginica 123 | 122,5.6,2.8,4.9,2.0,Iris-virginica 124 | 123,7.7,2.8,6.7,2.0,Iris-virginica 125 | 124,6.3,2.7,4.9,1.8,Iris-virginica 126 | 125,6.7,3.3,5.7,2.1,Iris-virginica 127 | 126,7.2,3.2,6.0,1.8,Iris-virginica 128 | 127,6.2,2.8,4.8,1.8,Iris-virginica 129 | 128,6.1,3.0,4.9,1.8,Iris-virginica 130 | 129,6.4,2.8,5.6,2.1,Iris-virginica 131 | 130,7.2,3.0,5.8,1.6,Iris-virginica 132 | 131,7.4,2.8,6.1,1.9,Iris-virginica 133 | 132,7.9,3.8,6.4,2.0,Iris-virginica 134 | 133,6.4,2.8,5.6,2.2,Iris-virginica 135 | 134,6.3,2.8,5.1,1.5,Iris-virginica 136 | 135,6.1,2.6,5.6,1.4,Iris-virginica 137 | 136,7.7,3.0,6.1,2.3,Iris-virginica 138 | 137,6.3,3.4,5.6,2.4,Iris-virginica 139 | 138,6.4,3.1,5.5,1.8,Iris-virginica 140 | 139,6.0,3.0,4.8,1.8,Iris-virginica 141 | 140,6.9,3.1,5.4,2.1,Iris-virginica 142 | 141,6.7,3.1,5.6,2.4,Iris-virginica 143 | 142,6.9,3.1,5.1,2.3,Iris-virginica 144 | 143,5.8,2.7,5.1,1.9,Iris-virginica 145 | 144,6.8,3.2,5.9,2.3,Iris-virginica 146 | 145,6.7,3.3,5.7,2.5,Iris-virginica 147 | 146,6.7,3.0,5.2,2.3,Iris-virginica 148 | 147,6.3,2.5,5.0,1.9,Iris-virginica 149 | 148,6.5,3.0,5.2,2.0,Iris-virginica 150 | 149,6.2,3.4,5.4,2.3,Iris-virginica 151 | 150,5.9,3.0,5.1,1.8,Iris-virginica 152 | -------------------------------------------------------------------------------- /Heart Disease Prediction/heart.csv: -------------------------------------------------------------------------------- 1 | age,sex,cp,trestbps,chol,fbs,restecg,thalach,exang,oldpeak,slope,ca,thal,target 2 | 63,1,3,145,233,1,0,150,0,2.3,0,0,1,1 3 | 37,1,2,130,250,0,1,187,0,3.5,0,0,2,1 4 | 41,0,1,130,204,0,0,172,0,1.4,2,0,2,1 5 | 56,1,1,120,236,0,1,178,0,0.8,2,0,2,1 6 | 57,0,0,120,354,0,1,163,1,0.6,2,0,2,1 7 | 57,1,0,140,192,0,1,148,0,0.4,1,0,1,1 8 | 56,0,1,140,294,0,0,153,0,1.3,1,0,2,1 9 | 44,1,1,120,263,0,1,173,0,0,2,0,3,1 10 | 52,1,2,172,199,1,1,162,0,0.5,2,0,3,1 11 | 57,1,2,150,168,0,1,174,0,1.6,2,0,2,1 12 | 54,1,0,140,239,0,1,160,0,1.2,2,0,2,1 13 | 48,0,2,130,275,0,1,139,0,0.2,2,0,2,1 14 | 49,1,1,130,266,0,1,171,0,0.6,2,0,2,1 15 | 64,1,3,110,211,0,0,144,1,1.8,1,0,2,1 16 | 58,0,3,150,283,1,0,162,0,1,2,0,2,1 17 | 50,0,2,120,219,0,1,158,0,1.6,1,0,2,1 18 | 58,0,2,120,340,0,1,172,0,0,2,0,2,1 19 | 66,0,3,150,226,0,1,114,0,2.6,0,0,2,1 20 | 43,1,0,150,247,0,1,171,0,1.5,2,0,2,1 21 | 69,0,3,140,239,0,1,151,0,1.8,2,2,2,1 22 | 59,1,0,135,234,0,1,161,0,0.5,1,0,3,1 23 | 44,1,2,130,233,0,1,179,1,0.4,2,0,2,1 24 | 42,1,0,140,226,0,1,178,0,0,2,0,2,1 25 | 61,1,2,150,243,1,1,137,1,1,1,0,2,1 26 | 40,1,3,140,199,0,1,178,1,1.4,2,0,3,1 27 | 71,0,1,160,302,0,1,162,0,0.4,2,2,2,1 28 | 59,1,2,150,212,1,1,157,0,1.6,2,0,2,1 29 | 51,1,2,110,175,0,1,123,0,0.6,2,0,2,1 30 | 65,0,2,140,417,1,0,157,0,0.8,2,1,2,1 31 | 53,1,2,130,197,1,0,152,0,1.2,0,0,2,1 32 | 41,0,1,105,198,0,1,168,0,0,2,1,2,1 33 | 65,1,0,120,177,0,1,140,0,0.4,2,0,3,1 34 | 44,1,1,130,219,0,0,188,0,0,2,0,2,1 35 | 54,1,2,125,273,0,0,152,0,0.5,0,1,2,1 36 | 51,1,3,125,213,0,0,125,1,1.4,2,1,2,1 37 | 46,0,2,142,177,0,0,160,1,1.4,0,0,2,1 38 | 54,0,2,135,304,1,1,170,0,0,2,0,2,1 39 | 54,1,2,150,232,0,0,165,0,1.6,2,0,3,1 40 | 65,0,2,155,269,0,1,148,0,0.8,2,0,2,1 41 | 65,0,2,160,360,0,0,151,0,0.8,2,0,2,1 42 | 51,0,2,140,308,0,0,142,0,1.5,2,1,2,1 43 | 48,1,1,130,245,0,0,180,0,0.2,1,0,2,1 44 | 45,1,0,104,208,0,0,148,1,3,1,0,2,1 45 | 53,0,0,130,264,0,0,143,0,0.4,1,0,2,1 46 | 39,1,2,140,321,0,0,182,0,0,2,0,2,1 47 | 52,1,1,120,325,0,1,172,0,0.2,2,0,2,1 48 | 44,1,2,140,235,0,0,180,0,0,2,0,2,1 49 | 47,1,2,138,257,0,0,156,0,0,2,0,2,1 50 | 53,0,2,128,216,0,0,115,0,0,2,0,0,1 51 | 53,0,0,138,234,0,0,160,0,0,2,0,2,1 52 | 51,0,2,130,256,0,0,149,0,0.5,2,0,2,1 53 | 66,1,0,120,302,0,0,151,0,0.4,1,0,2,1 54 | 62,1,2,130,231,0,1,146,0,1.8,1,3,3,1 55 | 44,0,2,108,141,0,1,175,0,0.6,1,0,2,1 56 | 63,0,2,135,252,0,0,172,0,0,2,0,2,1 57 | 52,1,1,134,201,0,1,158,0,0.8,2,1,2,1 58 | 48,1,0,122,222,0,0,186,0,0,2,0,2,1 59 | 45,1,0,115,260,0,0,185,0,0,2,0,2,1 60 | 34,1,3,118,182,0,0,174,0,0,2,0,2,1 61 | 57,0,0,128,303,0,0,159,0,0,2,1,2,1 62 | 71,0,2,110,265,1,0,130,0,0,2,1,2,1 63 | 54,1,1,108,309,0,1,156,0,0,2,0,3,1 64 | 52,1,3,118,186,0,0,190,0,0,1,0,1,1 65 | 41,1,1,135,203,0,1,132,0,0,1,0,1,1 66 | 58,1,2,140,211,1,0,165,0,0,2,0,2,1 67 | 35,0,0,138,183,0,1,182,0,1.4,2,0,2,1 68 | 51,1,2,100,222,0,1,143,1,1.2,1,0,2,1 69 | 45,0,1,130,234,0,0,175,0,0.6,1,0,2,1 70 | 44,1,1,120,220,0,1,170,0,0,2,0,2,1 71 | 62,0,0,124,209,0,1,163,0,0,2,0,2,1 72 | 54,1,2,120,258,0,0,147,0,0.4,1,0,3,1 73 | 51,1,2,94,227,0,1,154,1,0,2,1,3,1 74 | 29,1,1,130,204,0,0,202,0,0,2,0,2,1 75 | 51,1,0,140,261,0,0,186,1,0,2,0,2,1 76 | 43,0,2,122,213,0,1,165,0,0.2,1,0,2,1 77 | 55,0,1,135,250,0,0,161,0,1.4,1,0,2,1 78 | 51,1,2,125,245,1,0,166,0,2.4,1,0,2,1 79 | 59,1,1,140,221,0,1,164,1,0,2,0,2,1 80 | 52,1,1,128,205,1,1,184,0,0,2,0,2,1 81 | 58,1,2,105,240,0,0,154,1,0.6,1,0,3,1 82 | 41,1,2,112,250,0,1,179,0,0,2,0,2,1 83 | 45,1,1,128,308,0,0,170,0,0,2,0,2,1 84 | 60,0,2,102,318,0,1,160,0,0,2,1,2,1 85 | 52,1,3,152,298,1,1,178,0,1.2,1,0,3,1 86 | 42,0,0,102,265,0,0,122,0,0.6,1,0,2,1 87 | 67,0,2,115,564,0,0,160,0,1.6,1,0,3,1 88 | 68,1,2,118,277,0,1,151,0,1,2,1,3,1 89 | 46,1,1,101,197,1,1,156,0,0,2,0,3,1 90 | 54,0,2,110,214,0,1,158,0,1.6,1,0,2,1 91 | 58,0,0,100,248,0,0,122,0,1,1,0,2,1 92 | 48,1,2,124,255,1,1,175,0,0,2,2,2,1 93 | 57,1,0,132,207,0,1,168,1,0,2,0,3,1 94 | 52,1,2,138,223,0,1,169,0,0,2,4,2,1 95 | 54,0,1,132,288,1,0,159,1,0,2,1,2,1 96 | 45,0,1,112,160,0,1,138,0,0,1,0,2,1 97 | 53,1,0,142,226,0,0,111,1,0,2,0,3,1 98 | 62,0,0,140,394,0,0,157,0,1.2,1,0,2,1 99 | 52,1,0,108,233,1,1,147,0,0.1,2,3,3,1 100 | 43,1,2,130,315,0,1,162,0,1.9,2,1,2,1 101 | 53,1,2,130,246,1,0,173,0,0,2,3,2,1 102 | 42,1,3,148,244,0,0,178,0,0.8,2,2,2,1 103 | 59,1,3,178,270,0,0,145,0,4.2,0,0,3,1 104 | 63,0,1,140,195,0,1,179,0,0,2,2,2,1 105 | 42,1,2,120,240,1,1,194,0,0.8,0,0,3,1 106 | 50,1,2,129,196,0,1,163,0,0,2,0,2,1 107 | 68,0,2,120,211,0,0,115,0,1.5,1,0,2,1 108 | 69,1,3,160,234,1,0,131,0,0.1,1,1,2,1 109 | 45,0,0,138,236,0,0,152,1,0.2,1,0,2,1 110 | 50,0,1,120,244,0,1,162,0,1.1,2,0,2,1 111 | 50,0,0,110,254,0,0,159,0,0,2,0,2,1 112 | 64,0,0,180,325,0,1,154,1,0,2,0,2,1 113 | 57,1,2,150,126,1,1,173,0,0.2,2,1,3,1 114 | 64,0,2,140,313,0,1,133,0,0.2,2,0,3,1 115 | 43,1,0,110,211,0,1,161,0,0,2,0,3,1 116 | 55,1,1,130,262,0,1,155,0,0,2,0,2,1 117 | 37,0,2,120,215,0,1,170,0,0,2,0,2,1 118 | 41,1,2,130,214,0,0,168,0,2,1,0,2,1 119 | 56,1,3,120,193,0,0,162,0,1.9,1,0,3,1 120 | 46,0,1,105,204,0,1,172,0,0,2,0,2,1 121 | 46,0,0,138,243,0,0,152,1,0,1,0,2,1 122 | 64,0,0,130,303,0,1,122,0,2,1,2,2,1 123 | 59,1,0,138,271,0,0,182,0,0,2,0,2,1 124 | 41,0,2,112,268,0,0,172,1,0,2,0,2,1 125 | 54,0,2,108,267,0,0,167,0,0,2,0,2,1 126 | 39,0,2,94,199,0,1,179,0,0,2,0,2,1 127 | 34,0,1,118,210,0,1,192,0,0.7,2,0,2,1 128 | 47,1,0,112,204,0,1,143,0,0.1,2,0,2,1 129 | 67,0,2,152,277,0,1,172,0,0,2,1,2,1 130 | 52,0,2,136,196,0,0,169,0,0.1,1,0,2,1 131 | 74,0,1,120,269,0,0,121,1,0.2,2,1,2,1 132 | 54,0,2,160,201,0,1,163,0,0,2,1,2,1 133 | 49,0,1,134,271,0,1,162,0,0,1,0,2,1 134 | 42,1,1,120,295,0,1,162,0,0,2,0,2,1 135 | 41,1,1,110,235,0,1,153,0,0,2,0,2,1 136 | 41,0,1,126,306,0,1,163,0,0,2,0,2,1 137 | 49,0,0,130,269,0,1,163,0,0,2,0,2,1 138 | 60,0,2,120,178,1,1,96,0,0,2,0,2,1 139 | 62,1,1,128,208,1,0,140,0,0,2,0,2,1 140 | 57,1,0,110,201,0,1,126,1,1.5,1,0,1,1 141 | 64,1,0,128,263,0,1,105,1,0.2,1,1,3,1 142 | 51,0,2,120,295,0,0,157,0,0.6,2,0,2,1 143 | 43,1,0,115,303,0,1,181,0,1.2,1,0,2,1 144 | 42,0,2,120,209,0,1,173,0,0,1,0,2,1 145 | 67,0,0,106,223,0,1,142,0,0.3,2,2,2,1 146 | 76,0,2,140,197,0,2,116,0,1.1,1,0,2,1 147 | 70,1,1,156,245,0,0,143,0,0,2,0,2,1 148 | 44,0,2,118,242,0,1,149,0,0.3,1,1,2,1 149 | 60,0,3,150,240,0,1,171,0,0.9,2,0,2,1 150 | 44,1,2,120,226,0,1,169,0,0,2,0,2,1 151 | 42,1,2,130,180,0,1,150,0,0,2,0,2,1 152 | 66,1,0,160,228,0,0,138,0,2.3,2,0,1,1 153 | 71,0,0,112,149,0,1,125,0,1.6,1,0,2,1 154 | 64,1,3,170,227,0,0,155,0,0.6,1,0,3,1 155 | 66,0,2,146,278,0,0,152,0,0,1,1,2,1 156 | 39,0,2,138,220,0,1,152,0,0,1,0,2,1 157 | 58,0,0,130,197,0,1,131,0,0.6,1,0,2,1 158 | 47,1,2,130,253,0,1,179,0,0,2,0,2,1 159 | 35,1,1,122,192,0,1,174,0,0,2,0,2,1 160 | 58,1,1,125,220,0,1,144,0,0.4,1,4,3,1 161 | 56,1,1,130,221,0,0,163,0,0,2,0,3,1 162 | 56,1,1,120,240,0,1,169,0,0,0,0,2,1 163 | 55,0,1,132,342,0,1,166,0,1.2,2,0,2,1 164 | 41,1,1,120,157,0,1,182,0,0,2,0,2,1 165 | 38,1,2,138,175,0,1,173,0,0,2,4,2,1 166 | 38,1,2,138,175,0,1,173,0,0,2,4,2,1 167 | 67,1,0,160,286,0,0,108,1,1.5,1,3,2,0 168 | 67,1,0,120,229,0,0,129,1,2.6,1,2,3,0 169 | 62,0,0,140,268,0,0,160,0,3.6,0,2,2,0 170 | 63,1,0,130,254,0,0,147,0,1.4,1,1,3,0 171 | 53,1,0,140,203,1,0,155,1,3.1,0,0,3,0 172 | 56,1,2,130,256,1,0,142,1,0.6,1,1,1,0 173 | 48,1,1,110,229,0,1,168,0,1,0,0,3,0 174 | 58,1,1,120,284,0,0,160,0,1.8,1,0,2,0 175 | 58,1,2,132,224,0,0,173,0,3.2,2,2,3,0 176 | 60,1,0,130,206,0,0,132,1,2.4,1,2,3,0 177 | 40,1,0,110,167,0,0,114,1,2,1,0,3,0 178 | 60,1,0,117,230,1,1,160,1,1.4,2,2,3,0 179 | 64,1,2,140,335,0,1,158,0,0,2,0,2,0 180 | 43,1,0,120,177,0,0,120,1,2.5,1,0,3,0 181 | 57,1,0,150,276,0,0,112,1,0.6,1,1,1,0 182 | 55,1,0,132,353,0,1,132,1,1.2,1,1,3,0 183 | 65,0,0,150,225,0,0,114,0,1,1,3,3,0 184 | 61,0,0,130,330,0,0,169,0,0,2,0,2,0 185 | 58,1,2,112,230,0,0,165,0,2.5,1,1,3,0 186 | 50,1,0,150,243,0,0,128,0,2.6,1,0,3,0 187 | 44,1,0,112,290,0,0,153,0,0,2,1,2,0 188 | 60,1,0,130,253,0,1,144,1,1.4,2,1,3,0 189 | 54,1,0,124,266,0,0,109,1,2.2,1,1,3,0 190 | 50,1,2,140,233,0,1,163,0,0.6,1,1,3,0 191 | 41,1,0,110,172,0,0,158,0,0,2,0,3,0 192 | 51,0,0,130,305,0,1,142,1,1.2,1,0,3,0 193 | 58,1,0,128,216,0,0,131,1,2.2,1,3,3,0 194 | 54,1,0,120,188,0,1,113,0,1.4,1,1,3,0 195 | 60,1,0,145,282,0,0,142,1,2.8,1,2,3,0 196 | 60,1,2,140,185,0,0,155,0,3,1,0,2,0 197 | 59,1,0,170,326,0,0,140,1,3.4,0,0,3,0 198 | 46,1,2,150,231,0,1,147,0,3.6,1,0,2,0 199 | 67,1,0,125,254,1,1,163,0,0.2,1,2,3,0 200 | 62,1,0,120,267,0,1,99,1,1.8,1,2,3,0 201 | 65,1,0,110,248,0,0,158,0,0.6,2,2,1,0 202 | 44,1,0,110,197,0,0,177,0,0,2,1,2,0 203 | 60,1,0,125,258,0,0,141,1,2.8,1,1,3,0 204 | 58,1,0,150,270,0,0,111,1,0.8,2,0,3,0 205 | 68,1,2,180,274,1,0,150,1,1.6,1,0,3,0 206 | 62,0,0,160,164,0,0,145,0,6.2,0,3,3,0 207 | 52,1,0,128,255,0,1,161,1,0,2,1,3,0 208 | 59,1,0,110,239,0,0,142,1,1.2,1,1,3,0 209 | 60,0,0,150,258,0,0,157,0,2.6,1,2,3,0 210 | 49,1,2,120,188,0,1,139,0,2,1,3,3,0 211 | 59,1,0,140,177,0,1,162,1,0,2,1,3,0 212 | 57,1,2,128,229,0,0,150,0,0.4,1,1,3,0 213 | 61,1,0,120,260,0,1,140,1,3.6,1,1,3,0 214 | 39,1,0,118,219,0,1,140,0,1.2,1,0,3,0 215 | 61,0,0,145,307,0,0,146,1,1,1,0,3,0 216 | 56,1,0,125,249,1,0,144,1,1.2,1,1,2,0 217 | 43,0,0,132,341,1,0,136,1,3,1,0,3,0 218 | 62,0,2,130,263,0,1,97,0,1.2,1,1,3,0 219 | 63,1,0,130,330,1,0,132,1,1.8,2,3,3,0 220 | 65,1,0,135,254,0,0,127,0,2.8,1,1,3,0 221 | 48,1,0,130,256,1,0,150,1,0,2,2,3,0 222 | 63,0,0,150,407,0,0,154,0,4,1,3,3,0 223 | 55,1,0,140,217,0,1,111,1,5.6,0,0,3,0 224 | 65,1,3,138,282,1,0,174,0,1.4,1,1,2,0 225 | 56,0,0,200,288,1,0,133,1,4,0,2,3,0 226 | 54,1,0,110,239,0,1,126,1,2.8,1,1,3,0 227 | 70,1,0,145,174,0,1,125,1,2.6,0,0,3,0 228 | 62,1,1,120,281,0,0,103,0,1.4,1,1,3,0 229 | 35,1,0,120,198,0,1,130,1,1.6,1,0,3,0 230 | 59,1,3,170,288,0,0,159,0,0.2,1,0,3,0 231 | 64,1,2,125,309,0,1,131,1,1.8,1,0,3,0 232 | 47,1,2,108,243,0,1,152,0,0,2,0,2,0 233 | 57,1,0,165,289,1,0,124,0,1,1,3,3,0 234 | 55,1,0,160,289,0,0,145,1,0.8,1,1,3,0 235 | 64,1,0,120,246,0,0,96,1,2.2,0,1,2,0 236 | 70,1,0,130,322,0,0,109,0,2.4,1,3,2,0 237 | 51,1,0,140,299,0,1,173,1,1.6,2,0,3,0 238 | 58,1,0,125,300,0,0,171,0,0,2,2,3,0 239 | 60,1,0,140,293,0,0,170,0,1.2,1,2,3,0 240 | 77,1,0,125,304,0,0,162,1,0,2,3,2,0 241 | 35,1,0,126,282,0,0,156,1,0,2,0,3,0 242 | 70,1,2,160,269,0,1,112,1,2.9,1,1,3,0 243 | 59,0,0,174,249,0,1,143,1,0,1,0,2,0 244 | 64,1,0,145,212,0,0,132,0,2,1,2,1,0 245 | 57,1,0,152,274,0,1,88,1,1.2,1,1,3,0 246 | 56,1,0,132,184,0,0,105,1,2.1,1,1,1,0 247 | 48,1,0,124,274,0,0,166,0,0.5,1,0,3,0 248 | 56,0,0,134,409,0,0,150,1,1.9,1,2,3,0 249 | 66,1,1,160,246,0,1,120,1,0,1,3,1,0 250 | 54,1,1,192,283,0,0,195,0,0,2,1,3,0 251 | 69,1,2,140,254,0,0,146,0,2,1,3,3,0 252 | 51,1,0,140,298,0,1,122,1,4.2,1,3,3,0 253 | 43,1,0,132,247,1,0,143,1,0.1,1,4,3,0 254 | 62,0,0,138,294,1,1,106,0,1.9,1,3,2,0 255 | 67,1,0,100,299,0,0,125,1,0.9,1,2,2,0 256 | 59,1,3,160,273,0,0,125,0,0,2,0,2,0 257 | 45,1,0,142,309,0,0,147,1,0,1,3,3,0 258 | 58,1,0,128,259,0,0,130,1,3,1,2,3,0 259 | 50,1,0,144,200,0,0,126,1,0.9,1,0,3,0 260 | 62,0,0,150,244,0,1,154,1,1.4,1,0,2,0 261 | 38,1,3,120,231,0,1,182,1,3.8,1,0,3,0 262 | 66,0,0,178,228,1,1,165,1,1,1,2,3,0 263 | 52,1,0,112,230,0,1,160,0,0,2,1,2,0 264 | 53,1,0,123,282,0,1,95,1,2,1,2,3,0 265 | 63,0,0,108,269,0,1,169,1,1.8,1,2,2,0 266 | 54,1,0,110,206,0,0,108,1,0,1,1,2,0 267 | 66,1,0,112,212,0,0,132,1,0.1,2,1,2,0 268 | 55,0,0,180,327,0,2,117,1,3.4,1,0,2,0 269 | 49,1,2,118,149,0,0,126,0,0.8,2,3,2,0 270 | 54,1,0,122,286,0,0,116,1,3.2,1,2,2,0 271 | 56,1,0,130,283,1,0,103,1,1.6,0,0,3,0 272 | 46,1,0,120,249,0,0,144,0,0.8,2,0,3,0 273 | 61,1,3,134,234,0,1,145,0,2.6,1,2,2,0 274 | 67,1,0,120,237,0,1,71,0,1,1,0,2,0 275 | 58,1,0,100,234,0,1,156,0,0.1,2,1,3,0 276 | 47,1,0,110,275,0,0,118,1,1,1,1,2,0 277 | 52,1,0,125,212,0,1,168,0,1,2,2,3,0 278 | 58,1,0,146,218,0,1,105,0,2,1,1,3,0 279 | 57,1,1,124,261,0,1,141,0,0.3,2,0,3,0 280 | 58,0,1,136,319,1,0,152,0,0,2,2,2,0 281 | 61,1,0,138,166,0,0,125,1,3.6,1,1,2,0 282 | 42,1,0,136,315,0,1,125,1,1.8,1,0,1,0 283 | 52,1,0,128,204,1,1,156,1,1,1,0,0,0 284 | 59,1,2,126,218,1,1,134,0,2.2,1,1,1,0 285 | 40,1,0,152,223,0,1,181,0,0,2,0,3,0 286 | 61,1,0,140,207,0,0,138,1,1.9,2,1,3,0 287 | 46,1,0,140,311,0,1,120,1,1.8,1,2,3,0 288 | 59,1,3,134,204,0,1,162,0,0.8,2,2,2,0 289 | 57,1,1,154,232,0,0,164,0,0,2,1,2,0 290 | 57,1,0,110,335,0,1,143,1,3,1,1,3,0 291 | 55,0,0,128,205,0,2,130,1,2,1,1,3,0 292 | 61,1,0,148,203,0,1,161,0,0,2,1,3,0 293 | 58,1,0,114,318,0,2,140,0,4.4,0,3,1,0 294 | 58,0,0,170,225,1,0,146,1,2.8,1,2,1,0 295 | 67,1,2,152,212,0,0,150,0,0.8,1,0,3,0 296 | 44,1,0,120,169,0,1,144,1,2.8,0,0,1,0 297 | 63,1,0,140,187,0,0,144,1,4,2,2,3,0 298 | 63,0,0,124,197,0,1,136,1,0,1,0,2,0 299 | 59,1,0,164,176,1,0,90,0,1,1,2,1,0 300 | 57,0,0,140,241,0,1,123,1,0.2,1,0,3,0 301 | 45,1,3,110,264,0,1,132,0,1.2,1,0,3,0 302 | 68,1,0,144,193,1,1,141,0,3.4,1,2,3,0 303 | 57,1,0,130,131,0,1,115,1,1.2,1,1,3,0 304 | 57,0,1,130,236,0,0,174,0,0,1,1,2,0 305 | -------------------------------------------------------------------------------- /Image to Text Conversion & Extraction - OCR/Image to text (OCR).ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Import Modules" 8 | ] 9 | }, 10 | { 11 | "cell_type": "code", 12 | "execution_count": 9, 13 | "metadata": {}, 14 | "outputs": [], 15 | "source": [ 16 | "import matplotlib.pyplot as plt\n", 17 | "import PIL\n", 18 | "import pytesseract\n", 19 | "import re\n", 20 | "%matplotlib inline" 21 | ] 22 | }, 23 | { 24 | "cell_type": "code", 25 | "execution_count": 3, 26 | "metadata": {}, 27 | "outputs": [], 28 | "source": [ 29 | "# prerequisites\n", 30 | "# !pip install pytesseract\n", 31 | "# install desktop version of pytesseract" 32 | ] 33 | }, 34 | { 35 | "cell_type": "markdown", 36 | "metadata": {}, 37 | "source": [ 38 | "## Load the image" 39 | ] 40 | }, 41 | { 42 | "cell_type": "code", 43 | "execution_count": 4, 44 | "metadata": {}, 45 | "outputs": [ 46 | { 47 | "data": { 48 | "text/plain": [ 49 | "" 50 | ] 51 | }, 52 | "execution_count": 4, 53 | "metadata": {}, 54 | "output_type": "execute_result" 55 | }, 56 | { 57 | "data": { 58 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAOgAAAD8CAYAAAB97uj1AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOydd3hURffHP3dLOiWFQAiEIF1AqoCiGIog/mwIakBFBUFFbEhTRFFQQV9EmgIiIFVekW4oAQUBI9IECSEJSChJSE9Iwm62ze+PMNe7S0CkaN54v8+zz+7eMvfce+fMOXPmzHcUIQQ6dOgonzD80wLo0KHj0tAVVIeOcgxdQXXoKMfQFVSHjnIMXUF16CjH0BVUh45yjBumoIqi3KMoSqKiKMcURRl9o66jQ0dFhnIjxkEVRTECScDdwBlgD9BXCHHkul9Mh44KjBtlQdsBx4QQvwshbMDXwIM36Fo6dFRYmG5QueHAac3/M0D7Sx0cEhIiIiMjb5AoOnSUb+zbty9bCFGtrH03SkGVMra5+dKKogwGBgNERESwd+/eGySKDh3lG4qinLzUvhvl4p4Bamv+1wLStAcIIeYIIdoKIdpWq1Zm46FDx78eN0pB9wANFEWpqyiKFxANrL1B19Kho8Lihri4QgiHoihDgU2AEZgnhIi/EdfSoaMi40b1QRFCxAAxN6p8HTr+DdAziXToKMfQFVSHjnIMXUF16CjH0BVUh45yDF1Bdegox9AVVIeOcgxdQXXoKMfQFVSHjnIMXUF16CjH0BVUh45yDF1Bdegox9AVVIeOcgxdQXXoKMfQFVSHjnIMXUF16CjH0BVUh45yDF1Bdegox9AVVIeOcgxdQXXoKMe4Jk4iRVFSgELACTiEEG0VRQkClgORQArwqBAi79rE1KHj34nrYUE7CyFaCiHaXvg/GtgqhGgAbL3w/x+By+VCCIFcf0b+lh+53/P7en5cLteflluWbJfb7lnepcq/kuvqKN+4Eax+DwJRF35/BWwDRt2A6/wpZCVUFAW73Y7RaATA6XQihEBRFIQQGAwGFKWUDN/lcqEoCi6Xy227tlLL7Q6Hw60MuU+rXC6XS5VHliV/y2NtNhtGoxGj0YjL5cLpdKqyGgwGVSYpg7yuPEZbtlZ+7TGe2wFMphtG6qjjOuFaLagANiuKsu/CUg4A1YUQ6QAXvkOv8RpXL5wQWCwWLBaLWlGtVquqoAaDAaPR6KaEiqLgdDpVhdMqhtwmFU/+l9vKssxaJS8pKaGkpES9jjzOZDK5nS8V1+l0qgqubWzMZjNmsxmj0ahul4othGD58uUcPnxYLUfbsMhtWuXWUX5xrQraUQjRGugJvKgoSqcrPVFRlMGKouxVFGVvVlbWNYpRNk6dOkWzZs149tlnycnJQQjBsGHDmD9/Pmaz+ZLup7byysotFVmrlBJOp1P9bbfb1TK1x8bFxREdHc3777/Pt99+e5GbqVUmqcBSoRwOh5u7LCG3axXPYDDw1VdfsX///otcZafTqTY+uov7v4Fr8nGEEGkXvjMVRVlF6bKDGYqihAkh0hVFCQMyL3HuHGAOQNu2bW9IbbHb7WRkZLBnzx5++eUXunfvTkFBAcXFxbhcLnJzczl06JBasW+//Xa8vLw4cOAAQUFBnDp1CofDwa233sqJEyfIycmhdu3aNGjQAJfLxaFDh8jJyaFWrVo0aNAAgKNHj1KpUiUiIyNxOBwYjUaysrIYNGgQixcvpnXr1qSmpqoyxsXFUVJSAkDDhg0JCwsjPT2d9PR0zGYzubm5hIWFERQURHx8PN7e3rRr1w6z2cyePXuoUaMGJ06c4KabbiIiIkItV7q36enpJCQk4OvrS+vWrfHy8pLP/0Y8ch3XGVdtQRVF8VcUpZL8DXQHDlO6BstTFw57ClhzrUJeLQwGA5UrV2bo0KHMmjULq9WqWiGXy8W6deuwWCxkZWXxzDPPMH36dAwGA2+99RavvvoqOTk5vPzyyzz22GMcPHiQhQsX8tBDD5GZmckPP/zAm2++SU5ODkOHDlUVfdGiRWzdulVVEGn5rFYrq1atoqSkhLCwMAC2b99ORkYG58+f59NPP6Vfv35YrVZ++uknevfuzYEDB1i6dCm9evXiyy+/5OjRozzyyCOsXr0ah8PBoEGD+OCDD0hPT2fw4MEkJyejKIrqUqenp/PCCy9w/Phxpk2bxtdff12mdddRjnG10UngJuDghU88MObC9mBKo7fJF76D/qysNm3aiBuBpKQkUbNmTZGRkSFatWolYmJixGOPPSY++ugjYbfbRUlJiXA4HMJms4k33nhDDBgwQJSUlIiuXbuKOXPmCLvdLr788ksRFRUlbDabSEtLE0FBQSI5OVncfvvtYsGCBSI9PV2MGzdO9O7dW9jtdmG324XT6RQOh0O4XC7hcDiE3W4XW7duFfXr1xf9+/cXu3btEg6HQ72+w+EQhw8fFtWrVxf5+fli+fLl4o477hB2u11kZWWJsLAwkZCQIGw2m+jTp4/46KOPhM1mE02aNBGxsbGipKREjB49Wjz77LPC4XCI7t27izlz5ojx48eLRx99VKSnp4sdO3aI8PBwkZ+fr8qno3wA2CsuoRtX7eIKIX4HWpSxPQfoerXlXm9IN3PkyJFMnDiR0NBQ1co4HA5WrFhBRkYGe/fupU6dOiiKogZtXC4XJpPJLTgk+6JCCDZt2sTp06dxuVzcd9996nbPwI7D4aBTp07s27ePOXPmMHbsWCZPnkyzZs04dOgQ27ZtIysrS72Ow+Fw62uKC31SrXXUBntMJhNGoxGn06nul/eXnJzMnDlzEEIwaNAg1cXVLej/Bip0nF0OVwgh+L//+z9mzJjBpk2baNeuHUII7r//furXr8/IkSNJTk7G4XCoFVdGSWUkVbqs2ujuI488wgMPPIDD4cBkMrkFYOS5BoMBs9mMEAJ/f39ee+01YmNj2bt3L9u3b2fZsmV8/PHHlJSU8NVXX6lKLYdA5H95TflfO2wiFVob/JFBpsaNG/PGG29cFHGWx+go36jQzaiMgLpcLvz8/HjppZcoLi5WLZKXlxdNmzbl+PHjHDx40G28UUZmpQXVDn0YDAZGjhzJV199xc6dO9m9ezcrV67EaDTy9ttvs2zZMnWs0uVyUVBQwOLFi9m5cyfz58+ncuXK3HfffVSqVInQ0FCEEGzdutUtKivlB/cosVZJFUXhv//9L5s2beKXX35h6NChbgr9xBNPkJ+fz8qVK9m1axcLFy7EZrO5WWId5RuK9oX+U2jbtq3Yu3fvdS+3sLCQH374ge7du+Pl5UVOTg7bt2+nadOmNGzYkIyMDOLi4vD29iYiIgK73U7Lli3ZtWsXNWvWJDIyktTUVE6ePMntt9+OzWYjNjaWqKgoAgIC2LVrF1lZWTidTu655x78/f3ZvXs3gYGBNGzYUFUCh8PB0aNHSUpKAuD2228nNLR0eHjTpk1YLBaaNWtGcnIyPXr04OzZsxw/fpy77roLm83G5s2b6dSpEwEBAezdu5fKlStTv359WrZsyYQJExBC0KRJExo3bozL5WLnzp3UqVOHiIgITp06xb59+xBCcMstt9CgQQPVs9Dd3PIBRVH2iT8y8dz3VWQFlQP30v37s2+n04mXl5dbooK0qtqEBW1fU9s/lUkO0h2W/UDp7moTEjwzjjwhrb/ZbHaTR2gyiVq1asW0adPo3Lmzeq/yXM9708oij9EVtHzgcgr6r3hDsh8qlUb2z7SunsvlUlPttH07rcsrAzdSuWQ/UVojIQRms1ktW5apTesDdzdVXkML+V/KA6hJBlDaP1YUhccff5xatWqp15HBIlmG5z2WlY6oo3yjQgeJZEWUFVi6dlJBpFUB1ECO/MjAj1Z5ZDqdVuFknq+0SJ7K6GllpWXUKrenrGVZZXms1hKOHDnSzbJ75ttqo7+AasG119dRvlHh35I2YdxTKTx/ayu1ZwWWebuAm5sLpcrteU1tWdpzPI/3vL42SizLkEMjErLh0JYpZfQsU5allcFTXh3lFxVaQa8mUlnWOZdyQf+sfM/ZK1cjy+Xk+atl6pHb/z38K/qgOnT8r0JXUB06yjF0BdWhoxxDV1AdOsoxdAXVoaMcQ1dQHTrKMSr0MMvVZMtoxzf/jvPKE/7KPVzN/V7unOv1/G7ke/gnhqkqtIJKyFxW+YDLIgXzzOCRg/pyu8ze0ebRehKHaZMHtOx5nrm3nvm/njNUtNBmLHnmAWuTGTxlkNctayz2UteT+bxSXu39a5+J9r7ks9Tm/Gqft/betdf0nO9a1jP1fI6ecnsmjGi3S5nKev6e2VbyOXs+M89y/wkFrdAurs1mIzEx0e1Bp6amkpOTA7hXSO0nJSWFZ555BqvV6qYgWgXXTguTL9put7tVUM9EfShN/Tt//jyJiYkkJCSQlJSkchJpZZD/5TnPPfccCQkJZGZm8sQTT6i8SjINUCqL9p48k/ydTie5ubnEx8djsVhwOBw4nU6SkpKwWCwXzSWVv+WUPW2F16Y9Qml2U35+Pk888QTZ2dkqtYqUv6z7K2u7lFmrRLIsp9NJQkICJSUl2O12oJTWJTExkdOnT7tNGMjNzSUxMZGkpCQKCwvd9tntdvU8bWOdlpZGYmIiR48e5dSpU271Rjvl7+9EhVbQEydO0LlzZwoKCtQKMGLECBYuXHhRKwt/KJ6Pjw9dunRRt2khk+61VkZrdeQLL4t7V+5LSkqic+fOxMbGMnPmTN5//311srhWLqkILpeLH374gZycHHx8fLj77rvdkvLhj6R7bUK8Nklepv/NmzePVq1a8e6772IwGMjJySEqKorU1FS3XGL5XGSesVZRtNfQyupwONi6dSvFxcVlWmlPpgmt3HKbZ5qi3H7s2DFeffVVOnXqRFpaGiaTiaysLL7++mu2b9/O4MGDmTJlCkKU8gwvXbqUH3/8kf79+zN48GA3BsfMzEx69+5Nhw4dOHv2rPqex48fz/Dhw9m5cycHDhxwe/7/1MyfCu3ier5srbvkcrlISUlh165dBAUFkZycTKNGjbjnnnswGAwUFRUBpRVo+fLlCCEIDQ3F19dXrdCxsbE8/fTTOBwOFi1aRM+ePalevTrbt2/n8OHD1KhRg969e6tWVZuw7+3tzcCBAzEYDHTu3JmOHTvSvXt39u7dy+7du3E6nXTv3p3GjRu7WUm73c65c+fUivvNN9+QmZlJmzZtqFq1KocPH6Z3795AKWNgXl4e9957r5ty1KtXj7i4OJKTk6lWrZr6PADWrl1LzZo1adWqFSdOnOCnn37iySefZOfOnRQVFZGbm0tWVhZRUVFYrVbi4uKoWbMmDz/8sKrESUlJrFu3jnvuuYebbroJs9nMkSNH2LJlCwEBATz++ON4eXlx8uRJfvzxR4KCgggLC8NsNnPs2DEefvhht5lDAFOnTqVLly4sX74ck8mEy+UiKCiIIUOGYDabqVq1KtOmTeP111/HZDIxYMAAfH19adq0Kf3798fhcODt7Y3BYGDt2rXce++9nDhxQlVCKG1IbrnlFgYMGIDBYMBut6vX+qfSJP+0WVAUZZ6iKJmKohzWbAtSFCVWUZTkC9+Bmn1vKIpyTFGUREVRetwowa8U2j6F1rIZDAaOHj3Km2++iZeXF97e3jz77LMcO3aMtLQ0Jk2ahNVqZdKkSRw4cIAWLVrwzjvvsHnzZqCUc3fy5Mmq5Zs8eTIpKSnExsby8ccf06lTJ2JiYpg7d65qdeWsGikXoCbCO51OduzYwdixY+nYsSOtWrXi9ddf5/jx427uZkFBAePHj6ewsJDp06ezbds2evbsSVZWFpUqVeLjjz8mLi4OIQQ//vgjR44cUc+V127ZsiXNmjVj+fLl6rWlV7B8+XK2b9+OoigkJSUxc+ZMFEVh69atjB07liZNmnDixAl69+7NyZMnqVu3LsOHD2fXrl2qFT18+DAtWrTglVde4cSJEyQnJ/P6669zyy23cOrUKd566y3sdjtHjhxhzJgx+Pr6Ur9+fXJzc0lOTlbfj7T8BoOBCRMm0KlTJ7dnZzAYVKXz9vZWn7PRaMTPzw8otbyNGzdWvYC0tDR27NhBdHS0WobW8zhy5AgrV64kJydHnf2j9Ub+blyJ3V4A3OOxrcz1VxRFuRmIBppeOOczRVH+UQpz6dZoXVH5gp1OJzVr1qR79+4888wzGAwGbDabep7T6WT+/Pk8+eSTNGvWjFtvvdVtEri2fykr58KFC6lXrx6FhYU0a9aMuXPnugVbZD/RZrMRFxfH559/TrNmzbj99tv55ptvaNWqFa1bt+aOO+6gUqVKbNq0ya0frHWr58yZw2OPPUbdunW57777qFmzJuHh4Rw9epScnByWL19O37593QJKEi+88AJr167lzJkzbi6m1qX3DMi0bt2atm3bMmjQIGw2Gw8++CC9evWievXqnD9/Xm0EHn74Ye666y78/f3ZsGEDMTExqgVr3rw5CxcupLCwEEVR1OdfpUoVoqKiGDVqlKqUyoWpfIqiEBQUpN6/1kV2uVzYbDZmzZrFyy+/jMPhwG63s2vXLkaOHMnmzZsZOnSoet7o0aPp1asXlSpVUsuQ9/fyyy8zevRosrKyVNpV7fP+J/CnLq4Q4kdFUSI9Nl9q/ZUHga+FECXACUVRjlFKZh13fcT9a9C2xLLiaUm8oOzQubZyaMvwbEm1E6q1lvrcuXOcPXuWyMhIPvzwQ7eytVHYs2fPEh4eTr9+/ahSpQrwh0W9XNRQG8GU8sr7GTZsGG+88Qa33XYbrVq1IigoSA2waF3+Zs2a0bp1azeiMu29a12/vwrPwJoQAqvVSnp6OkIIZs+e7aYg8llqg04S0sWUjaB2Ur10Q5cvX06VKlXo1q2bev0OHTrQoUMHCgoKePzxxykuLiYwMJCCggJat25NSkoKTqeTkydPEhoaislkUt3xdu3asWjRInbt2sUDDzzwj0Vw4er7oG7rryiKItdfCQd+1hx35sK2i6CUruUyGHBjRL+eMBgM+Pj4YLFYCAgIAHBzMy/10GXgwmQy4efnp0Y4rVYrlStXVo9zOp1uEU6j0YiPjw8NGjTgoYcewmg0YrVaAXe3zGg04uvry4MPPoifn58qh5eXF1arVbUa0up4wsvLC5fLha+vLxaLBUCNanbs2JHIyEiefvppevXq5eb6aaEoCsOHD6ddu3ZukV9Jsm0wGFTZ/ypKSkqw2WwIUTqXVVEUQkNDue+++zCZTNhstjLnpFqtVoQQ+Pn5XRRB1cYOpMLY7Xa+/vprVq9ezZw5cwgKClIDcRaLBV9fXypVqkRQUBApKSk0atSIrl27smHDBgoLC3E4HPzwww80bNiQKlWqqBQz8v3LhvyfUk64/kGisu6kTN9A/A1LP0RGRvLOO+/w2muvERUVhd1up3nz5jz99NNu0VUJyVggv729vfnss8+YMGECPXv2JD4+npCQEADCw8MxmUy8+OKLNG/enOLiYrWvNHjwYKZOnYqvry/e3t6q+wzuk6e1q60ZjUZGjRrF888/z+TJkyksLCQ0NJT+/fu7ySaPN5vNTJ8+nfHjx3Py5ElKSkoYMGAAPj4+NG7cmB9++IHBgwdfdI9aN7Fu3br07duXJUuWqB7CnXfeyQcffICvry+HDh26KGKrLcPzuUnMnz8fg8FASEgITz31FC6Xi3379vHuu+9Sp04dbDYbAwcOdCtHCMGaNWtYt24dixYtcouWm81m1q9fT0JCAjabjcWLF9O8eXNatGjB6NGjefHFF1mxYgUA3bp1Izw8nPnz52MymUhPT8dgMDBo0CACAgJo3rw5QggyMjKYNm0aTz/9NNWqVSMrK4ulS5fi7e1NfHw8d911F126dClzfPTvxBWRhl1wcdcLIZpd+J8IRIk/1l/ZJoRopCjKGwBCiA8vHLcJGCeEuKyLe6NIw6RFkO6Mj48PtWvXVvcXFxeTk5NDREQEQghOnDhBrVq1EEKQmppK3bp1URSFkydPIoTgo48+onLlynz44YdqwKGoqIjAwECKi4upUaMGPj4+ZGdnk5dXumZxrVq18PX1Va+pKAolJSWcOXNGLV8rb35+PllZWSiKQlhYmGr5U1JSqF69OmazWQ3OGAwGzpw5Q1FRESEhIQQGBuJyuVixYgVz585l/fr1qgWWFS0vLw+r1aouP5GZmcm5c+eoU6cOZrMZu91OSkoKACEhIRQWFhIREUFOTg4Oh4Pq1atjs9nc5D916hTBwcH4+PiQkpJCUFAQ2dnZ1KxZE39/f/VZp6WloSgKwcHB6jOTzx9KuwZFRUXUrFnzoneZlpZGcXGx+px8fX2pUaOGKquEfGYFBQVkZpYuC1SjRo2LXGqn00lKSgp16tRR2TMyMzPJz89HURRq166Nj4+P2zk3SkGVa2X1K0NBPwZyhBATFUUZTenyDiMVRWkKLKW031mT0gBSAyHEZUd5b5SCXg9oB9VfeuklKlWqxAcffFCulu/zHPy/9957eeSRR3jmmWfc+tD/pKum49K4nIL+qYurKMoySgNCIYqinAHeASYC/1UUZSBwCngEQAgRryjKf4EjgAN48c+U838BkljsqaeeKleKKaHN2nE6nYwYMYKwsLCLIte6gv7voULz4l4PyOej/fbsg/3T8Fw3VKuQ2vFXXUHLJ67Jguoohazc5bGSywZDm3Agt8PFGVU6/negK+ifoDwqpCfksEN5suo6rg/0N6pDRzmGrqA6dJRj6AqqQ0c5hq6gOnSUY+gKqkNHOYauoDp0lGPoCqpDRzlGhR4H1aa5aWfGlzWBWUt7oR3ol8dc6Zqa2pQ6LVWGdgqb9jjPZHltxpJnBpCkPJEyyrmjWvIwKF3eUDuH0nNOq5RHzhP18fFR5ZHbteV73tv/wthwRUGFV1CbzcbYsWNJSkriiy++IDg42G2/No9VS5alKO7sfPBHTq42fU6W4UnZKSuznGs5bdo0srKyeP/998ukQJFwOp2kpaWxYsUKNm3axPr161WFXLp0KVu2bKFatWoUFRUxceJEqlSpwvfff8+cOXOoV68ep0+fZvLkyYSGhnLo0CHee+89GjVqRHJyMpMmTeKmm27i1KlTjBo1iptuukmlI2nfvj15eXm8/vrrhIaGkpKSwuOPP87//d//qdQfZc0r1XFjUeFd3KKiIjZs2EBiYqJKwelyuUhPTychIYEjR44QFxdHamoqmZmZ/Pzzzxw6dEhNm8vMzCQuLo5du3aRmZmpWo/4+Hiys7NxOBycPXuWxMREXC4Xx48fJyUlhT179hAXF0dhYSEpKSnEx8dz5MgRjh49ihCC48ePk5qaepG8drudESNGkJmZyalTp4BSpc/Ly+OLL77g6aefZtKkSYSGhhIXF0dxcTEzZ86kZ8+evP/++3Tq1InvvvsOh8PBl19+SbNmzdQ5qgsWLMBqtbJixQp8fHz44IMPeOedd9TtP/zwA2lpaUyYMIFPP/2UFStWcO7cuTI9Dh1/Dyq0giqKwooVK+jZsyfvvvsuixcvVi3BmjVr6NWrF3v37mXKlCk88MADLFiwgB9//JEHH3yQrVu3kp6eztChQ9m/fz8JCQk8//zzKk3j888/z86dOzEajaxYsYIxY8agKApvv/02L7zwAsePH2fo0KGMGDGCvLw8CgsLKSoqUnlu5s6dy6pVqy6S2WQyMWbMGP7v//7Pzd3duXMnLpeLu+66C6PRSFhYGLNnz+bo0aMcOHCAxx57DEVRiIyMZPr06WRkZPDtt9/y3HPPIYSgdu3aLFy4kKKiIubMmcOQIUNUTqDVq1eTmprKjBkzePbZZ/Hy8qJ69eocOHCAAwcO/K3vTIc7KoyL60lwBaUuaVJSEnfffTf169dnxowZHDp0iJYtW6IoCg0bNuSJJ56gS5cutG3blieffJKwsDC2bdtGamoqBw4cwN/fn6FDh+JyuTh48CAzZ85kwoQJZSbPS/e4c+fO9O3bl0qVKjFhwgRuvfVWGjVqREZGBh07dkRRFN57770y3UWTyUTTpk1VZj5PVnxPV1q7T+tuy+R5l8uFyWRS+5favF1tMr2W5lJeV7q0Wo4hHX8vKpQF9QyMnDp1ihUrVtCmTRvq1KkDQGJionq8NmgCuCmB0WhUeX7gj+UiJCufDDZp3T9PsiztUgieczMl8XRZ0CqcNrAk98lt2qCXlmdJq0zy+lLRPInOPBs2+V8qtWc/XcffiwpjQQG3qKfD4eC3334jNDSUSZMmAeDj48OMGTPciJEltIwEMlikreQyMioVTxsY0jYK2kotf0vlkGV58hN53oNWyaSChYWFERhYSj9ss9k4duwYjRo1okqVKtSuXRun04mXlxcJCQk0btwYLy8vGjZsqFrZ+Ph4GjRogBCCJk2aYLfbcTqd/P7774SFheHn58fNN9+synTy5En8/f2pVKmSm+LqQaK/FxVKQbVuncVi4YsvvuC1114jOjoaIQTx8fE88cQTpKWlqYxtnpSaJpNJHbJ47LHHePnll1m3bh1eXl6cOHGCjz76CCjlGpo2bRrVqlVjw4YNbhVZVnKr1apauJCQEBISElQG+8mTJ1OtWjWefvppt3twOBzqmiI2m41ff/2VGjVq0KZNG2rXrs2CBQuoV68eGzduZO3atdStW5euXbsyc+ZMunTpwpIlS5g2bRqBgYEMHDiQGTNmEB0dzezZsxkyZAiBgYEMGTKEuXPn4u3tzcyZM3n00UcJDw/nxRdfZOzYsdSpU4e1a9fStm1bWrVqBeA2z1TH34cKw6ig7TcJIcjNzWXXrl3cf//9bmOJO3bsICQkBJPJRGpqKlFRUVgsFmJiYrjvvvvw8fEhNjaWunXrEhkZSUpKCj///DOKotC2bVvq16+PEILs7Gy2bNmCj48P9erVo6CggDvvvJMff/yR6tWr07BhQ86ePcuvv/5Kjx6lBPtr166latWqREVFsWfPHnx8fFQFkPdgt9tZv349hYWFqvWtX78+7dq1Iysriy1btgDQoEEDWrdujaIoFBcXs379eoQQ1KhRg7vuuku1vN999x1FRUUEBQXRvXt3tTHatGkTWVlZeHt7c//996sEWTt27OD06dMA9OzZk1MZuycAACAASURBVKpVq6oNmdPpVF1fHdcP10wadqNxvRTUsz8lrZd2/M7Thb1UZdNawrLK9UxI0O7XshtcqjzPAI/2OpeSxdOtlr9lH1d+tOV7juXCH4EmmXzhuZSh1r3WLj8o71FX0OuLyyno1a7NMk5RlFRFUX698LlXs+8fWZtF9u20a21ITh7Z6sv/8lseU9ZHu6+scrX75XogMggjXeXLlVcWR9CfySLP8fxtMpnc7sdTDvlffuR5ZrP5omehXQ9Fex2dGfCfwdWuzQIwRQjR8sInBsrn2iw6dPwv408VVAjxI5B7heWpa7MIIU4Acm0WHTp0XAWuZRx0qKIohy64wHL5wXDgtOaYy67NoijKXkVR9mZlZV2DGDp0VFxcrYJ+DtQDWgLpwOQL2//S2ixCiLZCiLZyEVkdOnS446oUVAiRIYRwCiFcwBf84caeAWprDq0FpF2biDp0/HtxVQqqlC6YJNELkBHetUC0oijeiqLUBRoAv1ybiDp0/HtxtWuzRCmK0pJS9zUFeA4q7tosOnT8U6gwiQo6/oB8p9qFb68mh1abr6xNWtDHQq8vrilRQcf/HoQQ6tQymVF0NQ2xNvNJO3lAx98HXUErILRZQVernOC+Slp58LT+jdAVtILCZrOxZ88eSkpKVCKwv4qCggIOHTqkK+k/iAo13cwTclZLYWEhfn5+yPHWvLw8XC6XG4HYn8Fut3P27FnCw8PLTHJPTU1VScUMBoN63KXgdDpJTU0lPDz8kv3DK2ExyMjIICAgQF1qXiI/P5/HH3+cbdu2Ua1aNZU7SSuXw+FQeZF8fX0JDQ11K2PXrl3MmDGDVatWcfbsWRwOBxEREW5sf8XFxWRnZyOEIDg42G2peYfDQXp6+hVfU3ehL0aFVtAzZ84wePBgoqKiMBqN9O7dm9q1a/Pxxx9TXFzMJ5984paUrp2VIvtwsmIlJydz7733cvDgQSpXruxWmZxOJ/fccw/dunUjIiKCH3/8kV69etGvXz9Vme12uxvrQWZmJrfddhtxcXHUqlXLLQBjt9vV/9qkey1jRElJCXPnzmXu3Lm89dZbPPbYY26zUmJjY3nmmWeoUaMGR44cYdasWaxfv55ff/2VgIAAjEYjn332Gbt27aJDhw5s3ryZmTNnqswTABs3bmT48OFs3LiRlJQUDh48iMlkYvjw4TRo0ACHw8ELL7ygKuDJkyeZM2cOZrOZY8eOMWvWLL799lt+/fVXgoODcTqdfP755/z888+0bduWTZs2MXPmTCIiIvRpbJdAhVbQN998k06dOvHaa69ht9sxmUx8//337N+/n5KSEjZv3kyPHj2IjY3l1KlTOJ1OatWqxd13343dbmf58uU0b96c/fv3k5mZSWFhIQsXLqR///5UrVrV7Vp2u52HH36Y9u3b8+STTzJ48GAAnnzySX744QcSExNRlFKSrg4dOrB06VKKiopYtmwZTz/9NNWqVWPbtm0kJSVRr149unTpgqIo7NixA6PRyB133AGURmMdDgfLly+nqKiIkJAQt3mwTqeT/Px81qxZw6xZs3C5XEycOJG7777bjaQsPT2dlStXMmbMGLp160ZISAgrV67ktddeQwjB4cOHOXfuHB07dsThcODj40NJSQkdOnTg5MmT1KtXj/3793Ps2DHee+89atWqxWuvvcbPP//MXXfdxYQJE7j77rtZvny52g/ev38/M2bM4JdffiEgIIDw8HCWL1/O6NGjdff5EqjQfdCIiAgWLFjAgQMH8PLywmQycfPNN1OrVi3CwsJo3rw5aWlpasXz8/PjhRdeYM+ePeTn5/P666+zY8cOOnbsSMuWLfHy8uK2227D29v7ktdUFIXAwEC6d+/OypUrSU1NxWKxEBUVhb+/Py+//DLx8fG0adMGs9lM69atCQgI4LvvvmPy5Mm0bduWOXPmsGLFCoQQJCYmcvToUbVsKHWhH3zwQUaMGKHyFcmpYUII0tLSVLceYMqUKbRr185tytvvv/9Oeno6nTt3RghBQEAA3377LVDaCPz0009Ur14dLy8v/Pz8MBqN+Pr6qhy5RqOR2NhY6tevT0REhDpBfOPGjQBMnjyZ9u3bu8ntdDqx2+34+vpiMBjw8fFh9erVF9HP6PgDFdqCjhkzhuLiYoYNG0abNm0YP3484eHhBAcH4+3tTa1atRBCEBYWhtFopEGDBnz88ccUFhaq8yL79OmjHmcwGKhfv36ZCirdS+nGSqtWs2ZNatSogdFopFGjRkyZMgWbzUbz5s1RFIUGDRrg7e3NF198obIrtG3bllmzZtG7d2+effZZt4nhUjmCg4PV/57k27NnzyY6Oho/Pz+EEISEhJCVlaUSnklXGUr7hJL+Rbr2DoeDhQsXMm/ePLcA0aZNmwgJCaFVq1Zqf1teX+u+K4pCtWrVOHfunNuzadKkCV27dmXGjBnceeedrF69WpVZXx28bFRoBfX29mbKlCnEx8cze/Zs3nrrLaZOnerGvmCz2UhOTmb+/PmYzWays7Pd+kKek6flNk94KpHBYCAgIAC73c7x48eZM2cOfn5+Kq+utiypAJJMOzw8nBEjRlzEnmA0Gt3cWe0kaqfTidlsxmKxUFRUxO233672W7WTviWboHYSt5bK02QykZWVRWRkpNpwOZ1O8vLymDt3ruqOS8Uta9K79pnIvqXT6aRKlSpMnjyZdevWkZiYSLdu3Th16pR6/3of9GJU6GbL4XBgt9tp3Lgx7du3V4cMZAW12+0kJCTQvXt3evTowZtvvqlGdrWWw5Mypaz+kqSzdLlcnD9/nh07djB69GgOHz5Mt27duPfeexk9ejRBQUFq+fI8AC8vL1q2bEm/fv3o168fXbp0AVCHSaR1kzJIaKk/nU4nO3fuJCkpifr162Oz2dzO0wbCIiIiaNiwIVarFZfLRWxsLHfffTcGg4HPPvuM0NBQKleujBCCnJwcBg4cyMMPP8wjjzyiyn7bbbfh5+enMvUfPXpU5f3VyqdtvAICAoiOjqZPnz78/PPPav9TV86yUaEt6KpVq7BYLDidTr7++mv+85//oCgKzZo1Y9myZWzfvp2bbrqJ2rVrk5KSwtGjR8nOzlYtinT9ACpXrkx4eDgrVqygX79+bsMJErGxsRw/fpysrCy6du1Ko0aNOHPmDOHh4Zw6dYr4+Hjy8vJwOBz4+vrStGlTvv76a5566inGjx/PsGHD8Pb2VilMnnzyST788EMMBgPjxo1zWyPl6NGj7N69m7NnzxIXF4fBYFCZ8keOHKlaLyEEMTExHDlyBIvFwrJly2jQoAFRUVG0b9+eUaNGceutt3LgwAEWLlxIbm4uJ0+e5L333lO5m8aNG4fD4aCkpIQlS5ZQtWpVHnzwQTp27MjcuXOZPHkyQgi8vb3p1q0bTqeTDRs2cOTIEaxWK8uWLaNx48Y0bdqUmJgYFEVhz549BAcHc/vtt+NwOC5aqElHKSp0Lq7ValXXTKlatSq1a9dWLU1iYiI+Pj7UqVOH1NRU8vLyCA4Oxmq1Ur16dXx8fEhISKBRo0Z4e3urLmhWVhZNmzZ164cKIUhISMBqtWIwGAgLCyMkJASbzYaXlxenT58mLy+PwMBAiouLqVWrFv7+/pw9e5bs7Gzq1q2Ln58f6enpZGRkYDKZqFevHr6+vqSlpWE0GgkPD3cjB8vOziY9PR2Hw6EGh6pUqcLYsWP5/PPP8ff3Vy3TsWPHsFgsqrwBAQHUrVsXi8VCcnIyAIGBgURERLB582Z+/PFH3nnnHdX9TUlJITc3V7X23t7eNGrUCJfLRX5+PmfOnEEIQa1atQgMDMRgMJCYmIjNZgNKLXflypUJCQnh2LFjqrWU/W8t99K/EZfLxa3QCqrtD8ohCFmZ5XYJyX4HqO6vtEDaPlJZ1JOybG200mQyuQVgynrOntk58r+WSU/Kq3W3tfenJcFevXo1Gzdu5LPPPruoLyjl1P7WsvfJbaNGjeLmm2/mqaeecpNHm0wh/0v3VbIDapn/tM9Gyy4ot3nK829Owv/XKuiNvDfPSlhecKn+3KVS9Ty3X2l/8Eak/ukKejEqdB/073rh5aliXU6WS+0ry9pe67V0XB/8O51+HTr+R6ArqA4d5Ri6gurQUY6hK6gOHeUYV7I2S21FUX5QFCVBUZR4RVFeubA9SFGUWEVRki98B2rO+UfWZ9Gho6LhSiyoA3hdCNEE6AC8qJSuwTIa2CqEaABsvfAfRV+fRYeO64Y/HWYRQqRTyh6PEKJQUZQESpdzeJBSOk6Ar4BtwCg067MAJxRFkeuzxF1v4a8E2gF5icsND1xqTLCs35cr1/O6Vzskcamxy7KO8bzen233LOPPZLzSMdKyjvOU59+aNfRX8ZfGQRVFiQRaAbuB6heUFyFEuqIokrsiHPhZc1qZ67MoijIYGAylids3ApLFQDslS86fvBxkVpBnRdZWLG22z6UqnCxHmw30VyGzdbSzUsq6jszmkTLJby1LhPzWZiTJfFvtMbJMuXaoJ6Q8MvtHZhZpFdBut7utXi6vqU1N1MdR/xxX3IwpihIAfAu8KoQ4d7lDy9h2UZMt/oa1WbQzTK4011Ob/qZN/dPOgpGVtizrrC1HW4GvlrhLpsnJcuR0s7KOU5RSuhT5rb2XspRQQusNaOe1apXaMxVPW65MgdQ2CNrGAlDluRp+3n8zrkhBFUUxU6qcS4QQKy9szlAuLAFx4TvzwvZysz6LtlJeKa+rtuJpLaNUFDl1S4uytmmvKa3J1UDLb3sp+S0WC4sWLcJisajWSeYTay2c01lK8q/NG7bZbLhcLo4dO8aqVavU3FptfrF8FmXl08rnImWVjZa2EZHlyOPKU2pkeceVRHEV4EsgQQjxiWbXWuCpC7+fAtZotpeL9VnOnz/Pxo0b2bBhA5s2bWLXrl1XdJ6iKIwbN46ZM2e6uboyAX779u3ExMSwYcMGNm7cqFY8LbT9VLvdzubNmykpKfnL9yBnlBgMBuLi4sjIyLjomNzcXObOnYvVakVRFIqKiti6dasqh1Qqp9PJ5s2b1XmiimZC9eHDh4mJicFisbBp0yY2bNhAcXGxaj1dLhdnzpzhu+++Y8OGDZw5c8bNMykqKmL79u1u82WLioqIiYlh48aN7Nu3T/Vo9P7nleNKnlRH4Emgi+K+5P1E4G5FUZKBuy/8RwgRD8j1WTbyD67PcvbsWZ566ikcDgfe3t7qtDEtVYi0ilrGPCFKeX0yMzPdXFX5GTRoECkpKXh5eREbG8vEiRPVic9ad1Zan9zcXPr376/SfWppR8r6SGoSKVtGRgYvvPAC/fr1Y9euXW6yu1wuFi1axIABA6hcuTLr169n4MCBPPPMMzgcDlW5d+/ezYABA+jTpw+ZmZnqM5KNyIoVKxgyZAgbN27E29ubAwcO0KtXL3799Ve1kenfvz8ZGRnk5+fz2muvUVJSghCCjRs3MmDAAJ555hmsVitGo5Hz588zduxY9u/fj9lsZvz48cTHx+vK+RdxJVHcnZTdrwToeolz3gfevwa5rhuMRiOdOnVSqTKdTicrVqwgNzeX4uJiTp48yX333cfdd9+NxWJh8uTJVK5cWbV2nuuRyO/WrVvToUMH7rjjDoYOHconn3zC66+/zuLFizlx4gTFxcWEhIQQHR3N1KlTsVqtfPjhh4wePZoqVaowf/58Tp8+Ta1atXj22Wcxm80sXrwYX19f+vTpozYMJpOJmJgYoqKiSEhIUF1mOY3t5MmTxMbG8t133+Fyudi8eTMDBw7kp59+cnOJV65cyXPPPceWLVvc+rEOh4Pvv/8eHx8fWrRowS233ILRaKRz584sW7aM/Px8hBCsWbOGqlWr8tBDD1G1alV2797NunXr6NOnDzExMQwePJjdu3ernEYHDhxg06ZN/Pbbb0Apf+6cOXNUqtMrCdbp+BdkEimKgtVqVScsC1FK/7h48WKio6OpWbMmr776KoWFhbz00ksEBATQu3dvkpOT/3SIRAiB2WymRYsW7N+/n+zsbNq0acPw4cPp06cPM2fOJCUlhaFDh+Lt7c0rr7xCtWrVmDVrFvv27WPYsGEcOnSIqVOnqkTaQUFBboEXgL59+/LII4+4XVP2e1NTU6lfv77KMTR58mRq1Khxkazjx4/n5ptvVpVDWniTyUR8fDy33367W/RXusvS4h05coQaNWoQGBiIw+Hg/PnzHD5cuurkJ598ohKrSTYICdmHttvt7N+/Xw0e6bgyVOgnJfmBPvnkEyZNmsTp06eB0sBGmzZtqFmzJvfccw9WqxW73c6WLVvo0aMHtWvXplWrVm5RSU9oCbtkEKhmzZrcfPPN+Pv70759e4KCgjAYDPj6+iKEwMfHB0VR2Lx5M4qisGHDBkwmE1u2bAGgR48eKhcR/NEweHt7qwooFVf2C6dNm0ZUVJR6jNlsLrNB8fb2Vu9Fnu9wOMjLy+OLL76gS5cubqRkK1euJDIyktatW180aVz2W7X9Y23EGqB9+/b07duXYcOGsWjRItasWePGJqjjylCh/QxFUfD19eWNN94gMDBQrbiy/6atUNLl0/ZPL+WKeQ5bmM1m6tatS0FBAZs2bWLVqlWEh4eTlZXlNsyjVZzIyEhatGhBixYt8PPzc4uOysiodqhDRlHlUIXL5aKgoACz2UzPnj3dZJPf2mEgrXWU34qikJKSQpcuXahVqxZQ2iWIj49n6dKljBs3Tl1SQhud1bJSyHPgD8WXyjpq1CiOHDmCwWDAz89PdcN1C3rlqNBPylMptBXWsyKbTCZCQkLIyMjAarWSm5sL4Ba4kUrpcrlUK3Ls2DG2bt3KkCFDSExMZPjw4bzzzjtqoyCtjNa1q169OiaTiSZNmtC0aVMCAgJQFEXlPNIGpqRiejYkAD///DMFBQUEBQW5DZ0Abgrv+dE+nyVLlhAREaFyLP32228MHz6c9957j3bt2qkW+9FHH1WHbo4fP87+/ft5+OGHVRm1CRUyycFoNNKyZUtq1qzJt99+yyuvvKInJ/xFVGgLajKZCAgI4OOPP8ZsNlO7dm0GDhzoZhWMRiOhoaH4+vqyePFiRo0aRVxcHBaLxe046VLa7XaCgoKYN28e69evJygoiFGjRlG7dm18fX1p3749ixcvpnLlyqq7WaVKFXr27Mknn3zCq6++yieffMJLL72kMvW1bt2aBx98kOnTp1O5cmVGjRrllq2ze/duNm3axLlz51izZg1JSUm89NJLrF27VqWtlFZ31qxZJCQkYDabef/992nbti0PPfQQS5cu5cCBAwQEBPDpp5/SvHlz7r//fo4fP87YsWPV+5w9ezbe3t589913xMTEEBoaygsvvECTJk2oXLkyI0aMQAhBVFQUjRs3xul0Mnv2bI4ePYqvry8ffvghbdq04dZbb2XBggUqQVvv3r1p1arVJWlLdZSNCs1JVFJSwvnz593GMf38/NSsFhkJLS4upmrVqjidToqLiwFU91L2H+EPFnWLxaL+DggIUJXXZDJhsVjc0tm8vLzU/p7VasXf3x+TyaT2ewH8/Pzcsn/kcBCUWkKLxaIy5EkP4NixY8yYMYMvv/wS+CM1Lz8/380rkH3goqIi1XOQlvSbb75Rg2Oy/2mxWNw8BaPRiL+/v2oZi4uLMRqN6nIQctxVO3zl6+urkmjLcvz9/d3GQT29m38zlH8rJ5HZbMbPz8+N31ZRFDfKTEVRVIJmRVHw8/NTFUwmJmj7gkajUeXElRVSW9F8fHzUfVqyay8vL7VMKG0spPLLaK2Xl5dbxo4s18fHB19fX7ec15ycHFq2bOnG/gdQpUoV9RiZn+tyuahUqZJbf1RRFAoKCmjSpIlbtpRcz0X+ly6+lF02HlqvolKlSmqfWT5T2Xhpn7uURzYmOv4cFdqCau/tcqlyZZ33V1p3z+Ov9HxtllJZZWpzWa+03LKO+bPztIGovyL/n+FyKZa69fwD/1oLqq0Ef6VC/NXK43n89bhWWWOwV6r0V3qNK7nmtUKP2F4b9KenQ0c5hq6gOnSUY+gKqkNHOYauoDp0lGPoCqpDRzmGrqA6dJRjVOhhFrgyeo2/OqxwpWPHN6LcKynzUuVcj+GTP5PxUmO7nuPE1xuXK7+sceFrvcbfhQqtoDILxnPAH/4YjL/acTotZ5EnIZc22f2vQpvUXtb6pVdarkwQ0GbyXGsF06bzlZXcoM2c0p5Tlsza5H/5HrTzYLUzbrQTHLTJD9okfe2z0rJZaNdP9bwP7bivtp54Jlhcy/u8VlRoF1ebRK6tVNr5lFcDLa2JnGmirUzXAm3F0DIfyApypeyA10OWy5XrOW1NO5NF2yhciQxaxdcqqaeyyskKkgpGq0xayhq5vyyuKO31tPvltYCL3uc/mW1XoRVU2xLKhHWt1btaCkjPuZFy6llZ09muRmbJJZSXl6cm+1ssFrKzs6/a4l/v7CCtByEnrMtreM5tvRTK4h/WzjHVvitZjtFoVD/aSRCSCE3raZjN5ss2wtoJ5Np70CrnPz1/9U9dXEVRagMLgRqAC5gjhJiqKMo4YBCQdeHQN4UQMRfOeQMYCDiBl4UQm26A7FcEm83Gnj17+Omnn9SZHc8995z68q7GdZGzMlauXMnJkydRFIUnnniC4OBgdf7n1TYAchaKy+XilVdeoWPHjgwZMoTvv/+eGTNmEBMTc0XlaC3xl19+SVRUFA0bNvzL8pQln2zwSkpKVNKyzp07c9NNN6EoCr/99huxsbFYrVbuuusuOnbseFE5NptNZSL08fGhf//++Pv743Q6+eabb0hLS0MIwaBBgwgMDFSVxWg0YrPZWLJkCTk5OZhMJp5++mkqVarEqVOn+Oabb7Bardxyyy3cd999ZSqXEKUcS8eOHWPIkCEEBARgNBpZt24dycnJOJ1OHnnkEcLDwzGbzdfkbV0rrmVtFoApQoiWFz5SOcvN2iyFhYUMHjyYr7/+mnvvvZd+/fohhODnn392a921bH6yInhu034AdT5o3759iY6OZs+ePeqsF8nDo3V/5ewSbdlal0xbvrQCVqtVLaNLly4sXLjwIpmlV+BZFvzhts2ePZukpKQy76+s70vdu4SU77fffiM6OpoJEyaQmJioNlzHjx8nOjoai8VC//79KSwsdHsvDoeDMWPGcPbsWaKjoyksLKRDhw5kZWXx2WefsW3bNvr160dYWBgfffSRqhxyStzEiRM5fPgw/fr1w8fHh/bt25OamsqBAwfo27cvwcHBPPfccxw/flyVW3t/SUlJTJ8+nYkTJ1JYWIiiKKxcuZKvvvqK3r1707x5c9577z21sdXyAf/tuFQlvEzlXEMpzeY4YHgZ+98A3tD83wTcdrky27RpI24EYmJixK233iry8vKEw+EQLpdLOJ1OYbVahc1mE19++aUYOHCgePzxx0ViYqJwOp0iLS1NDBgwQIwcOVI89thjYteuXcLhcAi73S4cDoew2WwiPT1dPPHEEyI7O1s4HA51u91uF9u2bRN9+/YVw4YNE4MGDRKZmZnC4XCI+Ph4ER0dLYYNGyaeeuop8fvvvwun0ynWrFkj+vTpIyZNmiR27NghEhMTRXR0tJgwYYK44447xNSpU4XT6RSbN28WTz75pLDb7WLKlCnipZdeEmPHjhXdunUTU6dOFRaLRSxdulQMHz5cPPfcc6Jz587i119/FePGjRM1atQQvXr1Ejt37hRWq1XMnDlTDBo0SPTt21ccP35cFBYWih07dogJEyaIYcOGiXnz5onz58+Lhx9+WOzZs0c4nU71Gcj7dDgcYsmSJeLAgQOiVatWYu3atcLlcqnP2GaziYSEBBEaGipycnLc3ktBQYEIDQ0Va9asEXa7XcTGxorWrVuLjIwMccstt4iNGzcKh8MhiouLxS233CIOHTok7Ha7cDqd4vz586JevXpiwYIFwmaziT179ojmzZuLU6dOCbvdLux2u8jLyxNhYWHit99+U2UtKSlR72Ho0KFi3rx5IjQ0VJw8eVI4nU7xwAMPiFmzZgmLxSIcDofo2rWr2Lp1q3A6nernRgHYKy6lb5faUebBEAmcAipfUNAU4BAwDwi8cMwM4AnNOV8CfcooazCwF9gbERFxQ268V69e4tNPPxV2u13k5uaKX3/9VcTHx4uMjAyxbt060bVrV3H27FmxefNmceutt4qMjAzx2GOPiSlTpgiHwyEOHz4s2rRpI5KSktyUcNmyZaJLly6qcjqdTmGxWNTjExIShNVqFZMmTRJ9+/YVZ8+eFa1atRJbtmwRDodDLF++XHTu3FmcP39eLFy4ULRs2VKcOXNG5Obmivbt24vvvvtOZGRkiDvuuENMmTJF2O128c0334jbbrtN2O12MXLkSHHvvfeK/Px8sWDBAhERESHOnTsn4uPjhcPhEHl5eaJHjx7irbfeEna7XbRu3VqsXbtWOBwOsXTpUtGjRw+Rm5sr1qxZIzp06CBycnJE/fr1xfbt24XT6RTx8fGiuLhYbNmyRZw9e1at5J5KKr89FTQ3N1ccPnxYvP766+Ltt98WJSUlbu/FZrOJd999V7Rr105Mnz5dtGjRQvz222/C4XCIbt26iYULFwqHwyFOnTolatSoIfbu3SucTqcoKSkRJSUl4j//+Y9o3bq1+Oyzz0SrVq1EXFycsFqtIj8/Xxw+fFhMmjRJPP/88yI3N1fYbDZhsVjU82NiYkR0dLQ4c+aMCAkJESdPnhQOh0MMHDhQjBs3TpSUlIjs7GzRokULsXLlSlU5XS7XDamjQlxeQa9lbZbPgXpAS0pXP5ssDy3LUJdhuW/42izyJhVFITs7m7i4OAYMGKBy0qampjJ9+nQ2bdpEbm6uSs/RqFEjhBCEh4eTnZ1Nfn4+hYWFZGdnk5OT4xbFlRFGk8lEQUEB+fn51KlTB7PZTKNGjUhKSuL8+fOcPn2aBg0a4HK5aNCgAceOHVOjhkFBxtNNAAAADQVJREFUQdSsWROHw8GJEydo1KgRgYGByOfiGUxRFIXIyEgCAgJo0qSJ2iesX78+OTk5WCwWgoOD3YYyZJ/05MmTpKamMnnyZLZu3UpBQQEAjz76KPPmzWPMmDHUrFkTs9nMnXfeSUhIyEXPUgbcLhUMy8nJYefOnURGRuJwOMjPz3fbbzQaadOmDfXq1WPfvn2cPXuW+Ph4hBDMnTuX//73v4wbN46FCxdis9ncXG+j0Ujr1q1p3rw5cXFxnDlzhkOHDqlMFzt27KBSpUoEBgaSk5ODoihqLMButzNv3jw+/PBDVQ55X5MmTSIhIYG3336bL774QmXWkM9cfv/duKJxUKWMtVmEEBma/V8A6y/8LTdrs0RFRbF7925KSkqoW7cuAwcOZNu2bapS1atXjxEjRuB0OnnzzTdVag8ZOJJ9HkUppcg8fvw4ZrOZqlWrqv0/eYzsf8oKKyOx4E5MBn8sxiT+8Cbc+qvaFcG0FQz+oGLRRqeFEJSUlDBv3jy+++477rzzThITE4mMjFSP067N0qhRI4YPH46iKLz77rtUqlSJsWPHkpKSwowZM3jxxRf5/PPPL2JXgD+IvM1m8yWZEerUqcPAgQNxOp0MHz6cyZMnM3HiRHV/cXExQ4YM4ZtvvuHmm29mwYIFvPzyy0RFRREeHs7ixYvVZ7hjxw5CQ0sXzpM0Ki+99BLTpk2jQ4cOrFy5kldeeYWuXbtSt25dBg8ejMvl4rPPPmPUqFH897//Va+7atUqkpKSWLVqFcXFxVgsFubPn8/zzz9PcHAwX375pco3/Msvv1CvXr0bMkf2r+Cq12ZRLiycdAG9gMMXfpebtVkeffRRjh07xr59+9SKJSNy9erV4/z58xQXF1O5cmXS0tKw2Wy0aNGCgwcPIoTg6NGjhIaGEhwcTHR0NGPGjGHkyJE8/vjjNG3alGnTpqnKefjwYQIDA6latSrJyckYjUYOHjyo0mrWq1ePQ4cOYTAYOHjwIE2bNnUbBlAUBR8fHxo3bqySYKemprpZaUBdEkIqt1RAu93OxIkTGTVqFEOGDFGpT+QQkFTSRo0aUVBQQElJiRr5tNvtHDlyhIYNGzJs2DBiY2MpLi5m8+bNZGdnq42CpyzabVI2h8OhUm1arVbOnDlDgwYNEKKUpmX9+vXY7XZsNhu///47vr6+REZGUr9+fZVkTfI2jRs3ju7du1OzZk2Ki4tZt24diqJgsVhITk7G29ubiIgI6tevj7+/PwcOHFAbq+TkZBo3bgyA1WplzZo1dO/endWrV/PQQw/Ro0cPjEYj99xzD1WqVEFRSulTfXx8mDlzJnXr1qVx48ZqY1ieLahcm+U3RVF+vbDtTaCvoigtKXVfU4DnoHRtFkVR5NosDv7BtVmqV6/O119/za5du1i9erWqBH379lXd13fffRc/Pz9uueUW6tevz9SpU3n77bd54403yMjIYPbs2URGRrq1oP7+/nzwwQe8/fbbvPnmm7hcLvr27UuzZs2YPn06kydPJjg4GCEE//nPf6hUqRJLlixh/PjxxMbGcu7cOb766iu8vLwIDQ3l5ptvVstdtGgR77zzDklJSbRp04awsDBcrlLW+WbNmmEwGIiIiFBdbD8/P9q0aYO/vz9jx45lxYoV7NixgxYtWqhct2+++SbffvstVapU4Z577iEvL4933nmHSpUq0bp1axo0aEBqaipLlizBz8+P1atXU7lyZZYuXUr16tUJDg52S56QlvP7779n8+bNVKtWjdWrV7Nnzx6GDx9OSkoKixYt4vz589xxxx30798fIUrXu1m4cCFdunRh1apVzJ8/nz179pCTk8OiRYuoUqUKn376Kenp6ZSUlBAaGsrzzz+PwWDgzJkzTJw4kaioKFasWMHs2bMZMWIEWVlZzJ8/n+DgYBITExk1ahQ2m82NgbCwsJC5c+fSsWNHateujcFgwN///9u7vxC5zjKO498ny25arGBSbYkisUokBNHai1CCBCKCMTdpA0LuchHQG8FebglIvLRUvRSUNixFDAUFRfAihhYRJBrsH2JiTaKCypJEpNQKaZvm8eK8b/Lk5Mxmsjvb85zT3weWOXvmzJn3nZnfnDMzL+/zAXbt2sXWrVtZWFjg2LFjnD17FmhOZ+tMh3ECuD6Mek6iekoXf0yv7/ixQG38cTsO+YrbtYeK1VPS+DtqnDirbtf+mj7+mB63q+IP5V3XxREvcR/xSBwn+6rbx4nT3G8Oy6un8PX+4tEi7j+eVsdJzbraE9vfftziqKB4mzjQo4aifubcsGEDR48eZfv27Rw8ePDG/ms76uNe18d91X20hwi2H6fYrjiJWvyJZ71Oc22FOYlGP5IoPuj1ialTZNYXYjuU8cnrGsdbb1M/f8UnMZ52tvcJN1+8V69evXHbriFxdV0cjtb+oiYGK7546j5r+zZu3HjLcLx4RIjBjPfdDlbtX/tzZ/1sPelzclfB4dq+2O8YrnqqWwcJuDt79uzhwIEDN/YRh2/WMHc9jvF5b7eh6zKezse+9zVQYdSD5dshgVuPcnH4GNw6yLqunzQrXX2RtuuW1BdsPCq3w2B2c77d9gD49pdMCwsLt7Wh/eKu18UvrNohrbdpj59tt39ubo5r167d+HzcbledGjS+QdQ3srh9PDK23wTaXyzF++86Il6/fp3du3ffdrSNYYrL8U2sfR/tdbUt8b7idvUsq6+BCqMPaDtcKz3Q8YVedQ3Xa+83vojjE9u+/k5tjebn51dsw6T9xjeOae+rK4R3c791u/b2d/p/0v3HN5X4fxTXxf1Oeqy71nc9h11tXO2Y7VkY9SmuyNApoCKJKaAiiSmgIokpoCKJKaAiiSmgIokpoCKJKaAiiSmgIokpoCKJKaAiiSmgIokpoCKJKaAiiU0zadg9ZvZ7M3vFzP5kZt8u6zeb2QkzO18uN4XbPGlmF8zsNTP78np2QGTMpjmCvgV80d0/RzMH7l4zexRYBE66+zbgZPkfS1T6QWTo7hhQb7xZ/p0vfw7sB5bK+iXgsbK8Hzju7m+5+9+AC8DOmbZa5H1iqs+gZjZnzZSbl4ET7n4KeNDdlwHK5QNl848B/wg3/2dZJyJ3aaqAuvu77v4wzSzxO83sMytsPlXpBzP7mpmdNrPTV65c6biJiNzVt7ju/jrwIs1ny0tWZpcvl5fLZlOVfvD3oDaLyNBN8y3uR8zsQ2X5XuBLwJ9pSjwcKpsdoilLCIlKP4gM3TTTbm4Blso3sRuA5939l2b2O+B5MztMU5Lwq5Cr9IPI0I269IPIELxvSz+IDJ0CKpKYAiqSmAIqkpgCKpKYAiqSmAIqkpgCKpKYAiqSmAIqkpgCKpKYAiqSmAIqkpgCKpKYAiqSmAIqkpgCKpKYAiqSmAIqkthaarMcNbN/mdnL5W9fuI1qs4jMwDSz+tXaLG+a2TzwWzP7Vbnu++7+dNy4VZvlo8CvzezTmtlP5O6tpTbLJKrNIjIja6nNAvANM3vVzJ4N5QdVm0VkRtZSm+UHwKdoShIuA98tm6s2i8iMrLo2i7tfKsG9DvyIm6exqs0iMiOrrs1SCycVjwNnyrJqs4jMyFpqszxnZg/TnL7+Hfg6qDaLyCypNotIz1SbRWSgFFCRxBRQkcQUUJHEFFCRxBRQkcQUUJHEFFCRxBRQkcQUUJHEFFCRxBRQkcQUUJHEFFCRxBRQkcQUUJHEFFCRxFLMqGBmV4D/Af/uuy3r5MOMt2+g/q3VVnfvnDkvRUABzOz0pGkfhm7MfQP1bz3pFFckMQVUJLFMAf1h3w1YR2PuG6h/6ybNZ1ARuV2mI6iItPQeUDPbWwr9XjCzxb7bsxqluttlMzsT1m02sxNmdr5cbgrXDabAsZl93MxeMLNzpYDzN8v6sfRvUoHqHP1z997+gDngIvBJYAF4BdjRZ5tW2Y/dwCPAmbDuKWCxLC8C3ynLO0o/NwIPlf7P9d2HFfq2BXikLH8Q+Evpw1j6Z8B9ZXkeOAU8mqV/fR9BdwIX3P2v7v42cJymAPCguPtvgP+0Vu8HlsryEvBYWD+YAsfuvuzufyzL/wXO0dR7HUv/3LsLVKfoX98BHXOx3wfdfRmaFznwQFk/2D6b2SeAz9McZUbTvwkFqlP0r++ATlXsd2QG2Wczuw/4KfCEu7+x0qYd61L3z7sLVE/ynvav74BOVex3oC7VGqrl8nJZP7g+m9k8TTh/7O4/K6tH07/KQ4FqkvSv74D+AdhmZg+Z2QJwkKYA8Bj8AjhUlg8BPw/rB1Pg2MwMeAY45+7fC1eNpX+dBarJ0r8E36Lto/lm8CJwpO/2rLIPPwGWgXdo3mEPA/cDJ4Hz5XJz2P5I6e9rwFf6bv8d+vYFmlO4V4GXy9++EfXvs8BLpX9ngG+V9Sn6p5FEIon1fYorIitQQEUSU0BFElNARRJTQEUSU0BFElNARRJTQEUS+z/RFfYM2qahmwAAAABJRU5ErkJggg==\n", 59 | "text/plain": [ 60 | "
" 61 | ] 62 | }, 63 | "metadata": { 64 | "needs_background": "light" 65 | }, 66 | "output_type": "display_data" 67 | } 68 | ], 69 | "source": [ 70 | "img = PIL.Image.open('test.JPG')\n", 71 | "plt.imshow(img)" 72 | ] 73 | }, 74 | { 75 | "cell_type": "markdown", 76 | "metadata": {}, 77 | "source": [ 78 | "## Convert Image to Text" 79 | ] 80 | }, 81 | { 82 | "cell_type": "code", 83 | "execution_count": 5, 84 | "metadata": {}, 85 | "outputs": [], 86 | "source": [ 87 | "# config\n", 88 | "pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files/Tesseract-OCR/tesseract'\n", 89 | "TESSDATA_PREFIX = 'C:/Program Files/Tesseract-OCR'" 90 | ] 91 | }, 92 | { 93 | "cell_type": "code", 94 | "execution_count": 6, 95 | "metadata": {}, 96 | "outputs": [], 97 | "source": [ 98 | "text_data = pytesseract.image_to_string(img.convert('RGB'), lang='eng')" 99 | ] 100 | }, 101 | { 102 | "cell_type": "code", 103 | "execution_count": 8, 104 | "metadata": {}, 105 | "outputs": [ 106 | { 107 | "name": "stdout", 108 | "output_type": "stream", 109 | "text": [ 110 | "Name: Sample\n", 111 | "\n", 112 | "Unique Policy Number: 12345\n", 113 | "Amount: 100000\n", 114 | "\n", 115 | "Start Date: 1/10/2019\n", 116 | "\n", 117 | "End Date: 1/11/2019\n", 118 | "\n", 119 | "Geo-Coordinates: 13.89,83.49\n", 120 | "\f", 121 | "\n" 122 | ] 123 | } 124 | ], 125 | "source": [ 126 | "print(text_data)" 127 | ] 128 | }, 129 | { 130 | "cell_type": "markdown", 131 | "metadata": {}, 132 | "source": [ 133 | "## Extract Specific Fields" 134 | ] 135 | }, 136 | { 137 | "cell_type": "code", 138 | "execution_count": 10, 139 | "metadata": {}, 140 | "outputs": [ 141 | { 142 | "data": { 143 | "text/plain": [ 144 | "'Sample'" 145 | ] 146 | }, 147 | "execution_count": 10, 148 | "metadata": {}, 149 | "output_type": "execute_result" 150 | } 151 | ], 152 | "source": [ 153 | "m = re.search(\"Name: (\\w+)\", text_data)\n", 154 | "name = m[1]\n", 155 | "name" 156 | ] 157 | }, 158 | { 159 | "cell_type": "code", 160 | "execution_count": 15, 161 | "metadata": {}, 162 | "outputs": [ 163 | { 164 | "data": { 165 | "text/plain": [ 166 | "'1/10/2019'" 167 | ] 168 | }, 169 | "execution_count": 15, 170 | "metadata": {}, 171 | "output_type": "execute_result" 172 | } 173 | ], 174 | "source": [ 175 | "m = re.search(\"Start Date: (\\S+)\", text_data)\n", 176 | "start_date = m[1]\n", 177 | "start_date" 178 | ] 179 | }, 180 | { 181 | "cell_type": "code", 182 | "execution_count": 16, 183 | "metadata": {}, 184 | "outputs": [ 185 | { 186 | "data": { 187 | "text/plain": [ 188 | "'13.89,83.49'" 189 | ] 190 | }, 191 | "execution_count": 16, 192 | "metadata": {}, 193 | "output_type": "execute_result" 194 | } 195 | ], 196 | "source": [ 197 | "m = re.search(\"Geo-Coordinates: (\\S+)\", text_data)\n", 198 | "coordinates = m[1]\n", 199 | "coordinates" 200 | ] 201 | }, 202 | { 203 | "cell_type": "code", 204 | "execution_count": null, 205 | "metadata": {}, 206 | "outputs": [], 207 | "source": [] 208 | } 209 | ], 210 | "metadata": { 211 | "kernelspec": { 212 | "display_name": "Python 3", 213 | "language": "python", 214 | "name": "python3" 215 | }, 216 | "language_info": { 217 | "codemirror_mode": { 218 | "name": "ipython", 219 | "version": 3 220 | }, 221 | "file_extension": ".py", 222 | "mimetype": "text/x-python", 223 | "name": "python", 224 | "nbconvert_exporter": "python", 225 | "pygments_lexer": "ipython3", 226 | "version": "3.8.3" 227 | } 228 | }, 229 | "nbformat": 4, 230 | "nbformat_minor": 4 231 | } 232 | -------------------------------------------------------------------------------- /Iris dataset analysis - Classification/Iris Dataset Analysis - Classification.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Dataset Information\n", 8 | "\n", 9 | "The data set contains 3 classes of 50 instances each, where each class refers to a type of iris plant. One class is linearly separable from the other 2; the latter are NOT linearly separable from each other.\n", 10 | "\n", 11 | "Attribute Information:\n", 12 | "\n", 13 | "1. sepal length in cm\n", 14 | "2. sepal width in cm\n", 15 | "3. petal length in cm\n", 16 | "4. petal width in cm\n", 17 | "5. class:\n", 18 | "-- Iris Setosa\n", 19 | "-- Iris Versicolour\n", 20 | "-- Iris Virginica" 21 | ] 22 | }, 23 | { 24 | "cell_type": "markdown", 25 | "metadata": {}, 26 | "source": [ 27 | "# Import modules" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": 1, 33 | "metadata": {}, 34 | "outputs": [ 35 | { 36 | "name": "stderr", 37 | "output_type": "stream", 38 | "text": [ 39 | "\n", 40 | "Bad key \"text.kerning_factor\" on line 4 in\n", 41 | "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\matplotlib\\mpl-data\\stylelib\\_classic_test_patch.mplstyle.\n", 42 | "You probably need to get an updated matplotlibrc file from\n", 43 | "https://github.com/matplotlib/matplotlib/blob/v3.1.3/matplotlibrc.template\n", 44 | "or from the matplotlib source distribution\n" 45 | ] 46 | } 47 | ], 48 | "source": [ 49 | "import pandas as pd\n", 50 | "import numpy as np\n", 51 | "import os\n", 52 | "import matplotlib.pyplot as plt\n", 53 | "import seaborn as sns\n", 54 | "import warnings\n", 55 | "warnings.filterwarnings('ignore')" 56 | ] 57 | }, 58 | { 59 | "cell_type": "code", 60 | "execution_count": null, 61 | "metadata": {}, 62 | "outputs": [], 63 | "source": [] 64 | }, 65 | { 66 | "cell_type": "markdown", 67 | "metadata": {}, 68 | "source": [ 69 | "# Loading the dataset" 70 | ] 71 | }, 72 | { 73 | "cell_type": "code", 74 | "execution_count": 2, 75 | "metadata": {}, 76 | "outputs": [ 77 | { 78 | "data": { 79 | "text/html": [ 80 | "
\n", 81 | "\n", 94 | "\n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | "
IdSepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
015.13.51.40.2Iris-setosa
124.93.01.40.2Iris-setosa
234.73.21.30.2Iris-setosa
344.63.11.50.2Iris-setosa
455.03.61.40.2Iris-setosa
\n", 154 | "
" 155 | ], 156 | "text/plain": [ 157 | " Id SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n", 158 | "0 1 5.1 3.5 1.4 0.2 Iris-setosa\n", 159 | "1 2 4.9 3.0 1.4 0.2 Iris-setosa\n", 160 | "2 3 4.7 3.2 1.3 0.2 Iris-setosa\n", 161 | "3 4 4.6 3.1 1.5 0.2 Iris-setosa\n", 162 | "4 5 5.0 3.6 1.4 0.2 Iris-setosa" 163 | ] 164 | }, 165 | "execution_count": 2, 166 | "metadata": {}, 167 | "output_type": "execute_result" 168 | } 169 | ], 170 | "source": [ 171 | "df = pd.read_csv('Iris.csv')\n", 172 | "df.head()" 173 | ] 174 | }, 175 | { 176 | "cell_type": "code", 177 | "execution_count": 3, 178 | "metadata": {}, 179 | "outputs": [ 180 | { 181 | "data": { 182 | "text/html": [ 183 | "
\n", 184 | "\n", 197 | "\n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | " \n", 240 | " \n", 241 | " \n", 242 | " \n", 243 | " \n", 244 | " \n", 245 | " \n", 246 | " \n", 247 | " \n", 248 | " \n", 249 | " \n", 250 | "
SepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
05.13.51.40.2Iris-setosa
14.93.01.40.2Iris-setosa
24.73.21.30.2Iris-setosa
34.63.11.50.2Iris-setosa
45.03.61.40.2Iris-setosa
\n", 251 | "
" 252 | ], 253 | "text/plain": [ 254 | " SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n", 255 | "0 5.1 3.5 1.4 0.2 Iris-setosa\n", 256 | "1 4.9 3.0 1.4 0.2 Iris-setosa\n", 257 | "2 4.7 3.2 1.3 0.2 Iris-setosa\n", 258 | "3 4.6 3.1 1.5 0.2 Iris-setosa\n", 259 | "4 5.0 3.6 1.4 0.2 Iris-setosa" 260 | ] 261 | }, 262 | "execution_count": 3, 263 | "metadata": {}, 264 | "output_type": "execute_result" 265 | } 266 | ], 267 | "source": [ 268 | "# delete a column\n", 269 | "df = df.drop(columns = ['Id'])\n", 270 | "df.head()" 271 | ] 272 | }, 273 | { 274 | "cell_type": "code", 275 | "execution_count": 4, 276 | "metadata": {}, 277 | "outputs": [ 278 | { 279 | "data": { 280 | "text/html": [ 281 | "
\n", 282 | "\n", 295 | "\n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | "
SepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCm
count150.000000150.000000150.000000150.000000
mean5.8433333.0540003.7586671.198667
std0.8280660.4335941.7644200.763161
min4.3000002.0000001.0000000.100000
25%5.1000002.8000001.6000000.300000
50%5.8000003.0000004.3500001.300000
75%6.4000003.3000005.1000001.800000
max7.9000004.4000006.9000002.500000
\n", 364 | "
" 365 | ], 366 | "text/plain": [ 367 | " SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm\n", 368 | "count 150.000000 150.000000 150.000000 150.000000\n", 369 | "mean 5.843333 3.054000 3.758667 1.198667\n", 370 | "std 0.828066 0.433594 1.764420 0.763161\n", 371 | "min 4.300000 2.000000 1.000000 0.100000\n", 372 | "25% 5.100000 2.800000 1.600000 0.300000\n", 373 | "50% 5.800000 3.000000 4.350000 1.300000\n", 374 | "75% 6.400000 3.300000 5.100000 1.800000\n", 375 | "max 7.900000 4.400000 6.900000 2.500000" 376 | ] 377 | }, 378 | "execution_count": 4, 379 | "metadata": {}, 380 | "output_type": "execute_result" 381 | } 382 | ], 383 | "source": [ 384 | "# to display stats about data\n", 385 | "df.describe()" 386 | ] 387 | }, 388 | { 389 | "cell_type": "code", 390 | "execution_count": 5, 391 | "metadata": {}, 392 | "outputs": [ 393 | { 394 | "name": "stdout", 395 | "output_type": "stream", 396 | "text": [ 397 | "\n", 398 | "RangeIndex: 150 entries, 0 to 149\n", 399 | "Data columns (total 5 columns):\n", 400 | " # Column Non-Null Count Dtype \n", 401 | "--- ------ -------------- ----- \n", 402 | " 0 SepalLengthCm 150 non-null float64\n", 403 | " 1 SepalWidthCm 150 non-null float64\n", 404 | " 2 PetalLengthCm 150 non-null float64\n", 405 | " 3 PetalWidthCm 150 non-null float64\n", 406 | " 4 Species 150 non-null object \n", 407 | "dtypes: float64(4), object(1)\n", 408 | "memory usage: 6.0+ KB\n" 409 | ] 410 | } 411 | ], 412 | "source": [ 413 | "# to basic info about datatype\n", 414 | "df.info()" 415 | ] 416 | }, 417 | { 418 | "cell_type": "code", 419 | "execution_count": 6, 420 | "metadata": {}, 421 | "outputs": [ 422 | { 423 | "data": { 424 | "text/plain": [ 425 | "Iris-versicolor 50\n", 426 | "Iris-virginica 50\n", 427 | "Iris-setosa 50\n", 428 | "Name: Species, dtype: int64" 429 | ] 430 | }, 431 | "execution_count": 6, 432 | "metadata": {}, 433 | "output_type": "execute_result" 434 | } 435 | ], 436 | "source": [ 437 | "# to display no. of samples on each class\n", 438 | "df['Species'].value_counts()" 439 | ] 440 | }, 441 | { 442 | "cell_type": "markdown", 443 | "metadata": {}, 444 | "source": [ 445 | "# Preprocessing the dataset" 446 | ] 447 | }, 448 | { 449 | "cell_type": "code", 450 | "execution_count": 7, 451 | "metadata": {}, 452 | "outputs": [ 453 | { 454 | "data": { 455 | "text/plain": [ 456 | "SepalLengthCm 0\n", 457 | "SepalWidthCm 0\n", 458 | "PetalLengthCm 0\n", 459 | "PetalWidthCm 0\n", 460 | "Species 0\n", 461 | "dtype: int64" 462 | ] 463 | }, 464 | "execution_count": 7, 465 | "metadata": {}, 466 | "output_type": "execute_result" 467 | } 468 | ], 469 | "source": [ 470 | "# check for null values\n", 471 | "df.isnull().sum()" 472 | ] 473 | }, 474 | { 475 | "cell_type": "code", 476 | "execution_count": null, 477 | "metadata": {}, 478 | "outputs": [], 479 | "source": [] 480 | }, 481 | { 482 | "cell_type": "markdown", 483 | "metadata": {}, 484 | "source": [ 485 | "# Exploratory Data Analysis" 486 | ] 487 | }, 488 | { 489 | "cell_type": "code", 490 | "execution_count": 8, 491 | "metadata": {}, 492 | "outputs": [ 493 | { 494 | "data": { 495 | "text/plain": [ 496 | "" 497 | ] 498 | }, 499 | "execution_count": 8, 500 | "metadata": {}, 501 | "output_type": "execute_result" 502 | }, 503 | { 504 | "data": { 505 | "image/png": "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\n", 506 | "text/plain": [ 507 | "
" 508 | ] 509 | }, 510 | "metadata": { 511 | "needs_background": "light" 512 | }, 513 | "output_type": "display_data" 514 | } 515 | ], 516 | "source": [ 517 | "# histograms\n", 518 | "df['SepalLengthCm'].hist()" 519 | ] 520 | }, 521 | { 522 | "cell_type": "code", 523 | "execution_count": 9, 524 | "metadata": { 525 | "scrolled": true 526 | }, 527 | "outputs": [ 528 | { 529 | "data": { 530 | "text/plain": [ 531 | "" 532 | ] 533 | }, 534 | "execution_count": 9, 535 | "metadata": {}, 536 | "output_type": "execute_result" 537 | }, 538 | { 539 | "data": { 540 | "image/png": "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\n", 541 | "text/plain": [ 542 | "
" 543 | ] 544 | }, 545 | "metadata": { 546 | "needs_background": "light" 547 | }, 548 | "output_type": "display_data" 549 | } 550 | ], 551 | "source": [ 552 | "df['SepalWidthCm'].hist()" 553 | ] 554 | }, 555 | { 556 | "cell_type": "code", 557 | "execution_count": 10, 558 | "metadata": {}, 559 | "outputs": [ 560 | { 561 | "data": { 562 | "text/plain": [ 563 | "" 564 | ] 565 | }, 566 | "execution_count": 10, 567 | "metadata": {}, 568 | "output_type": "execute_result" 569 | }, 570 | { 571 | "data": { 572 | "image/png": "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\n", 573 | "text/plain": [ 574 | "
" 575 | ] 576 | }, 577 | "metadata": { 578 | "needs_background": "light" 579 | }, 580 | "output_type": "display_data" 581 | } 582 | ], 583 | "source": [ 584 | "df['PetalLengthCm'].hist()" 585 | ] 586 | }, 587 | { 588 | "cell_type": "code", 589 | "execution_count": 11, 590 | "metadata": {}, 591 | "outputs": [ 592 | { 593 | "data": { 594 | "text/plain": [ 595 | "" 596 | ] 597 | }, 598 | "execution_count": 11, 599 | "metadata": {}, 600 | "output_type": "execute_result" 601 | }, 602 | { 603 | "data": { 604 | "image/png": "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\n", 605 | "text/plain": [ 606 | "
" 607 | ] 608 | }, 609 | "metadata": { 610 | "needs_background": "light" 611 | }, 612 | "output_type": "display_data" 613 | } 614 | ], 615 | "source": [ 616 | "df['PetalWidthCm'].hist()" 617 | ] 618 | }, 619 | { 620 | "cell_type": "code", 621 | "execution_count": 12, 622 | "metadata": {}, 623 | "outputs": [], 624 | "source": [ 625 | "# scatterplot\n", 626 | "colors = ['red', 'orange', 'blue']\n", 627 | "species = ['Iris-virginica','Iris-versicolor','Iris-setosa']" 628 | ] 629 | }, 630 | { 631 | "cell_type": "code", 632 | "execution_count": 13, 633 | "metadata": {}, 634 | "outputs": [ 635 | { 636 | "data": { 637 | "text/plain": [ 638 | "" 639 | ] 640 | }, 641 | "execution_count": 13, 642 | "metadata": {}, 643 | "output_type": "execute_result" 644 | }, 645 | { 646 | "data": { 647 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYIAAAEGCAYAAABo25JHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3dfXxU5Znw8d9FEsWAggpdFTTBFtsqLwECKlpeDGprWV0tWNboylpFg67abmuLPL6UFleL62O1Qp9YVxCiQrFa7MdaFpUCvvEERBSt1gWhFPsYUVBMQQnX88c5E5JhZs6ZzJkz52Su7+czn8mcOS/X3DmZO+fc933doqoYY4wpXl0KHYAxxpjCsorAGGOKnFUExhhT5KwiMMaYImcVgTHGFLnSQgeQrV69emllZWWhwzDGmFhZs2bNB6raO9V7ea8IRKQEaAT+qqrjk96bDMwC/uou+oWq/irT/iorK2lsbMxHqMYY02mJyOZ074VxRXAd8CZwWJr3F6rqNSHEYYwxJoW8thGISF/gm0DG//KNMcYUTr4bi+8GbgD2ZVjnWyKyXkQWi8ixqVYQkSki0igijU1NTXkJ1BhjilXebg2JyHjgfVVdIyJj0qz2JPCIqu4RkauAecAZySupaj1QD1BdXW05MYyJgM8//5ytW7eye/fuQodi2ujatSt9+/alrKzM9zb5bCM4DThXRM4BugKHicgCVb04sYKqbm+z/v3AHXmMxxgToK1bt3LooYdSWVmJiBQ6HAOoKtu3b2fr1q3069fP93Z5uzWkqtNUta+qVgKTgGfbVgIAInJ0m5fn4jQqG2NiYPfu3Rx55JFWCUSIiHDkkUdmfZUW+jgCEZkBNKrqEuBaETkX2At8CEwOOx5jTMdZJRA9HfmdhDKyWFWXJ8YQqOrNbiWQuGo4SVUHq+pYVf1TGPGYzqWhASoroUsX57mhodARGRMvlmLCxFpDA0yZAps3g6rzPGWKVQbFonv37mnfGzlyZM77X7JkCbfffnvW2/k59uWXX84bb7zRkbACJ3GbmKa6ulptZLFJqKx0vvyTVVTAu++GHU1xefPNN/nqV79a0Bi6d+/Orl272i1raWmhpKQkr8fdu3cvpaXRzdCT6ncjImtUtTrV+nZFYGJty5bslpsCyuM9vOXLlzN27FguuugiBg4cCOy/WnjvvfcYNWoUVVVVDBgwgJUrVx6w/cknn8yGDRtaX48ZM4Y1a9Ywd+5crrnGSXwwefJkvve97zF27Fh++MMf0tTUxJlnnsnQoUO58sorqaio4IMPPmh37OXLlzNmzBgmTJjAV77yFWpra0n88z1mzJjWdDlPP/00Q4cOZfDgwdTU1ACwevVqRo4cyZAhQxg5ciRvvfVWYOWVLLpVmjE+HHdc6iuC444LPxaTQeIeXnOz8zpxDw+gtjaQQ6xevZrXX3/9gG6TDz/8MGeffTbTp0+npaWF5kQMbUyaNIlFixbx4x//mPfee49t27YxbNgwXnvttXbrvf322yxbtoySkhKuueYazjjjDKZNm8bTTz9NfX19yrheeeUVNmzYwDHHHMNpp53G888/z+mnn976flNTE1dccQUrVqygX79+fPjhhwB85StfYcWKFZSWlrJs2TJuvPFGHnvssVyLKSW7IjCxNnMmlJe3X1Ze7iw3ETJ9+v5KIKG52VkekBEjRqTsOz98+HAefPBBbr31Vl577TUOPfTQA9a58MIL+fWvfw3AokWLmDhxYspjTJw4sfW206pVq5g0aRIAX//61zn88MPTxtW3b1+6dOlCVVUV7ybds3zppZcYNWpUa+xHHHEEADt37mTixIkMGDCA7373u+2uWIJmFYGJtdpaqK932gREnOf6+sD+yTRBCeEeXrdu3VIuHzVqFCtWrKBPnz5ccsklPPTQQzz++ONUVVVRVVVFY2Mjffr04cgjj2T9+vUsXLiw9Qs+0zH8tq8efPDBrT+XlJSwd+/edu+rasounzfddBNjx47l9ddf58knn8zrCG6rCEzs1dY6DcP79jnPVglEULp7dSHcw9u8eTNf+MIXuOKKK/jOd77D2rVrOf/881m3bh3r1q2jutppP500aRI/+9nP2LlzZ2s7Qyann346ixYtAmDp0qV89NFHHYrv1FNP5Y9//CObNm0CaL01tHPnTvr06QPA3LlzO7Rvv6wiMMbkXwHv4S1fvpyqqiqGDBnCY489xnXXXZdyvQkTJvDoo49y4YUX+trvLbfcwtKlSxk6dCi///3vOfroo1PedvLSu3dv6uvrueCCCxg8eDDf/va3AbjhhhuYNm0ap512Gi0tLVnvNxvWfdQY0yFZdx9taHDaBLZsca4EZs6M9eXbnj17KCkpobS0lBdffJG6ujrWrVtX6LCA7LuPWq8hY0w4amtj/cWfbMuWLVx44YXs27ePgw46iPvvv7/QIXWYVQTGGNMB/fv355VXXil0GIGwNgJjjClyVhEYY0yRs4rAGGOKnFUExhhT5KwiMMbEVr7TUOfqnHPOYceOHVlvd+utt3LnnXfmIaLUrCIwBWWTypigJQZfvfDCC6EcLzllRFtPPfUUPXv2LGgMflhFYArGJpUpMpsa4IlKeLiL87wp+mmoP/30Uy677DKGDx/OkCFD+O1vfws4KR8mTpzIP/7jP3LWWWelPUZlZWVrauqHHnqIQYMGMXjwYC655BLASX9RU1PDoEGDqKmpYUuK3Evr1q3jlFNOYdCgQZx//vmtqSzGjBnDjTfeyOjRo/n5z3+eWwGqaqwew4YNU9M5VFSoOlVA+0dFRaEjM3688cYb/lfeuED10XLVBvY/Hi13luegW7duqqr63HPPaXl5uW7cuPGA9+6880796U9/qqqqe/fu1Y8//viA/dx111168803q6rqtm3btH///qqqOm3aNJ0/f76qqn700Ufav39/3bVrlz744IPap08f3b59e8ZjVFRUaFNTk77++ut6wgknaFNTk6pq63bjx4/XuXPnqqrqAw88oOedd56qqt5yyy06a9YsVVUdOHCgLl++XFVVb7rpJr3uuutUVXX06NFaV1eXslxS/W5w5opP+b1qVwSmYGxSmSLy6nRoSUpD3dLsLA9IPtJQL126lNtvv52qqirGjBnD7t27W/9rP/PMM1tTRnsd49lnn2XChAn06tUL2J9q+sUXX+Siiy4C4JJLLmHVqlXtttu5cyc7duxg9OjRAFx66aWsWLGi9f1EXqJcWUVgCqaACSlN2JrT1O7plndAPtJQqyqPPfZYa6bSLVu2tObwaXu8VMdoS9Okmk7mZx0/nzlbVhGYgrFJZYpIeZraPd3yAOWShvrss8/m3nvvbZ17IF1KiVTHaKumpoZFixaxfft2YH+q6ZEjR/Loo48C0NDQ0G7mMoAePXpw+OGHt7Y5zJ8/v/XqIEiWa8gUTCL/WCdKSGnSGTwTVk9pf3uopNxZnmfLly9n1qxZlJWV0b179wP+W0+YMGEC1113HTfddFPrsptuuonrr7+eQYMGoapUVlbyu9/9LutjnHTSSUyfPp3Ro0dTUlLCkCFDmDt3Lvfccw+XXXYZs2bNonfv3jz44IMH7HvevHlcddVVNDc3c/zxx6dcJ1eWhtoY0yFZp6He1OC0CTRvca4EBs+Eflbr50O2aajt1pBJy/r4m0D1q4V/ehcu2uc8WyUQGXZryKSU6OOfmG880ccf7NaNMZ2NXRGYlKZP318JJDQ3O8uNMZ2LVQQmJevjb0zxsIrApGR9/I0pHlYRmJSsj78xxcMqApNSbS3U10NFBYg4z/X11lBsoqVQaahvu+22vO27EKwiMGnV1sK778K+fc6zVQImDsJIQ20VQZZEpEREXhGRA4bjicjBIrJQRN4RkZdFpDLf8ZjiY+MhoiGfv4dc01Bv2LCBESNGUFVVxaBBg/jzn/8MwIIFC1qXX3nllbS0tPCjH/2Iv//971RVVVHr/nd01113MWDAAAYMGMDdd98NwKeffso3v/lNBg8ezIABA1i4cCEAM2bMYPjw4QwYMIApU6YQiUG96dKSBvUAvgc8DPwuxXtTgV+6P08CFnrtz9JQm2wsWKBaXt4+zXV5ubPc5CabNNT5+j0ElYb6mmuu0QVuMHv27NHm5mZ94403dPz48frZZ5+pqmpdXZ3Omzev3b5VVRsbG3XAgAG6a9cu/eSTT/TEE0/UtWvX6uLFi/Xyyy9vXW/Hjh2quj8FtarqxRdfrEuWLMmtEFKIVBpqEekLfBP4VZpVzgPmuT8vBmok2/R7xmRg4yGiIYzfQy5pqE899VRuu+027rjjDjZv3swhhxzCM888w5o1axg+fDhVVVU888wzbNy48YBtV61axfnnn0+3bt3o3r07F1xwAStXrmTgwIEsW7aMH/7wh6xcuZIePXoA8Nxzz3HyySczcOBAnn322XYT4hRKvm8N3Q3cAOxL834f4C8AqroX2AkcmbySiEwRkUYRaWxqaspXrKYTsvEQ0RDG7yGXNNQXXXQRS5Ys4ZBDDuHss8/m2WefRVW59NJLW7OUvvXWW9x6660H7F/T3No54YQTWLNmDQMHDmTatGnMmDGD3bt3M3XqVBYvXsxrr73GFVdcwe7du4MrhA7KW0UgIuOB91V1TabVUiw7oFRVtV5Vq1W1unfv3oHFaDo/Gw8RDYX8PfhJQ71x40aOP/54rr32Ws4991zWr19PTU0Nixcv5v333wec1NGbN28GoKysjM8//xxwKponnniC5uZmPv30Ux5//HG+9rWvsW3bNsrLy7n44ov5/ve/z9q1a1u/9Hv16sWuXbtYvHhx/gvAh3zmGjoNOFdEzgG6AoeJyAJVvbjNOluBY4GtIlIK9AA+zGNMpsjMnNk+ZxLYeIhCKOTvwU8a6oULF7JgwQLKyso46qijuPnmmzniiCP46U9/yllnncW+ffsoKyvjvvvuo6KigilTpjBo0CCGDh1KQ0MDkydPZsSIEQBcfvnlDBkyhD/84Q/84Ac/oEuXLpSVlTFnzhx69uzJFVdcwcCBA6msrGT48OH5LwA/0jUeBPkAxpC6sfhq2jcWL/LalzUWm2wtWODMgyziPFtDcTCymrNY7fcQpmwbi0PPPioiM9yAlgAPAPNF5B2cK4FJYcdjOr/aWhsDEQX2e4iuUAaUqepyVR3v/nyzWwmgqrtVdaKqfklVR6jqgU3yJtamToXSUmd0cmmp89oYEy02H4HJm6lTYc6c/a9bWva/nj27MDGZYKnPSdlNeLQDA9QsxYTJm/r67JabeOnatSvbt2+PxshYAziVwPbt2+natWtW29kVgckbN+WL7+UmXvr27cvWrVuxsT3R0rVrV/r27ZvVNlYRmLwpKUn9pV9SEn4sJnhlZWUpR/Ka+LFbQyZvEnMc+11ujCkMuyIweZNoEK6vd64MSkqcSsAaio2JFqsITF7Nnm1f/MZEnd0aKmLjxjn9+xOPceMKHVHH2HwDJrKCODnDOMHTDTmO6sNSTASjpqZ9bvjEo6am0JFlx+YbMJEVxMkZ4AlOhhQTojHrA1xdXa2NjY2FDiP2Mo0BitMpUVkJbkLIdioqnOk1jSmYIE7OAE9wEVmjqtWp3rNbQybWbL4BE1lBnJwhneBWEZhYs/kGTGQFcXKGdIJbRVCkamqyWx5VM2c6ee3bsvkGTCQEcXKGdIJbRVCkli078Eu/psZZHie1tc44hYoKp92josJ5bemOTcEFcXKGdIJbY7ExxhQBayw2KYXRxdn6+BsTfTayuEg1NLSfQ3bz5v05gPxedXrtI4hjGGPyz24NFakwujhbH39josNuDZkDhNHF2fr4GxMPVhEUqTC6OFsff2PiwSqCIhVGF2fr429MPFhFUKTC6OJsffyNiQdrLDbGmCJgjcUhi0Lf+SjEYEze2AkeKBtHELAo9J2PQgzG5I2d4IGzW0MBi0Lf+SjEYEze2AneIXZrKERR6DsfhRiMyRs7wQNnFUHAotB3PgoxGJM3doIHziqCgEWh73wUYjAmb+wED5xVBAGLQt/5KMRgTN7YCR44X43FItIHqKBNLyNVXZHHuNKKemOxMcZEUU6NxSJyB/A88L+AH7iP7/vYrquIrBaRV0Vkg4j8OMU6k0WkSUTWuY/LPT+N8WXqVCgtdf5hKi11Xme7Thhdta07uDERoKoZH8BbwMFe66XYToDu7s9lwMvAKUnrTAZ+kc1+hw0bpiazujpVOPBRV+d/nQULVMvL279XXu4sD0oYxzDGOIBGTfO96nlrSER+D0xU1V0drWxEpBxYBdSp6sttlk8GqlX1Gr/7sltD3kpLoaXlwOUlJbB3r791wuiqbd3BjQlPpltDaUcWi8i9gALNwDoReQbYk3hfVa/1ceASYA3wJeC+tpVAG98SkVHA28B3VfUvKfYzBZgCcJx1EfOU6gs+ebnXOmF01bbu4MZEQ6Y2gkacL/ElwE+AF9zXa9z3PKlqi6pWAX2BESIyIGmVJ4FKVR0ELAPmpdlPvapWq2p17969/Ry6qJWUeC/3WieMrtrWHdyYaEhbEajqPFWdB/RM/Nxm2eHZHERVdwDLga8nLd+uqomrjPuBYVlFb1JKpF3JtNxrnTC6alt3cGMiIl3jQeIBrE2x7BUf2/XGqUQADgFWAuOT1jm6zc/nAy957dcai/2pq1MtKXEaYEtK2jcU+11nwQLVigpVEec5H424YRzDGNPBxmIR+WfgIuB090s84VCgRVXHZapgRGQQzq2eEpwrj0WqOkNEZrgBLRGR/wDOBfYCH+I0Jv8p036tsdgYY7LX0XEELwD/CfzJfU48/p2kWzypqOp6VR2iqoNUdYCqznCX36yqS9yfp6nqSao6WFXHelUCcRFE33g/4wBy3d4rzih8jsjY1ABPVMLDXZznTR0ojDAK3JiOSHepENVH1G8NBdE33s84gFy394ozCp8jMjYuUH20XLWB/Y9Hy53lfoVR4MZkQAdvDX2C0300XQVyWJ7qpoyifmsoiL7xfsYB5Lq9V5xR+ByR8UQlNKcojPIK+Kd3/e0jjAI3JoMOjSNQ1UPdjWcAfwPm44wWrsVpJzApBNE33s84gFy394ozCp8jMprTfOh0y1MJo8CN6SA/2UfPVtXZqvqJqn6sqnOAb+U7sLgKom+8n3EAuW7vFWcUPkdklKf50OmWpxJGgRvTQX4qghYRqRWREhHpIiK1QNz+pwtNEH3j/YwDyHV7rzij8DkiY/BMKEkqjJJyZ7lfYRS4MR2VrvEg8QAqgd8CHwBNwBM4o4GtsTiNIPrG+xkHkOv2XnFG4XNExsYFqo9XqDaI85xNQ3FCGAVuTBrkknQuaqLeWGyMMVHUoXEEInKD+3yviNyT/MhXsCYYfrqkW7f1iGmYCveVQoO4zwUadNFpBn8Yv9L2GgLedJ/t3++YaWhw7sM3NzuvN2/ef18+MZufn3VMiBqmwmdz9mfxOrwF9syBBqB2dnhxTJ0Kc+bsf93Ssv/17BDjMKHKNI6gCnhVI3bvyG4NefPTJd26rUfMfaXOl3+yj0rg6hAHXXSawR8mWYfGEQC/AvqJyFqcqSpfwEkK93EeYjQB8tMl3bqtR0zPNB3xeoTcQa/TDP4w2ciUhroaOBaYCXwGXAv82Z2D2K4RI8xPl3Trth4xO9IMrtgZ8qCLTjP4w2Qj4zgCVW1W1eXAz4H/DdwHdMNH0jlTOH66pFu39YjpOaXN/H+uPe7yMHWawR8mG5l6DV0kIr8QkVU4s5SdCbwGnK6qx4cVoMlebS3U1zv3+0Wc5/r69o3AftYxIaqdDQfVOW0C+3CeD6oLt6EYnAbhurr9VwAlJc5rayju1DI1Fu/CSUH9S2CFqr4dZmDpWGOxMcZkr6PzEfTAmTC+K3CriKwRkd+JyHQROSMfgUZBEH3rvfYRRjdtGyOQpSDmGwiD11iDMH7xQcyrkGt52wkerHRDjpMfwD8AVwPv4MxQ1ulSTASREt5rH2Hk6LfU9lkKYr6BMCyoU/0v2sf5XzjLVcP5xQcxr0Ku5W0neIfQwfkIBgEj2zwOAl7E6Ub6vKoW5P5MPm8NBdG33msfYXTTtjECWQpivoEweI01COMXH8S8CrmWt53gHZLp1lCmiqDt+IEXVDVFyYcvnxVBly7OvxfJRGDfvmD2IZJ+26CG7gXxOYrKw11IPQeTwEURKrAGcWYESbYPuFjD+cV7HcNPDLmWt53gHdKhNgJVHaqq/6aqj0SlEsi3IPrWe+0jjG7aNkYgS0HMNxAGr7EGYfzig5hXIdfythM8cH7mIygaQfSt99pHGN20bYxAloKYbyAMXmMNwvjFBzGvQq7lbSd48NI1HkT1ke/5CIJICe+1jzBy9Ftq+ywFMd9AGBbUqf6iRHU+zvOCpJMnjF98EPMq5FredoJnDZuPwBhjiltH5yN4UkSWpHvkL9z4C2MswrhxTttY4jFuXO5xmxgIZZzAOJgvTuP0fHFeZ+PmcXCPu/094rw2kZap19DoTBuq6h/zEpGHqF8RJOf5B+f2ZTbpG7z2MW4cPPPMgdvV1MCyZbnFbyIsiJPL8xjjgGfa905SgBqo9XFy3TwO+j0DB7dZtgfYVAMz7OQspA51H42qqFcEYYxFCKMLqomgMPrPzxdI1TmpBbjEx8l1j0CvFMs/AK61k7OQOjofQWLj/sB/ACfipJsAQC3xXEpB5Pm3uQJMSmGcGOluFvvtX3hkmuVHdCAWExo/v94HgTnAXmAs8BAwP59BxVkYYxFMkQrjxEg3HsvvOK3taZZ/2IFYTGj8VASHqOozOLeRNqvqrUCnTTqXqzDGItTUpN4u3XLTSYTRf75LzYGDftVd7scHNanHOnxgJ2eU+akIdotIF5zZya4RkfOBL+Q5rtgKIs+/1z6WLTvwS98aiotAGJNI1C4Dapw2AcV59ttQDE6D8KYap01gH86zNRRHnmdjsYgMB94EegI/wUlP/TNVfSn/4R0o6o3FxhgTRR2djwAAVf2/qroL+Bi4VlUv8FMJiEhXEVntznG8QUR+nGKdg0VkoYi8IyIvi0il98fJTRCp1MPgNWdBXD5HIHn+V0+FR0rhYXGeVycVRhDHyDXPv9f2YfEaYOKnrDrLnAdhiEucXtINOU48gGqcKSrfdR+vAsN8bCdAd/fnMuBl4JSkdaYCv3R/ngQs9NpvLikmgkilHgavOQvi8jkCyfP/cl377ROPl+uCO0auef69tg9LTU3qE6emxnnfT1l1ljkPwhCXOF3kkmJCRNYDV6vqSvf16cBsVR3kt7IRkXJgFVCnqi+3Wf4H4FZVfVFESoG/Ab01Q1C53BoKIpV6GLzmLIjL5wgkz/8jpaApCkNK4J/3BnOMXPP8e20fFq8BJn7KqrPMeRCGuMTpyunWEPBJohIAUNVVwCc+D1wiIuuA94H/blsJuPoAf3H3uxfYSYqeyCIyRUQaRaSxqanJz6FT8uqGHZX++6kqgbbL4/I5aE5zwHTLU0lVCbRdHsQxeqY5Rg+fBe61fVT4KatcyyIIcTnB4xKnD34qgtUi8n9EZIyIjBaR2cByERkqIkMzbaiqLapaBfQFRojIgKRVUv0Lc8DVgKrWq2q1qlb37t3bR8ipBZFKPQxecxbE5XMEkudf0hRGYnkQx8g1z7/X9lHhp6w6y5wHYYhLnD74qQiqgBOAW4Bbga/iTF35n8Cdfg6iqjuA5cDXk97aChwL4N4a6kEeh54EkUo9DF5zFsTlcwSS5/+LaQojsTyIY+Sa599r+7B4DTDxU1adZc6DMMQlTj/SNR7k+gB6Az3dnw8BVgLjk9a5mvaNxYu89pvrfARBpFIPg9ecBXH5HIHk+X+5TvXhEqfh8uGS/Q3FQR4j1zz/XtuHJbnBONFQnOCnrDrLnAdhiEucmntj8T8AtwHHqOo3RORE4FRVfcBju0HAPJwUVl3cL/kZIjLDDWiJiHTFSVcxBOdKYJKqbsy0XxtHYIwx2cu1sXgu8AfgGPf128D1Xhup6npVHaKqg1R1gKrOcJffrKpL3J93q+pEVf2Sqo7wqgTCEJduv0XFq+97EOMIwojBax0/J1+unzWMsooK+2P2zTP7KNBLVReJyDRweveISMS6QwQjOd375s3778sHOYrfZGFTA6yeAi3uL6V5s/MaoF+t9/tRicFrHT8nX66fNYyyigr7Y86Kn1tDy4Fv4XT/HCoipwB3qGrGiWvyJZ+3hiLW7deAd9/3IMYRhBGD1zp+Tr5cP2sYZRUV9sd8gJzmIwC+BywBvigiz+M0Ak8IML7IiFG33+Lh1fc9iHEEYcTgtY6fky/XzxpGWUWF/TFnxU+uobXAaJwuo1cCJ6nq+nwHVggx6vZbPLz6vgcxjiCMGLzW8XPy5fpZwyirqLA/5qxkmrx+uIgcBa2jfocBM4H/FJFOOd9QnLr9Fg2vvu9BjCMIIwavdfycfLl+1jDKKirsjzk76fqVAmuBI9yfRwHbcNoKfgIsTrddvh+5jiPwEqFuvybBq+97EOMIwojBax0/J1+unzWMsooK+2Nuh46MIxCRV1V1sPvzfUCTOrOTISLr1EkdETobR2CMMdnr6DiCEjftA0AN8Gyb9/w0MhsTDK/+4F7zFYTRn9wrBj9x+InTa6KKKIypiIsozKsQFekuFYDpwPPAb4FX2N/V9EvA8+m2y/cj37eGTMR45XT3mq8gjJzwXjH4icNPnF4TVQQxN4OXMI4RhijMqxAyOppiwh0zcDSwVFU/dZedgDPhzNp8VlDp2K2hIuPVH9xrvoIw+pN7xQDB5K73mqgiCmMq4iIK8yqErMPjCDTFlJSq+nZQgRnjyas/uNd8BWH0J/eKwU8cfuL0mqgiCmMq4iIK8ypEiJ9cQ8YUjld/cK/5CsLoT+4Vg584/MTpNVFFFMZUxEUU5lWIEKsITLR59Qf3mq8gjP7kXjH4icNPnF4TVURhTEVcRGFehShJ13gQ1Yc1Fhchr/7gXvMVhNGf3CsGP3H4idNroooojKmIiyjMqxAicpmPIGqssdgYY7KX63wExhhjOjGrCEx6URk4lGscs06C+QIN4jzPOin8GPzwM/goLgOUTKzYCGGTWlQmMck1jlknwTFvgLivS3BezzoJfrAhnBj88DORik22YrfISrIAAA4cSURBVPLE2ghMalEZOJRrHPPF+fJP1gJc4vPcD6Ms/Aw+itgAJRMv1kZgsheVgUO5xpHuDM/mzA+jLPwMPorRACUTL1YRmNSiMnAo1zj2Zbk8HzH44WfwUYwGKJl4sYrApBaVgUO5xvG3EyH5DpC6y8OKwQ8/g4/iNEDJxIpVBCa1frUwot65D444zyPqw20oDiKOH2yAbSc6bQKK87ztRP8NxUHE4EdtLdTXO/f7RZzn+vr2jcB+1jGmA6yx2BhjioA1FpvoCqJ/vtc+ojIGwBSfmJwXNo7AFE4Q/fO99hGVMQCm+MTovLBbQ6Zwguif77WPqIwBMMUnYueF3Roy0RRE/3yvfURlDIApPjE6L6wiMIUTRP98r31EZQyAKT4xOi+sIjCFE0T/fK99RGUMgCk+MTovrCIwhRNE/3yvfURlDIApPjE6L/LWWCwixwIPAUfhDOivV9WfJ60zBvgtsMld9BtVnZFpv9ZYbIwx2StUY/Fe4N9V9avAKcDVIpJqXP9KVa1yHxkrAdNGEP2TozDfgJ8YvNaJSV9tTw1T4b5SZ96E+0qd1wWJo5OUp/Etb+MIVPU94D33509E5E2gD/BGvo5ZNILonxyF+Qb8xOC1Toz6amfUMBU+mwOHu68Pb4E9c6ABqJ0dYhydpDxNVkIZRyAilcAKYICqftxm+RjgMWArsA34vqpmTAJjt4YIpn9yFOYb8BOD1zoR66vdYfeVOl/+yT4qgav3hhdHZylPc4BMt4byPrJYRLrjfNlf37YScK0FKlR1l4icAzwB9E+xjynAFIDjItj1KnRB9E+OwnwDfmLwWidGfbUz6pmiEgDokWZ5vnSW8jRZyWuvIREpw6kEGlT1N8nvq+rHqrrL/fkpoExEeqVYr15Vq1W1unfv3vkMOR6C6J8chfkG/MTgtU6M+mpntCPVNGrAzjTL86WzlKfJSt4qAhER4AHgTVW9K806R7nrISIj3Hi25yumTiOI/slRmG/ATwxe68Sor3ZGPafAnqRle9zlYeos5Wmyks8rgtOAS4AzRGSd+zhHRK4SkavcdSYAr4vIq8A9wCSNW/KjQgiif3IU5hvwE4PXOjHqq51R7Ww4qM5pE9iH83xQXbgNxdB5ytNkxZLOGWNMEbCkc51RFMYABGH1VHikFB4W53l1gfrOG1PEbD6COIrCGIAgrJ4K78zZ/1pb9r8eEfItEWOKmF0RxNGr0/dXAgktzc7yOPmf+uyWG2PywiqCOIrCGIAgaJo+8umWG2PywiqCOIrCGIAgSJo+8umWG2PywiqCOIrCGIAgfDFNH/l0y40xeWEVQRxFYQxAEEbMhi/V7b8CkBLntTUUGxMqG0dgjDFFwMYRBCwW6drjMs4gLnGGwcrCFIiNI8hSLNK1x2WcQVziDIOVhSkguzWUpVika4/CXAN+xCXOMFhZmDyzW0MBikW69riMM4hLnGGwsjAFZBVBlmKRrj0u4wziEmcYrCxMAVlFkKVYpGuPyziDuMQZBisLU0BWEWQpFuna4zLOIC5xhsHKwhSQNRYbY0wRsMZiY3LVMBXuK4UGcZ87MG+CjRMwEWUVgTFeGqbCZ3Pg8BYQnOfP5mRXGSTGCTRvBnT/OAGrDEwEWEVgjJcd9XBw0rKD3eV+dZY5JEynZBWBMV56ppkfoUcW8ybYOAETYVYRGONlR5r5EXZmMW+CjRMwEWYVgTFeek6BPUnL9rjL/bJxAibCrCIwxkvtbDioDj4qgX04zwfVOcv9snECJsJsHIExxhQBG0dgjDEmLasIjDGmyFlFYIwxRc4qAmOMKXJWERhjTJGzisAYY4qcVQTGGFPkrCIwxpgil7eKQESOFZHnRORNEdkgItelWEdE5B4ReUdE1ovI0HzFU3Qs970xxqfSPO57L/DvqrpWRA4F1ojIf6vqG23W+QbQ332cDMxxn00uErnvE2mPE7nvwVIaGGMOkLcrAlV9T1XXuj9/ArwJ9Ela7TzgIXW8BPQUkaPzFVPRsNz3xpgshNJGICKVwBDg5aS3+gB/afN6KwdWFojIFBFpFJHGpqamfIXZeVjue2NMFvJeEYhId+Ax4HpV/Tj57RSbHJAFT1XrVbVaVat79+6djzA7F8t9b4zJQl4rAhEpw6kEGlT1NylW2Qoc2+Z1X2BbPmMqCpb73hiThXz2GhLgAeBNVb0rzWpLgH9xew+dAuxU1ffyFVPRsNz3xpgs5LPX0GnAJcBrIrLOXXYjcByAqv4SeAo4B3gHaAb+NY/xFJd+tfbFb4zxJW8VgaquInUbQNt1FLg6XzEYY4zxZiOLjTGmyFlFYIwxRc4qAmOMKXJWERhjTJGzisAYY4qcVQTGGFPkxOnBGR8i0gRsLnQcrl7AB4UOwkMcYgSLM2gWZ7DiEKdXjBWqmjJHT+wqgigRkUZVrS50HJnEIUawOINmcQYrDnHmEqPdGjLGmCJnFYExxhQ5qwhyU1/oAHyIQ4xgcQbN4gxWHOLscIzWRmCMMUXOrgiMMabIWUVgjDFFzioCH0SkREReEZHfpXhvsog0icg693F5gWJ8V0Rec2NoTPG+iMg9IvKOiKwXkaERjXOMiOxsU543FyjOniKyWET+JCJvisipSe9HpTy94ix4eYrIl9scf52IfCwi1yetU9Dy9BljwcvSjeO7IrJBRF4XkUdEpGvS+weLyEK3LF9254zPKJ8T03Qm1wFvAoeleX+hql4TYjzpjFXVdANKvgH0dx8nA3Pc50LIFCfASlUdH1o0qf0ceFpVJ4jIQUDS3J+RKU+vOKHA5amqbwFV4PxTBfwVeDxptYKWp88YocBlKSJ9gGuBE1X17yKyCJgEzG2z2neAj1T1SyIyCbgD+Ham/doVgQcR6Qt8E/hVoWPJ0XnAQ+p4CegpIkcXOqgoEpHDgFE4U62iqp+p6o6k1Qpenj7jjJoa4H9UNTk7QMHLs410MUZFKXCIiJTiVPzJ87yfB8xzf14M1LhTB6dlFYG3u4EbgH0Z1vmWezm7WESODSmuZAosFZE1IjIlxft9gL+0eb3VXRY2rzgBThWRV0Xk9yJyUpjBuY4HmoAH3VuCvxKRbknrRKE8/cQJhS/PtiYBj6RYHoXyTEgXIxS4LFX1r8CdwBbgPZx53pcmrdZalqq6F9gJHJlpv1YRZCAi44H3VXVNhtWeBCpVdRCwjP01cdhOU9WhOJfYV4vIqKT3U/1HUIi+w15xrsXJiTIYuBd4IuwAcf7jGgrMUdUhwKfAj5LWiUJ5+okzCuUJgHvr6lzg16neTrEs9PPTI8aCl6WIHI7zH38/4Bigm4hcnLxaik0zlqVVBJmdBpwrIu8CjwJniMiCtiuo6nZV3eO+vB8YFm6IrXFsc5/fx7m3OSJpla1A26uVvhx4SZl3XnGq6sequsv9+SmgTER6hRzmVmCrqr7svl6M84WbvE6hy9MzzoiUZ8I3gLWq+v9SvBeF8oQMMUakLMcBm1S1SVU/B34DjExap7Us3dtHPYAPM+3UKoIMVHWaqvZV1Uqcy8VnVbVd7Zt0H/NcnEblUIlINxE5NPEzcBbwetJqS4B/cXtnnIJzSfle1OIUkaMS9zNFZATOObo9zDhV9W/AX0Tky+6iGuCNpNUKXp5+4oxCebbxz6S/5VLw8nSljTEiZbkFOEVEyt1YajjwO2cJcKn78wSc762MVwTWa6gDRGQG0KiqS4BrReRcYC9OrTu5ACH9A/C4e46WAg+r6tMichWAqv4SeAo4B3gHaAb+NaJxTgDqRGQv8HdgktdJnCf/BjS4two2Av8awfL0E2ckylNEyoEzgSvbLItUefqIseBlqaovi8hinNtUe4FXgPqk76QHgPki8g7Od9Ikr/1aigljjClydmvIGGOKnFUExhhT5KwiMMaYImcVgTHGFDmrCIwxpshZRWA6FRGZ7mZmXO9miAw0cZk4GShTZaFNuTzgY9/Y5udKEUkeK2JMh1hFYDoNcVIwjweGuik/xtE+f03c3ei9ijHZs4rAdCZHAx8kUn6o6geJlBYiMkxE/ugmu/tDYkS4iCwXkbtF5AVx8ruPcJePcJe94j5/Oe1RM/A47h0islpE3haRr7nLy0VkkXtFs1CcfPLVInI7TsbJdSLS4O6+RETud6+AlorIITmVnilaVhGYzmQpcKz7xTpbREYDiEgZTpKwCao6DPgvYGab7bqp6khgqvsewJ+AUW4yt5uB27INxsdxS1V1BHA9cIu7bCpOLvlBwE9wc1ep6o+Av6tqlarWuuv2B+5T1ZOAHcC3so3RGLAUE6YTUdVdIjIM+BowFlgoIj8CGoEBwH+76S1KcFL4Jjzibr9CRA4TkZ7AocA8EemPk7mxrAMhfdnjuL9xn9cAle7Pp+NMNoOqvi4i6zPsf5OqrkuxD2OyYhWB6VRUtQVYDiwXkddwkm+tATao6qnpNkvx+ifAc6p6vjhT/S3vQDjicdxE1toW9v8tZpxAJM32iX3YrSHTIXZryHQa4sw727/NoipgM/AW0NttTEZEyqT9pCLfdpefjpP1cidO6t6/uu9P7mBIXsdNZRVwobv+icDANu997t5uMiZQdkVgOpPuwL3urZ29OJksp6jqZyIyAbhHRHrgnPd3Axvc7T4SkRdw5qS+zF32M5xbQ98DnvV5/BoR2drm9UScjJXpjpvKbPe463EyS67HmWEKoB5YLyJrgek+YzLGk2UfNUVNRJYD31fVxkLHAq0Tp5ep6m4R+SLwDHCCqn5W4NBMJ2ZXBMZESznwnHsLSIA6qwRMvtkVgTHGFDlrLDbGmCJnFYExxhQ5qwiMMabIWUVgjDFFzioCY4wpcv8fgyuSa2vm+QMAAAAASUVORK5CYII=\n", 648 | "text/plain": [ 649 | "
" 650 | ] 651 | }, 652 | "metadata": { 653 | "needs_background": "light" 654 | }, 655 | "output_type": "display_data" 656 | } 657 | ], 658 | "source": [ 659 | "for i in range(3):\n", 660 | " x = df[df['Species'] == species[i]]\n", 661 | " plt.scatter(x['SepalLengthCm'], x['SepalWidthCm'], c = colors[i], label=species[i])\n", 662 | "plt.xlabel(\"Sepal Length\")\n", 663 | "plt.ylabel(\"Sepal Width\")\n", 664 | "plt.legend()" 665 | ] 666 | }, 667 | { 668 | "cell_type": "code", 669 | "execution_count": 14, 670 | "metadata": {}, 671 | "outputs": [ 672 | { 673 | "data": { 674 | "text/plain": [ 675 | "" 676 | ] 677 | }, 678 | "execution_count": 14, 679 | "metadata": {}, 680 | "output_type": "execute_result" 681 | }, 682 | { 683 | "data": { 684 | "image/png": "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\n", 685 | "text/plain": [ 686 | "
" 687 | ] 688 | }, 689 | "metadata": { 690 | "needs_background": "light" 691 | }, 692 | "output_type": "display_data" 693 | } 694 | ], 695 | "source": [ 696 | "for i in range(3):\n", 697 | " x = df[df['Species'] == species[i]]\n", 698 | " plt.scatter(x['PetalLengthCm'], x['PetalWidthCm'], c = colors[i], label=species[i])\n", 699 | "plt.xlabel(\"Petal Length\")\n", 700 | "plt.ylabel(\"Petal Width\")\n", 701 | "plt.legend()" 702 | ] 703 | }, 704 | { 705 | "cell_type": "code", 706 | "execution_count": 15, 707 | "metadata": {}, 708 | "outputs": [ 709 | { 710 | "data": { 711 | "text/plain": [ 712 | "" 713 | ] 714 | }, 715 | "execution_count": 15, 716 | "metadata": {}, 717 | "output_type": "execute_result" 718 | }, 719 | { 720 | "data": { 721 | "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXgAAAEGCAYAAABvtY4XAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO3de5wU5ZXw8d+hB4QBFYVx30TCDK7GRLkMMKCgy8VBTdR4WzSEieIaHAOaYJI3iYYYjRFfjX6M0Xdx30mMYhijBleX+Kqr4eJlNZIZRBTQ3YRbiG7EUVAYUWY4+0d1z6Wnu6t6uqq6uvt8P5/+9PRT1VWni+FM9anneUpUFWOMMcWnT74DMMYYEwxL8MYYU6QswRtjTJGyBG+MMUXKErwxxhSpsnwH0NXQoUO1qqoq32EYY0zBaG5ufldVK1Iti1SCr6qqoqmpKd9hGGNMwRCRbemWWYnGGGOKlCV4Y4wpUoEleBE5VkTWdXl8ICJXBbU/Y4wx3QVWg1fVN4FqABGJAX8FHs12O/v372fHjh3s27fP5whNLvr378+wYcPo27dvvkMxxqQR1kXWWuDPqpr2YkA6O3bs4OCDD6aqqgoRCSA0ky1VpaWlhR07djBixIh8h2OMSSOsGvws4DepFohIvYg0iUjTzp07eyzft28fQ4YMseQeISLCkCFD7FuVMREXeIIXkX7A2cBvUy1X1QZVrVHVmoqKlF05LblHkP2bmJLX2AhVVdCnj/Pc2JjviHoIo0TzRWCtqv4thH0ZY0zwGhuhvh5aW53X27Y5rwHq6vIXV5IwSjRfIU15plAMGjQo7bLJkyfnvP3ly5dz8803Z/0+L/ueO3cuGzdu7E1Yxph0Fi7sTO4Jra1Oe4RIkDf8EJFy4C/AUaq62239mpoaTR7JumnTJj7/+c8HFKE3gwYNYs+ePd3a2tvbicVige63ra2NsrJIDTbuJgr/NsbkRZ8+kCp3isCBA6GGIiLNqlqTalmgZ/Cq2qqqQ7wkd98EWBdbvXo106dPZ/bs2YwaNQroPLt/++23mTJlCtXV1YwcOZLnn3++x/tPOOEENmzY0PF62rRpNDc3c99993HllVcCcMkll/Dtb3+b6dOn8/3vf5+dO3dy6qmnMm7cOC6//HIqKyt59913u+179erVTJs2jZkzZ/K5z32Ouro6En+4p02b1jH9w1NPPcW4ceMYM2YMtbW1AKxZs4bJkyczduxYJk+ezJtvvunb8TKmaA0fnl17vqhqZB7jx4/XZBs3buzRltbSparl5arO31bnUV7utOdg4MCBqqq6atUqLS8v182bN/dYdtttt+mNN96oqqptbW36wQcf9NjO7bffrj/60Y9UVfWtt97SY445RlVV7733Xr3iiitUVXXOnDl65plnaltbm6qqXnHFFXrTTTepquqTTz6pgO7cubNHXIcccoj+5S9/0fb2dj3xxBP1+eefV1XVqVOn6h//+Ed95513dNiwYR2xt7S0qKrq7t27df/+/aqq+swzz+j555/v+bhk9W9jTDEJKNf0BtCkaXJqcU1VEEJdbOLEiSn7fk+YMIF7772X66+/ntdee42DDz64xzoXXnghv/2t05no4Ycf5oILLki5jwsuuKCj/PPCCy8wa9YsAL7whS9w2GGHpY1r2LBh9OnTh+rqarZu3dpt+R/+8AemTJnSEfvhhx8OwO7du7ngggsYOXIk3/rWt7p9wzDGpFFXB5MmdW+bNClSF1ih2Oai2b49u/ZeGDhwYMr2KVOm8Nxzz3HkkUdy0UUXcf/99/Poo49SXV1NdXU1TU1NHHnkkQwZMoT169fz0EMPdSTuTPtQj9dIDjrooI6fY7EYbW1t3Zarasqujddeey3Tp0/n9ddf53e/+531bTfGi/nzYcWK7m0rVjjtEVJcCT6PdbFt27ZxxBFHcNlll/G1r32NtWvXct5557Fu3TrWrVtHTY1zDWTWrFn89Kc/Zffu3R11/ExOPvlkHn74YQCefvpp3n///V7FN2nSJJ599lm2bNkCwHvvvQc4Z/BHHnkkAPfdd1+vtm1MyWloyK49T4orwS9aBOXl3dvKy532gK1evZrq6mrGjh3LI488woIFC1KuN3PmTB588EEuvPBCT9u97rrrePrppxk3bhxPPvkkn/rUp1KWf9xUVFTQ0NDA+eefz5gxY/jyl78MwPe+9z2uueYaTjrpJNrb27PerjElKd3/laj9H0pXnM/HI+eLrKrORY7KSlUR5zkPFz38tG/fvo6LoC+++KKOGTMmzxF1souspmi55ZFYrPsF1sQjFgs9VDJcZI1uJ+veqquL3IWOXGzfvp0LL7yQAwcO0K9fP37xi1/kOyRjipuXUar19XD33T3fm1gvIoov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\n", 722 | "text/plain": [ 723 | "
" 724 | ] 725 | }, 726 | "metadata": { 727 | "needs_background": "light" 728 | }, 729 | "output_type": "display_data" 730 | } 731 | ], 732 | "source": [ 733 | "for i in range(3):\n", 734 | " x = df[df['Species'] == species[i]]\n", 735 | " plt.scatter(x['SepalLengthCm'], x['PetalLengthCm'], c = colors[i], label=species[i])\n", 736 | "plt.xlabel(\"Sepal Length\")\n", 737 | "plt.ylabel(\"Petal Length\")\n", 738 | "plt.legend()" 739 | ] 740 | }, 741 | { 742 | "cell_type": "code", 743 | "execution_count": 16, 744 | "metadata": {}, 745 | "outputs": [ 746 | { 747 | "data": { 748 | "text/plain": [ 749 | "" 750 | ] 751 | }, 752 | "execution_count": 16, 753 | "metadata": {}, 754 | "output_type": "execute_result" 755 | }, 756 | { 757 | "data": { 758 | "image/png": "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mDFjBrHrQOzuBS/A0cCJQF2Y/Yq5jBs3zqva2rnuv6x3b6Vr+WV9kJ7NUy09t+9cnmopX74lcdasWVPwtg0N7kE46Lk0NOxaHvbcc093d3/kkUe8vr7e165du9N7P/jBD/w73/mOu7tv27bN33777Z0+54ILLvC5c4P/Q1u3bvWOjg5fs2aNf/KTn/R///vf7u7e0tLid9xxR4/Pdndva2vzESNG+KZNm/ydd97x4cOH+4oVK3z+/Pl+7rnnprd766233N19w4YN6bQzzjjDFyxYsGsnIYNM1wZo8wK+YwupaL6rWwD5k7svAH5eqiAleURpe1+OORtEcsgwd0zO9Ch2ZejsI444gmuuuYbrrruO9vZ29thjDxYtWsTy5cuZMGECTU1NLFq0iLVr1+6072OPPcbUqVPZc889GTBgACeddBKPPvooI0eOZOHChVxyySU8+uij7L333gA88sgjHHbYYYwcOZLFixf3mNwnDgp5fHRo9xUzqyGYcEcqIUrb+3LM2SCSw9AsrYCzpUexK0Nnn3766SxYsIA99tiD4447jsWLF+PunH322enRVF988UWuvPLKnT7fszz++dCHPsTy5csZOXIkl112GVdffTVbtmxh5syZzJ8/n+eee47p06ezZcuW4p2EIsg1n8JlZvYOMMrM3jazd1LrbwAPli2H0lOUcenLMWeDSA6zZ0N9r9bB9fVBeqkVMnT22rVred/73seFF17IiSeeyKpVq2hubmb+/Pm88cYbQDDcdXt70O+lrq6Od999FwiCzgMPPEBHRwebN2/m/vvv5yMf+QivvfYa9fX1nHHGGVx88cWsWLEiHQD2339/Nm3axPz580t/AkLK1aP5u8B3zey77n5ZGfMkuYye3XM8H8jf9v79M3qOZdQ9XaQMOlsZFbv1USEKGTp73rx5zJ07l7q6Ot773vfyzW9+k3333ZfvfOc7fOxjH2PHjh3U1dVx880309DQwIwZMxg1ahRjx46ltbWVc845h4kTJwJw7rnnMmbMGP7whz/w9a9/nX79+lFXV8ett97KwIEDmT59OiNHjqSxsZEJEyaU/gSEVEiT1H7A6cAwd/+2mR0MHOjuy8qRwd7UJJWgtVHYcemXzSztnA1SdTR0dnztSpPUQoa5uBnYARwLfBvYlEqLX4irFsOmhe+ANfEWBQERyauQiubD3P18YAuA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\n", 759 | "text/plain": [ 760 | "
" 761 | ] 762 | }, 763 | "metadata": { 764 | "needs_background": "light" 765 | }, 766 | "output_type": "display_data" 767 | } 768 | ], 769 | "source": [ 770 | "for i in range(3):\n", 771 | " x = df[df['Species'] == species[i]]\n", 772 | " plt.scatter(x['SepalWidthCm'], x['PetalWidthCm'], c = colors[i], label=species[i])\n", 773 | "plt.xlabel(\"Sepal Width\")\n", 774 | "plt.ylabel(\"Petal Width\")\n", 775 | "plt.legend()" 776 | ] 777 | }, 778 | { 779 | "cell_type": "code", 780 | "execution_count": null, 781 | "metadata": {}, 782 | "outputs": [], 783 | "source": [] 784 | }, 785 | { 786 | "cell_type": "code", 787 | "execution_count": null, 788 | "metadata": {}, 789 | "outputs": [], 790 | "source": [] 791 | }, 792 | { 793 | "cell_type": "code", 794 | "execution_count": null, 795 | "metadata": {}, 796 | "outputs": [], 797 | "source": [] 798 | }, 799 | { 800 | "cell_type": "markdown", 801 | "metadata": {}, 802 | "source": [ 803 | "# Coorelation Matrix\n", 804 | "\n", 805 | "A correlation matrix is a table showing correlation coefficients between variables. Each cell in the table shows the correlation between two variables. The value is in the range of -1 to 1. If two varibles have high correlation, we can neglect one variable from those two." 806 | ] 807 | }, 808 | { 809 | "cell_type": "code", 810 | "execution_count": 17, 811 | "metadata": {}, 812 | "outputs": [ 813 | { 814 | "data": { 815 | "text/html": [ 816 | "
\n", 817 | "\n", 830 | "\n", 831 | " \n", 832 | " \n", 833 | " \n", 834 | " \n", 835 | " \n", 836 | " \n", 837 | " \n", 838 | " \n", 839 | " \n", 840 | " \n", 841 | " \n", 842 | " \n", 843 | " \n", 844 | " \n", 845 | " \n", 846 | " \n", 847 | " \n", 848 | " \n", 849 | " \n", 850 | " \n", 851 | " \n", 852 | " \n", 853 | " \n", 854 | " \n", 855 | " \n", 856 | " \n", 857 | " \n", 858 | " \n", 859 | " \n", 860 | " \n", 861 | " \n", 862 | " \n", 863 | " \n", 864 | " \n", 865 | " \n", 866 | " \n", 867 | " \n", 868 | " \n", 869 | " \n", 870 | "
SepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCm
SepalLengthCm1.000000-0.1093690.8717540.817954
SepalWidthCm-0.1093691.000000-0.420516-0.356544
PetalLengthCm0.871754-0.4205161.0000000.962757
PetalWidthCm0.817954-0.3565440.9627571.000000
\n", 871 | "
" 872 | ], 873 | "text/plain": [ 874 | " SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm\n", 875 | "SepalLengthCm 1.000000 -0.109369 0.871754 0.817954\n", 876 | "SepalWidthCm -0.109369 1.000000 -0.420516 -0.356544\n", 877 | "PetalLengthCm 0.871754 -0.420516 1.000000 0.962757\n", 878 | "PetalWidthCm 0.817954 -0.356544 0.962757 1.000000" 879 | ] 880 | }, 881 | "execution_count": 17, 882 | "metadata": {}, 883 | "output_type": "execute_result" 884 | } 885 | ], 886 | "source": [ 887 | "df.corr()" 888 | ] 889 | }, 890 | { 891 | "cell_type": "code", 892 | "execution_count": 18, 893 | "metadata": {}, 894 | "outputs": [ 895 | { 896 | "data": { 897 | "text/plain": [ 898 | "" 899 | ] 900 | }, 901 | "execution_count": 18, 902 | "metadata": {}, 903 | "output_type": "execute_result" 904 | }, 905 | { 906 | "data": { 907 | "image/png": "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\n", 908 | "text/plain": [ 909 | "
" 910 | ] 911 | }, 912 | "metadata": { 913 | "needs_background": "light" 914 | }, 915 | "output_type": "display_data" 916 | } 917 | ], 918 | "source": [ 919 | "corr = df.corr()\n", 920 | "fig, ax = plt.subplots(figsize=(5,4))\n", 921 | "sns.heatmap(corr, annot=True, ax=ax, cmap = 'coolwarm')" 922 | ] 923 | }, 924 | { 925 | "cell_type": "markdown", 926 | "metadata": {}, 927 | "source": [ 928 | "# Label Encoder\n", 929 | "\n", 930 | "In machine learning, we usually deal with datasets which contains multiple labels in one or more than one columns. These labels can be in the form of words or numbers. Label Encoding refers to converting the labels into numeric form so as to convert it into the machine-readable form" 931 | ] 932 | }, 933 | { 934 | "cell_type": "code", 935 | "execution_count": 19, 936 | "metadata": {}, 937 | "outputs": [], 938 | "source": [ 939 | "from sklearn.preprocessing import LabelEncoder\n", 940 | "le = LabelEncoder()" 941 | ] 942 | }, 943 | { 944 | "cell_type": "code", 945 | "execution_count": 20, 946 | "metadata": {}, 947 | "outputs": [ 948 | { 949 | "data": { 950 | "text/html": [ 951 | "
\n", 952 | "\n", 965 | "\n", 966 | " \n", 967 | " \n", 968 | " \n", 969 | " \n", 970 | " \n", 971 | " \n", 972 | " \n", 973 | " \n", 974 | " \n", 975 | " \n", 976 | " \n", 977 | " \n", 978 | " \n", 979 | " \n", 980 | " \n", 981 | " \n", 982 | " \n", 983 | " \n", 984 | " \n", 985 | " \n", 986 | " \n", 987 | " \n", 988 | " \n", 989 | " \n", 990 | " \n", 991 | " \n", 992 | " \n", 993 | " \n", 994 | " \n", 995 | " \n", 996 | " \n", 997 | " \n", 998 | " \n", 999 | " \n", 1000 | " \n", 1001 | " \n", 1002 | " \n", 1003 | " \n", 1004 | " \n", 1005 | " \n", 1006 | " \n", 1007 | " \n", 1008 | " \n", 1009 | " \n", 1010 | " \n", 1011 | " \n", 1012 | " \n", 1013 | " \n", 1014 | " \n", 1015 | " \n", 1016 | " \n", 1017 | " \n", 1018 | "
SepalLengthCmSepalWidthCmPetalLengthCmPetalWidthCmSpecies
05.13.51.40.20
14.93.01.40.20
24.73.21.30.20
34.63.11.50.20
45.03.61.40.20
\n", 1019 | "
" 1020 | ], 1021 | "text/plain": [ 1022 | " SepalLengthCm SepalWidthCm PetalLengthCm PetalWidthCm Species\n", 1023 | "0 5.1 3.5 1.4 0.2 0\n", 1024 | "1 4.9 3.0 1.4 0.2 0\n", 1025 | "2 4.7 3.2 1.3 0.2 0\n", 1026 | "3 4.6 3.1 1.5 0.2 0\n", 1027 | "4 5.0 3.6 1.4 0.2 0" 1028 | ] 1029 | }, 1030 | "execution_count": 20, 1031 | "metadata": {}, 1032 | "output_type": "execute_result" 1033 | } 1034 | ], 1035 | "source": [ 1036 | "df['Species'] = le.fit_transform(df['Species'])\n", 1037 | "df.head()" 1038 | ] 1039 | }, 1040 | { 1041 | "cell_type": "markdown", 1042 | "metadata": {}, 1043 | "source": [ 1044 | "# Model Training" 1045 | ] 1046 | }, 1047 | { 1048 | "cell_type": "code", 1049 | "execution_count": 21, 1050 | "metadata": {}, 1051 | "outputs": [], 1052 | "source": [ 1053 | "from sklearn.model_selection import train_test_split\n", 1054 | "# train - 70\n", 1055 | "# test - 30\n", 1056 | "X = df.drop(columns=['Species'])\n", 1057 | "Y = df['Species']\n", 1058 | "x_train, x_test, y_train, y_test = train_test_split(X, Y, test_size=0.30)" 1059 | ] 1060 | }, 1061 | { 1062 | "cell_type": "code", 1063 | "execution_count": 22, 1064 | "metadata": {}, 1065 | "outputs": [], 1066 | "source": [ 1067 | "# logistic regression \n", 1068 | "from sklearn.linear_model import LogisticRegression\n", 1069 | "model = LogisticRegression()" 1070 | ] 1071 | }, 1072 | { 1073 | "cell_type": "code", 1074 | "execution_count": 23, 1075 | "metadata": {}, 1076 | "outputs": [ 1077 | { 1078 | "data": { 1079 | "text/plain": [ 1080 | "LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True,\n", 1081 | " intercept_scaling=1, max_iter=100, multi_class='warn',\n", 1082 | " n_jobs=None, penalty='l2', random_state=None, solver='warn',\n", 1083 | " tol=0.0001, verbose=0, warm_start=False)" 1084 | ] 1085 | }, 1086 | "execution_count": 23, 1087 | "metadata": {}, 1088 | "output_type": "execute_result" 1089 | } 1090 | ], 1091 | "source": [ 1092 | "# model training\n", 1093 | "model.fit(x_train, y_train)" 1094 | ] 1095 | }, 1096 | { 1097 | "cell_type": "code", 1098 | "execution_count": 24, 1099 | "metadata": {}, 1100 | "outputs": [ 1101 | { 1102 | "name": "stdout", 1103 | "output_type": "stream", 1104 | "text": [ 1105 | "Accuracy: 91.11111111111111\n" 1106 | ] 1107 | } 1108 | ], 1109 | "source": [ 1110 | "# print metric to get performance\n", 1111 | "print(\"Accuracy: \",model.score(x_test, y_test) * 100)" 1112 | ] 1113 | }, 1114 | { 1115 | "cell_type": "code", 1116 | "execution_count": 25, 1117 | "metadata": {}, 1118 | "outputs": [], 1119 | "source": [ 1120 | "# knn - k-nearest neighbours\n", 1121 | "from sklearn.neighbors import KNeighborsClassifier\n", 1122 | "model = KNeighborsClassifier()" 1123 | ] 1124 | }, 1125 | { 1126 | "cell_type": "code", 1127 | "execution_count": 26, 1128 | "metadata": {}, 1129 | "outputs": [ 1130 | { 1131 | "data": { 1132 | "text/plain": [ 1133 | "KNeighborsClassifier(algorithm='auto', leaf_size=30, metric='minkowski',\n", 1134 | " metric_params=None, n_jobs=None, n_neighbors=5, p=2,\n", 1135 | " weights='uniform')" 1136 | ] 1137 | }, 1138 | "execution_count": 26, 1139 | "metadata": {}, 1140 | "output_type": "execute_result" 1141 | } 1142 | ], 1143 | "source": [ 1144 | "model.fit(x_train, y_train)" 1145 | ] 1146 | }, 1147 | { 1148 | "cell_type": "code", 1149 | "execution_count": 27, 1150 | "metadata": {}, 1151 | "outputs": [ 1152 | { 1153 | "name": "stdout", 1154 | "output_type": "stream", 1155 | "text": [ 1156 | "Accuracy: 100.0\n" 1157 | ] 1158 | } 1159 | ], 1160 | "source": [ 1161 | "# print metric to get performance\n", 1162 | "print(\"Accuracy: \",model.score(x_test, y_test) * 100)" 1163 | ] 1164 | }, 1165 | { 1166 | "cell_type": "code", 1167 | "execution_count": 28, 1168 | "metadata": {}, 1169 | "outputs": [], 1170 | "source": [ 1171 | "# decision tree\n", 1172 | "from sklearn.tree import DecisionTreeClassifier\n", 1173 | "model = DecisionTreeClassifier()" 1174 | ] 1175 | }, 1176 | { 1177 | "cell_type": "code", 1178 | "execution_count": 29, 1179 | "metadata": {}, 1180 | "outputs": [ 1181 | { 1182 | "data": { 1183 | "text/plain": [ 1184 | "DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,\n", 1185 | " max_features=None, max_leaf_nodes=None,\n", 1186 | " min_impurity_decrease=0.0, min_impurity_split=None,\n", 1187 | " min_samples_leaf=1, min_samples_split=2,\n", 1188 | " min_weight_fraction_leaf=0.0, presort=False, random_state=None,\n", 1189 | " splitter='best')" 1190 | ] 1191 | }, 1192 | "execution_count": 29, 1193 | "metadata": {}, 1194 | "output_type": "execute_result" 1195 | } 1196 | ], 1197 | "source": [ 1198 | "model.fit(x_train, y_train)" 1199 | ] 1200 | }, 1201 | { 1202 | "cell_type": "code", 1203 | "execution_count": 30, 1204 | "metadata": {}, 1205 | "outputs": [ 1206 | { 1207 | "name": "stdout", 1208 | "output_type": "stream", 1209 | "text": [ 1210 | "Accuracy: 91.11111111111111\n" 1211 | ] 1212 | } 1213 | ], 1214 | "source": [ 1215 | "# print metric to get performance\n", 1216 | "print(\"Accuracy: \",model.score(x_test, y_test) * 100)" 1217 | ] 1218 | }, 1219 | { 1220 | "cell_type": "code", 1221 | "execution_count": null, 1222 | "metadata": {}, 1223 | "outputs": [], 1224 | "source": [] 1225 | } 1226 | ], 1227 | "metadata": { 1228 | "kernelspec": { 1229 | "display_name": "Python 3", 1230 | "language": "python", 1231 | "name": "python3" 1232 | }, 1233 | "language_info": { 1234 | "codemirror_mode": { 1235 | "name": "ipython", 1236 | "version": 3 1237 | }, 1238 | "file_extension": ".py", 1239 | "mimetype": "text/x-python", 1240 | "name": "python", 1241 | "nbconvert_exporter": "python", 1242 | "pygments_lexer": "ipython3", 1243 | "version": "3.6.10" 1244 | } 1245 | }, 1246 | "nbformat": 4, 1247 | "nbformat_minor": 4 1248 | } 1249 | --------------------------------------------------------------------------------