├── README.md ├── 垃圾短信识别 ├── RNN识别垃圾短信.ipynb ├── SMSSpamCollection.csv ├── SMSSpamCollection.txt └── 逻辑回归识别垃圾短信.py ├── 声呐识别 ├── sonar.csv └── sonar.py ├── 手写数字识别 └── 手写数字识别.ipynb └── 鸢尾花分类 ├── iris.csv ├── iris2.csv ├── 鸢尾花分类.ipynb └── 鸢尾花分类.py /README.md: -------------------------------------------------------------------------------- 1 | # The beginning of machine learning 2 | 机器学习入门:手写数字识别,声呐分类,垃圾短信识别,鸢尾花分类 3 | 4 | 本系列代码是大多数初学者刚刚接触机器学习时会运行的代码,这些代码结构简单,原理清晰,易于实现。 5 | 6 | 项目均由jupyter notebook编写,适合分步骤运行,帮助理解每一步的功能。 7 | 8 | ### 项目1:手写数字识别 9 | 10 | ### 项目2:声呐识别 11 | 12 | ### 项目3:垃圾短信识别 13 | 14 | ### 项目4:鸢尾花分类 15 | -------------------------------------------------------------------------------- /垃圾短信识别/RNN识别垃圾短信.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stderr", 10 | "output_type": "stream", 11 | "text": [ 12 | "Using TensorFlow backend.\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "#RNN识别垃圾邮件\n", 18 | "import pandas as pd\n", 19 | "import numpy as np\n", 20 | "import matplotlib.pyplot as plt\n", 21 | "import seaborn as sns\n", 22 | "from sklearn.model_selection import train_test_split\n", 23 | "from sklearn.preprocessing import LabelEncoder\n", 24 | "from keras.models import Model\n", 25 | "from keras.layers import LSTM,Activation,Dense,Dropout,Input,Embedding\n", 26 | "from keras.optimizers import RMSprop\n", 27 | "from keras.preprocessing.text import Tokenizer\n", 28 | "from keras.preprocessing import sequence\n", 29 | "from keras.utils import to_categorical\n", 30 | "from keras.callbacks import EarlyStopping #提前终止训练过程\n", 31 | "%matplotlib inline" 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": 2, 37 | "metadata": {}, 38 | "outputs": [ 39 | { 40 | "data": { 41 | "text/html": [ 42 | "
\n", 43 | "\n", 56 | "\n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | "
v1v2
0hamGo until jurong point, crazy.. Available only ...
1hamOk lar... Joking wif u oni...
2spamFree entry in 2 a wkly comp to win FA Cup fina...
3hamU dun say so early hor... U c already then say...
4hamNah I don't think he goes to usf, he lives aro...
\n", 92 | "
" 93 | ], 94 | "text/plain": [ 95 | " v1 v2\n", 96 | "0 ham Go until jurong point, crazy.. Available only ...\n", 97 | "1 ham Ok lar... Joking wif u oni...\n", 98 | "2 spam Free entry in 2 a wkly comp to win FA Cup fina...\n", 99 | "3 ham U dun say so early hor... U c already then say...\n", 100 | "4 ham Nah I don't think he goes to usf, he lives aro..." 101 | ] 102 | }, 103 | "execution_count": 2, 104 | "metadata": {}, 105 | "output_type": "execute_result" 106 | } 107 | ], 108 | "source": [ 109 | "df = pd.read_csv('SMSSpamCollection.csv',delimiter='\\t',encoding='latin-1')\n", 110 | "df.head()" 111 | ] 112 | }, 113 | { 114 | "cell_type": "code", 115 | "execution_count": 3, 116 | "metadata": {}, 117 | "outputs": [ 118 | { 119 | "name": "stdout", 120 | "output_type": "stream", 121 | "text": [ 122 | "\n", 123 | "RangeIndex: 5572 entries, 0 to 5571\n", 124 | "Data columns (total 2 columns):\n", 125 | "v1 5572 non-null object\n", 126 | "v2 5572 non-null object\n", 127 | "dtypes: object(2)\n", 128 | "memory usage: 87.2+ KB\n" 129 | ] 130 | } 131 | ], 132 | "source": [ 133 | "#df.drop(['Unnamed:2','Unnamed:3','Unnamed:4'],axis=1,inplace=True)\n", 134 | "df.info()" 135 | ] 136 | }, 137 | { 138 | "cell_type": "code", 139 | "execution_count": 4, 140 | "metadata": {}, 141 | "outputs": [ 142 | { 143 | "data": { 144 | "text/plain": [ 145 | "Text(0.5, 1.0, 'Number of ham and spam messages')" 146 | ] 147 | }, 148 | "execution_count": 4, 149 | "metadata": {}, 150 | "output_type": "execute_result" 151 | }, 152 | { 153 | "data": { 154 | "image/png": "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\n", 155 | "text/plain": [ 156 | "
" 157 | ] 158 | }, 159 | "metadata": { 160 | "needs_background": "light" 161 | }, 162 | "output_type": "display_data" 163 | } 164 | ], 165 | "source": [ 166 | "sns.countplot(df.v1)\n", 167 | "plt.xlabel('Label')\n", 168 | "plt.title('Number of ham and spam messages')" 169 | ] 170 | }, 171 | { 172 | "cell_type": "code", 173 | "execution_count": 5, 174 | "metadata": {}, 175 | "outputs": [ 176 | { 177 | "data": { 178 | "text/plain": [ 179 | "array([[0],\n", 180 | " [0],\n", 181 | " [1],\n", 182 | " ...,\n", 183 | " [0],\n", 184 | " [0],\n", 185 | " [0]])" 186 | ] 187 | }, 188 | "execution_count": 5, 189 | "metadata": {}, 190 | "output_type": "execute_result" 191 | } 192 | ], 193 | "source": [ 194 | "X = df.v2\n", 195 | "Y = df.v1\n", 196 | "le = LabelEncoder()\n", 197 | "Y = le.fit_transform(Y)\n", 198 | "Y = Y.reshape(-1,1)\n", 199 | "Y" 200 | ] 201 | }, 202 | { 203 | "cell_type": "code", 204 | "execution_count": 6, 205 | "metadata": {}, 206 | "outputs": [], 207 | "source": [ 208 | "X_train,X_test,Y_train,Y_test = train_test_split(X,Y,test_size=0.15)" 209 | ] 210 | }, 211 | { 212 | "cell_type": "code", 213 | "execution_count": 22, 214 | "metadata": {}, 215 | "outputs": [], 216 | "source": [ 217 | "max_words = 1000 #最多使用1000单词\n", 218 | "max_len = 150 #短信单词长度,酌情填充\n", 219 | "tok = Tokenizer(num_words=max_words) #句子拆单词\n", 220 | "tok.fit_on_texts(X_train)\n", 221 | "sequences = tok.texts_to_sequences(X_train)\n", 222 | "sequences_matrix = sequence.pad_sequences(sequences,maxlen=max_len) #句子截断" 223 | ] 224 | }, 225 | { 226 | "cell_type": "code", 227 | "execution_count": 8, 228 | "metadata": {}, 229 | "outputs": [], 230 | "source": [ 231 | "def RNN():\n", 232 | " inputs = Input(shape=[max_len])\n", 233 | " layer = Embedding(max_words,50,input_length=max_len)(inputs)\n", 234 | " layer = LSTM(64)(layer)\n", 235 | " layer = Dense(256)(layer)\n", 236 | " layer = Activation('relu')(layer)\n", 237 | " layer = Dropout(0.5)(layer)\n", 238 | " layer = Dense(1)(layer)\n", 239 | " layer = Activation('sigmoid')(layer)\n", 240 | " model = Model(inputs=inputs,outputs=layer)\n", 241 | " return model" 242 | ] 243 | }, 244 | { 245 | "cell_type": "code", 246 | "execution_count": 9, 247 | "metadata": {}, 248 | "outputs": [ 249 | { 250 | "name": "stdout", 251 | "output_type": "stream", 252 | "text": [ 253 | "_________________________________________________________________\n", 254 | "Layer (type) Output Shape Param # \n", 255 | "=================================================================\n", 256 | "input_1 (InputLayer) (None, 150) 0 \n", 257 | "_________________________________________________________________\n", 258 | "embedding_1 (Embedding) (None, 150, 50) 50000 \n", 259 | "_________________________________________________________________\n", 260 | "lstm_1 (LSTM) (None, 64) 29440 \n", 261 | "_________________________________________________________________\n", 262 | "dense_1 (Dense) (None, 256) 16640 \n", 263 | "_________________________________________________________________\n", 264 | "activation_1 (Activation) (None, 256) 0 \n", 265 | "_________________________________________________________________\n", 266 | "dropout_1 (Dropout) (None, 256) 0 \n", 267 | "_________________________________________________________________\n", 268 | "dense_2 (Dense) (None, 1) 257 \n", 269 | "_________________________________________________________________\n", 270 | "activation_2 (Activation) (None, 1) 0 \n", 271 | "=================================================================\n", 272 | "Total params: 96,337\n", 273 | "Trainable params: 96,337\n", 274 | "Non-trainable params: 0\n", 275 | "_________________________________________________________________\n" 276 | ] 277 | } 278 | ], 279 | "source": [ 280 | "model = RNN()\n", 281 | "model.summary()" 282 | ] 283 | }, 284 | { 285 | "cell_type": "code", 286 | "execution_count": 10, 287 | "metadata": {}, 288 | "outputs": [], 289 | "source": [ 290 | "model.compile(loss='binary_crossentropy',optimizer=RMSprop(),metrics=['accuracy'])#编译网络模型" 291 | ] 292 | }, 293 | { 294 | "cell_type": "code", 295 | "execution_count": 11, 296 | "metadata": {}, 297 | "outputs": [ 298 | { 299 | "name": "stdout", 300 | "output_type": "stream", 301 | "text": [ 302 | "Train on 3788 samples, validate on 948 samples\n", 303 | "Epoch 1/10\n", 304 | "3788/3788 [==============================] - 3s 900us/step - loss: 0.3105 - acc: 0.8844 - val_loss: 0.1476 - val_acc: 0.9599\n", 305 | "Epoch 2/10\n", 306 | "3788/3788 [==============================] - 2s 654us/step - loss: 0.0811 - acc: 0.9786 - val_loss: 0.0730 - val_acc: 0.9778\n", 307 | "Epoch 3/10\n", 308 | "3788/3788 [==============================] - 2s 659us/step - loss: 0.0459 - acc: 0.9871 - val_loss: 0.0601 - val_acc: 0.9821\n", 309 | "Epoch 4/10\n", 310 | "3788/3788 [==============================] - 3s 662us/step - loss: 0.0324 - acc: 0.9918 - val_loss: 0.0674 - val_acc: 0.9831\n" 311 | ] 312 | }, 313 | { 314 | "data": { 315 | "text/plain": [ 316 | "" 317 | ] 318 | }, 319 | "execution_count": 11, 320 | "metadata": {}, 321 | "output_type": "execute_result" 322 | } 323 | ], 324 | "source": [ 325 | "model.fit(sequences_matrix,Y_train,batch_size=128,epochs=10,validation_split=0.2,callbacks=[EarlyStopping(monitor='val_loss',min_delta=0.0001)])" 326 | ] 327 | }, 328 | { 329 | "cell_type": "code", 330 | "execution_count": 12, 331 | "metadata": {}, 332 | "outputs": [ 333 | { 334 | "name": "stdout", 335 | "output_type": "stream", 336 | "text": [ 337 | "836/836 [==============================] - 0s 260us/step\n" 338 | ] 339 | } 340 | ], 341 | "source": [ 342 | "test_sequences = tok.texts_to_sequences(X_test)\n", 343 | "test_sequences = sequence.pad_sequences(test_sequences,maxlen=max_len)\n", 344 | "accr = model.evaluate(test_sequences,Y_test)" 345 | ] 346 | }, 347 | { 348 | "cell_type": "code", 349 | "execution_count": 13, 350 | "metadata": {}, 351 | "outputs": [ 352 | { 353 | "name": "stdout", 354 | "output_type": "stream", 355 | "text": [ 356 | "Test set\n", 357 | " Loss:0.044\n", 358 | " Accuracy:0.989\n" 359 | ] 360 | } 361 | ], 362 | "source": [ 363 | "print('Test set\\n Loss:{:0.3f}\\n Accuracy:{:0.3f}'.format(accr[0],accr[1]))" 364 | ] 365 | }, 366 | { 367 | "cell_type": "code", 368 | "execution_count": 14, 369 | "metadata": {}, 370 | "outputs": [ 371 | { 372 | "data": { 373 | "text/plain": [ 374 | "array([[0.00164658]], dtype=float32)" 375 | ] 376 | }, 377 | "execution_count": 14, 378 | "metadata": {}, 379 | "output_type": "execute_result" 380 | } 381 | ], 382 | "source": [ 383 | "text = \"hi,call me back when you have time\"\n", 384 | "seq = tok.texts_to_sequences([text])\n", 385 | "seq_matrix = sequence.pad_sequences(seq,maxlen=max_len)\n", 386 | "pred = model.predict(seq_matrix)\n", 387 | "pred" 388 | ] 389 | }, 390 | { 391 | "cell_type": "code", 392 | "execution_count": null, 393 | "metadata": {}, 394 | "outputs": [], 395 | "source": [] 396 | } 397 | ], 398 | "metadata": { 399 | "kernelspec": { 400 | "display_name": "Python 3", 401 | "language": "python", 402 | "name": "python3" 403 | }, 404 | "language_info": { 405 | "codemirror_mode": { 406 | "name": "ipython", 407 | "version": 3 408 | }, 409 | "file_extension": ".py", 410 | "mimetype": "text/x-python", 411 | "name": "python", 412 | "nbconvert_exporter": "python", 413 | "pygments_lexer": "ipython3", 414 | "version": "3.6.8" 415 | } 416 | }, 417 | "nbformat": 4, 418 | "nbformat_minor": 2 419 | } 420 | -------------------------------------------------------------------------------- /垃圾短信识别/逻辑回归识别垃圾短信.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Created on Fri Jul 19 21:08:13 2019 4 | 5 | @author: Leo 6 | """ 7 | 8 | #逻辑回归识别垃圾短信 9 | 10 | import pandas as pd 11 | from sklearn import linear_model 12 | from sklearn.feature_extraction.text import TfidfVectorizer 13 | 14 | df = pd.read_csv('SMSSpamCollection.txt',delimiter='\t',header=None) 15 | y,X_train = df[0],df[1] 16 | 17 | vectorizer = TfidfVectorizer() 18 | X = vectorizer.fit_transform(X_train) 19 | 20 | lr =linear_model.LogisticRegression() 21 | lr.fit(X,y) 22 | 23 | testX = vectorizer.transform(['I plane to give on this month end.', 24 | 'Please call our customer service representative!']) 25 | predictions = lr.predict(testX) 26 | print(predictions) 27 | -------------------------------------------------------------------------------- /声呐识别/sonar.csv: -------------------------------------------------------------------------------- 1 | 0.0200,0.0371,0.0428,0.0207,0.0954,0.0986,0.1539,0.1601,0.3109,0.2111,0.1609,0.1582,0.2238,0.0645,0.0660,0.2273,0.3100,0.2999,0.5078,0.4797,0.5783,0.5071,0.4328,0.5550,0.6711,0.6415,0.7104,0.8080,0.6791,0.3857,0.1307,0.2604,0.5121,0.7547,0.8537,0.8507,0.6692,0.6097,0.4943,0.2744,0.0510,0.2834,0.2825,0.4256,0.2641,0.1386,0.1051,0.1343,0.0383,0.0324,0.0232,0.0027,0.0065,0.0159,0.0072,0.0167,0.0180,0.0084,0.0090,0.0032,R 2 | 0.0453,0.0523,0.0843,0.0689,0.1183,0.2583,0.2156,0.3481,0.3337,0.2872,0.4918,0.6552,0.6919,0.7797,0.7464,0.9444,1.0000,0.8874,0.8024,0.7818,0.5212,0.4052,0.3957,0.3914,0.3250,0.3200,0.3271,0.2767,0.4423,0.2028,0.3788,0.2947,0.1984,0.2341,0.1306,0.4182,0.3835,0.1057,0.1840,0.1970,0.1674,0.0583,0.1401,0.1628,0.0621,0.0203,0.0530,0.0742,0.0409,0.0061,0.0125,0.0084,0.0089,0.0048,0.0094,0.0191,0.0140,0.0049,0.0052,0.0044,R 3 | 0.0262,0.0582,0.1099,0.1083,0.0974,0.2280,0.2431,0.3771,0.5598,0.6194,0.6333,0.7060,0.5544,0.5320,0.6479,0.6931,0.6759,0.7551,0.8929,0.8619,0.7974,0.6737,0.4293,0.3648,0.5331,0.2413,0.5070,0.8533,0.6036,0.8514,0.8512,0.5045,0.1862,0.2709,0.4232,0.3043,0.6116,0.6756,0.5375,0.4719,0.4647,0.2587,0.2129,0.2222,0.2111,0.0176,0.1348,0.0744,0.0130,0.0106,0.0033,0.0232,0.0166,0.0095,0.0180,0.0244,0.0316,0.0164,0.0095,0.0078,R 4 | 0.0100,0.0171,0.0623,0.0205,0.0205,0.0368,0.1098,0.1276,0.0598,0.1264,0.0881,0.1992,0.0184,0.2261,0.1729,0.2131,0.0693,0.2281,0.4060,0.3973,0.2741,0.3690,0.5556,0.4846,0.3140,0.5334,0.5256,0.2520,0.2090,0.3559,0.6260,0.7340,0.6120,0.3497,0.3953,0.3012,0.5408,0.8814,0.9857,0.9167,0.6121,0.5006,0.3210,0.3202,0.4295,0.3654,0.2655,0.1576,0.0681,0.0294,0.0241,0.0121,0.0036,0.0150,0.0085,0.0073,0.0050,0.0044,0.0040,0.0117,R 5 | 0.0762,0.0666,0.0481,0.0394,0.0590,0.0649,0.1209,0.2467,0.3564,0.4459,0.4152,0.3952,0.4256,0.4135,0.4528,0.5326,0.7306,0.6193,0.2032,0.4636,0.4148,0.4292,0.5730,0.5399,0.3161,0.2285,0.6995,1.0000,0.7262,0.4724,0.5103,0.5459,0.2881,0.0981,0.1951,0.4181,0.4604,0.3217,0.2828,0.2430,0.1979,0.2444,0.1847,0.0841,0.0692,0.0528,0.0357,0.0085,0.0230,0.0046,0.0156,0.0031,0.0054,0.0105,0.0110,0.0015,0.0072,0.0048,0.0107,0.0094,R 6 | 0.0286,0.0453,0.0277,0.0174,0.0384,0.0990,0.1201,0.1833,0.2105,0.3039,0.2988,0.4250,0.6343,0.8198,1.0000,0.9988,0.9508,0.9025,0.7234,0.5122,0.2074,0.3985,0.5890,0.2872,0.2043,0.5782,0.5389,0.3750,0.3411,0.5067,0.5580,0.4778,0.3299,0.2198,0.1407,0.2856,0.3807,0.4158,0.4054,0.3296,0.2707,0.2650,0.0723,0.1238,0.1192,0.1089,0.0623,0.0494,0.0264,0.0081,0.0104,0.0045,0.0014,0.0038,0.0013,0.0089,0.0057,0.0027,0.0051,0.0062,R 7 | 0.0317,0.0956,0.1321,0.1408,0.1674,0.1710,0.0731,0.1401,0.2083,0.3513,0.1786,0.0658,0.0513,0.3752,0.5419,0.5440,0.5150,0.4262,0.2024,0.4233,0.7723,0.9735,0.9390,0.5559,0.5268,0.6826,0.5713,0.5429,0.2177,0.2149,0.5811,0.6323,0.2965,0.1873,0.2969,0.5163,0.6153,0.4283,0.5479,0.6133,0.5017,0.2377,0.1957,0.1749,0.1304,0.0597,0.1124,0.1047,0.0507,0.0159,0.0195,0.0201,0.0248,0.0131,0.0070,0.0138,0.0092,0.0143,0.0036,0.0103,R 8 | 0.0519,0.0548,0.0842,0.0319,0.1158,0.0922,0.1027,0.0613,0.1465,0.2838,0.2802,0.3086,0.2657,0.3801,0.5626,0.4376,0.2617,0.1199,0.6676,0.9402,0.7832,0.5352,0.6809,0.9174,0.7613,0.8220,0.8872,0.6091,0.2967,0.1103,0.1318,0.0624,0.0990,0.4006,0.3666,0.1050,0.1915,0.3930,0.4288,0.2546,0.1151,0.2196,0.1879,0.1437,0.2146,0.2360,0.1125,0.0254,0.0285,0.0178,0.0052,0.0081,0.0120,0.0045,0.0121,0.0097,0.0085,0.0047,0.0048,0.0053,R 9 | 0.0223,0.0375,0.0484,0.0475,0.0647,0.0591,0.0753,0.0098,0.0684,0.1487,0.1156,0.1654,0.3833,0.3598,0.1713,0.1136,0.0349,0.3796,0.7401,0.9925,0.9802,0.8890,0.6712,0.4286,0.3374,0.7366,0.9611,0.7353,0.4856,0.1594,0.3007,0.4096,0.3170,0.3305,0.3408,0.2186,0.2463,0.2726,0.1680,0.2792,0.2558,0.1740,0.2121,0.1099,0.0985,0.1271,0.1459,0.1164,0.0777,0.0439,0.0061,0.0145,0.0128,0.0145,0.0058,0.0049,0.0065,0.0093,0.0059,0.0022,R 10 | 0.0164,0.0173,0.0347,0.0070,0.0187,0.0671,0.1056,0.0697,0.0962,0.0251,0.0801,0.1056,0.1266,0.0890,0.0198,0.1133,0.2826,0.3234,0.3238,0.4333,0.6068,0.7652,0.9203,0.9719,0.9207,0.7545,0.8289,0.8907,0.7309,0.6896,0.5829,0.4935,0.3101,0.0306,0.0244,0.1108,0.1594,0.1371,0.0696,0.0452,0.0620,0.1421,0.1597,0.1384,0.0372,0.0688,0.0867,0.0513,0.0092,0.0198,0.0118,0.0090,0.0223,0.0179,0.0084,0.0068,0.0032,0.0035,0.0056,0.0040,R 11 | 0.0039,0.0063,0.0152,0.0336,0.0310,0.0284,0.0396,0.0272,0.0323,0.0452,0.0492,0.0996,0.1424,0.1194,0.0628,0.0907,0.1177,0.1429,0.1223,0.1104,0.1847,0.3715,0.4382,0.5707,0.6654,0.7476,0.7654,0.8555,0.9720,0.9221,0.7502,0.7209,0.7757,0.6055,0.5021,0.4499,0.3947,0.4281,0.4427,0.3749,0.1972,0.0511,0.0793,0.1269,0.1533,0.0690,0.0402,0.0534,0.0228,0.0073,0.0062,0.0062,0.0120,0.0052,0.0056,0.0093,0.0042,0.0003,0.0053,0.0036,R 12 | 0.0123,0.0309,0.0169,0.0313,0.0358,0.0102,0.0182,0.0579,0.1122,0.0835,0.0548,0.0847,0.2026,0.2557,0.1870,0.2032,0.1463,0.2849,0.5824,0.7728,0.7852,0.8515,0.5312,0.3653,0.5973,0.8275,1.0000,0.8673,0.6301,0.4591,0.3940,0.2576,0.2817,0.2641,0.2757,0.2698,0.3994,0.4576,0.3940,0.2522,0.1782,0.1354,0.0516,0.0337,0.0894,0.0861,0.0872,0.0445,0.0134,0.0217,0.0188,0.0133,0.0265,0.0224,0.0074,0.0118,0.0026,0.0092,0.0009,0.0044,R 13 | 0.0079,0.0086,0.0055,0.0250,0.0344,0.0546,0.0528,0.0958,0.1009,0.1240,0.1097,0.1215,0.1874,0.3383,0.3227,0.2723,0.3943,0.6432,0.7271,0.8673,0.9674,0.9847,0.9480,0.8036,0.6833,0.5136,0.3090,0.0832,0.4019,0.2344,0.1905,0.1235,0.1717,0.2351,0.2489,0.3649,0.3382,0.1589,0.0989,0.1089,0.1043,0.0839,0.1391,0.0819,0.0678,0.0663,0.1202,0.0692,0.0152,0.0266,0.0174,0.0176,0.0127,0.0088,0.0098,0.0019,0.0059,0.0058,0.0059,0.0032,R 14 | 0.0090,0.0062,0.0253,0.0489,0.1197,0.1589,0.1392,0.0987,0.0955,0.1895,0.1896,0.2547,0.4073,0.2988,0.2901,0.5326,0.4022,0.1571,0.3024,0.3907,0.3542,0.4438,0.6414,0.4601,0.6009,0.8690,0.8345,0.7669,0.5081,0.4620,0.5380,0.5375,0.3844,0.3601,0.7402,0.7761,0.3858,0.0667,0.3684,0.6114,0.3510,0.2312,0.2195,0.3051,0.1937,0.1570,0.0479,0.0538,0.0146,0.0068,0.0187,0.0059,0.0095,0.0194,0.0080,0.0152,0.0158,0.0053,0.0189,0.0102,R 15 | 0.0124,0.0433,0.0604,0.0449,0.0597,0.0355,0.0531,0.0343,0.1052,0.2120,0.1640,0.1901,0.3026,0.2019,0.0592,0.2390,0.3657,0.3809,0.5929,0.6299,0.5801,0.4574,0.4449,0.3691,0.6446,0.8940,0.8978,0.4980,0.3333,0.2350,0.1553,0.3666,0.4340,0.3082,0.3024,0.4109,0.5501,0.4129,0.5499,0.5018,0.3132,0.2802,0.2351,0.2298,0.1155,0.0724,0.0621,0.0318,0.0450,0.0167,0.0078,0.0083,0.0057,0.0174,0.0188,0.0054,0.0114,0.0196,0.0147,0.0062,R 16 | 0.0298,0.0615,0.0650,0.0921,0.1615,0.2294,0.2176,0.2033,0.1459,0.0852,0.2476,0.3645,0.2777,0.2826,0.3237,0.4335,0.5638,0.4555,0.4348,0.6433,0.3932,0.1989,0.3540,0.9165,0.9371,0.4620,0.2771,0.6613,0.8028,0.4200,0.5192,0.6962,0.5792,0.8889,0.7863,0.7133,0.7615,0.4401,0.3009,0.3163,0.2809,0.2898,0.0526,0.1867,0.1553,0.1633,0.1252,0.0748,0.0452,0.0064,0.0154,0.0031,0.0153,0.0071,0.0212,0.0076,0.0152,0.0049,0.0200,0.0073,R 17 | 0.0352,0.0116,0.0191,0.0469,0.0737,0.1185,0.1683,0.1541,0.1466,0.2912,0.2328,0.2237,0.2470,0.1560,0.3491,0.3308,0.2299,0.2203,0.2493,0.4128,0.3158,0.6191,0.5854,0.3395,0.2561,0.5599,0.8145,0.6941,0.6985,0.8660,0.5930,0.3664,0.6750,0.8697,0.7837,0.7552,0.5789,0.4713,0.1252,0.6087,0.7322,0.5977,0.3431,0.1803,0.2378,0.3424,0.2303,0.0689,0.0216,0.0469,0.0426,0.0346,0.0158,0.0154,0.0109,0.0048,0.0095,0.0015,0.0073,0.0067,R 18 | 0.0192,0.0607,0.0378,0.0774,0.1388,0.0809,0.0568,0.0219,0.1037,0.1186,0.1237,0.1601,0.3520,0.4479,0.3769,0.5761,0.6426,0.6790,0.7157,0.5466,0.5399,0.6362,0.7849,0.7756,0.5780,0.4862,0.4181,0.2457,0.0716,0.0613,0.1816,0.4493,0.5976,0.3785,0.2495,0.5771,0.8852,0.8409,0.3570,0.3133,0.6096,0.6378,0.2709,0.1419,0.1260,0.1288,0.0790,0.0829,0.0520,0.0216,0.0360,0.0331,0.0131,0.0120,0.0108,0.0024,0.0045,0.0037,0.0112,0.0075,R 19 | 0.0270,0.0092,0.0145,0.0278,0.0412,0.0757,0.1026,0.1138,0.0794,0.1520,0.1675,0.1370,0.1361,0.1345,0.2144,0.5354,0.6830,0.5600,0.3093,0.3226,0.4430,0.5573,0.5782,0.6173,0.8132,0.9819,0.9823,0.9166,0.7423,0.7736,0.8473,0.7352,0.6671,0.6083,0.6239,0.5972,0.5715,0.5242,0.2924,0.1536,0.2003,0.2031,0.2207,0.1778,0.1353,0.1373,0.0749,0.0472,0.0325,0.0179,0.0045,0.0084,0.0010,0.0018,0.0068,0.0039,0.0120,0.0132,0.0070,0.0088,R 20 | 0.0126,0.0149,0.0641,0.1732,0.2565,0.2559,0.2947,0.4110,0.4983,0.5920,0.5832,0.5419,0.5472,0.5314,0.4981,0.6985,0.8292,0.7839,0.8215,0.9363,1.0000,0.9224,0.7839,0.5470,0.4562,0.5922,0.5448,0.3971,0.0882,0.2385,0.2005,0.0587,0.2544,0.2009,0.0329,0.1547,0.1212,0.2446,0.3171,0.3195,0.3051,0.0836,0.1266,0.1381,0.1136,0.0516,0.0073,0.0278,0.0372,0.0121,0.0153,0.0092,0.0035,0.0098,0.0121,0.0006,0.0181,0.0094,0.0116,0.0063,R 21 | 0.0473,0.0509,0.0819,0.1252,0.1783,0.3070,0.3008,0.2362,0.3830,0.3759,0.3021,0.2909,0.2301,0.1411,0.1582,0.2430,0.4474,0.5964,0.6744,0.7969,0.8319,0.7813,0.8626,0.7369,0.4122,0.2596,0.3392,0.3788,0.4488,0.6281,0.7449,0.7328,0.7704,0.7870,0.6048,0.5860,0.6385,0.7279,0.6286,0.5316,0.4069,0.1791,0.1625,0.2527,0.1903,0.1643,0.0604,0.0209,0.0436,0.0175,0.0107,0.0193,0.0118,0.0064,0.0042,0.0054,0.0049,0.0082,0.0028,0.0027,R 22 | 0.0664,0.0575,0.0842,0.0372,0.0458,0.0771,0.0771,0.1130,0.2353,0.1838,0.2869,0.4129,0.3647,0.1984,0.2840,0.4039,0.5837,0.6792,0.6086,0.4858,0.3246,0.2013,0.2082,0.1686,0.2484,0.2736,0.2984,0.4655,0.6990,0.7474,0.7956,0.7981,0.6715,0.6942,0.7440,0.8169,0.8912,1.0000,0.8753,0.7061,0.6803,0.5898,0.4618,0.3639,0.1492,0.1216,0.1306,0.1198,0.0578,0.0235,0.0135,0.0141,0.0190,0.0043,0.0036,0.0026,0.0024,0.0162,0.0109,0.0079,R 23 | 0.0099,0.0484,0.0299,0.0297,0.0652,0.1077,0.2363,0.2385,0.0075,0.1882,0.1456,0.1892,0.3176,0.1340,0.2169,0.2458,0.2589,0.2786,0.2298,0.0656,0.1441,0.1179,0.1668,0.1783,0.2476,0.2570,0.1036,0.5356,0.7124,0.6291,0.4756,0.6015,0.7208,0.6234,0.5725,0.7523,0.8712,0.9252,0.9709,0.9297,0.8995,0.7911,0.5600,0.2838,0.4407,0.5507,0.4331,0.2905,0.1981,0.0779,0.0396,0.0173,0.0149,0.0115,0.0202,0.0139,0.0029,0.0160,0.0106,0.0134,R 24 | 0.0115,0.0150,0.0136,0.0076,0.0211,0.1058,0.1023,0.0440,0.0931,0.0734,0.0740,0.0622,0.1055,0.1183,0.1721,0.2584,0.3232,0.3817,0.4243,0.4217,0.4449,0.4075,0.3306,0.4012,0.4466,0.5218,0.7552,0.9503,1.0000,0.9084,0.8283,0.7571,0.7262,0.6152,0.5680,0.5757,0.5324,0.3672,0.1669,0.0866,0.0646,0.1891,0.2683,0.2887,0.2341,0.1668,0.1015,0.1195,0.0704,0.0167,0.0107,0.0091,0.0016,0.0084,0.0064,0.0026,0.0029,0.0037,0.0070,0.0041,R 25 | 0.0293,0.0644,0.0390,0.0173,0.0476,0.0816,0.0993,0.0315,0.0736,0.0860,0.0414,0.0472,0.0835,0.0938,0.1466,0.0809,0.1179,0.2179,0.3326,0.3258,0.2111,0.2302,0.3361,0.4259,0.4609,0.2606,0.0874,0.2862,0.5606,0.8344,0.8096,0.7250,0.8048,0.9435,1.0000,0.8960,0.5516,0.3037,0.2338,0.2382,0.3318,0.3821,0.1575,0.2228,0.1582,0.1433,0.1634,0.1133,0.0567,0.0133,0.0170,0.0035,0.0052,0.0083,0.0078,0.0075,0.0105,0.0160,0.0095,0.0011,R 26 | 0.0201,0.0026,0.0138,0.0062,0.0133,0.0151,0.0541,0.0210,0.0505,0.1097,0.0841,0.0942,0.1204,0.0420,0.0031,0.0162,0.0624,0.2127,0.3436,0.3813,0.3825,0.4764,0.6313,0.7523,0.8675,0.8788,0.7901,0.8357,0.9631,0.9619,0.9236,0.8903,0.9708,0.9647,0.7892,0.5307,0.2718,0.1953,0.1374,0.3105,0.3790,0.4105,0.3355,0.2998,0.2748,0.2024,0.1043,0.0453,0.0337,0.0122,0.0072,0.0108,0.0070,0.0063,0.0030,0.0011,0.0007,0.0024,0.0057,0.0044,R 27 | 0.0151,0.0320,0.0599,0.1050,0.1163,0.1734,0.1679,0.1119,0.0889,0.1205,0.0847,0.1518,0.2305,0.2793,0.3404,0.4527,0.6950,0.8807,0.9154,0.7542,0.6736,0.7146,0.8335,0.7701,0.6993,0.6543,0.5040,0.4926,0.4992,0.4161,0.1631,0.0404,0.0637,0.2962,0.3609,0.1866,0.0476,0.1497,0.2405,0.1980,0.3175,0.2379,0.1716,0.1559,0.1556,0.0422,0.0493,0.0476,0.0219,0.0059,0.0086,0.0061,0.0015,0.0084,0.0128,0.0054,0.0011,0.0019,0.0023,0.0062,R 28 | 0.0177,0.0300,0.0288,0.0394,0.0630,0.0526,0.0688,0.0633,0.0624,0.0613,0.1680,0.3476,0.4561,0.5188,0.6308,0.7201,0.5153,0.3818,0.2644,0.3345,0.4865,0.6628,0.7389,0.9213,1.0000,0.7750,0.5593,0.6172,0.8635,0.6592,0.4770,0.4983,0.3330,0.3076,0.2876,0.2226,0.0794,0.0603,0.1049,0.0606,0.1530,0.0983,0.1643,0.1901,0.1107,0.1917,0.1467,0.0392,0.0356,0.0270,0.0168,0.0102,0.0122,0.0044,0.0075,0.0124,0.0099,0.0057,0.0032,0.0019,R 29 | 0.0100,0.0275,0.0190,0.0371,0.0416,0.0201,0.0314,0.0651,0.1896,0.2668,0.3376,0.3282,0.2432,0.1268,0.1278,0.4441,0.6795,0.7051,0.7966,0.9401,0.9857,0.8193,0.5789,0.6394,0.7043,0.6875,0.4081,0.1811,0.2064,0.3917,0.3791,0.2042,0.2227,0.3341,0.3984,0.5077,0.5534,0.3352,0.2723,0.2278,0.2044,0.1986,0.0835,0.0908,0.1380,0.1948,0.1211,0.0843,0.0589,0.0247,0.0118,0.0088,0.0104,0.0036,0.0088,0.0047,0.0117,0.0020,0.0091,0.0058,R 30 | 0.0189,0.0308,0.0197,0.0622,0.0080,0.0789,0.1440,0.1451,0.1789,0.2522,0.2607,0.3710,0.3906,0.2672,0.2716,0.4183,0.6988,0.5733,0.2226,0.2631,0.7473,0.7263,0.3393,0.2824,0.6053,0.5897,0.4967,0.8616,0.8339,0.4084,0.2268,0.1745,0.0507,0.1588,0.3040,0.1369,0.1605,0.2061,0.0734,0.0202,0.1638,0.1583,0.1830,0.1886,0.1008,0.0663,0.0183,0.0404,0.0108,0.0143,0.0091,0.0038,0.0096,0.0142,0.0190,0.0140,0.0099,0.0092,0.0052,0.0075,R 31 | 0.0240,0.0218,0.0324,0.0569,0.0330,0.0513,0.0897,0.0713,0.0569,0.0389,0.1934,0.2434,0.2906,0.2606,0.3811,0.4997,0.3015,0.3655,0.6791,0.7307,0.5053,0.4441,0.6987,0.8133,0.7781,0.8943,0.8929,0.8913,0.8610,0.8063,0.5540,0.2446,0.3459,0.1615,0.2467,0.5564,0.4681,0.0979,0.1582,0.0751,0.3321,0.3745,0.2666,0.1078,0.1418,0.1687,0.0738,0.0634,0.0144,0.0226,0.0061,0.0162,0.0146,0.0093,0.0112,0.0094,0.0054,0.0019,0.0066,0.0023,R 32 | 0.0084,0.0153,0.0291,0.0432,0.0951,0.0752,0.0414,0.0259,0.0692,0.1753,0.1970,0.1167,0.1683,0.0814,0.2179,0.5121,0.7231,0.7776,0.6222,0.3501,0.3733,0.2622,0.3776,0.7361,0.8673,0.8223,0.7772,0.7862,0.5652,0.3635,0.3534,0.3865,0.3370,0.1693,0.2627,0.3195,0.1388,0.1048,0.1681,0.1910,0.1174,0.0933,0.0856,0.0951,0.0986,0.0956,0.0426,0.0407,0.0106,0.0179,0.0056,0.0236,0.0114,0.0136,0.0117,0.0060,0.0058,0.0031,0.0072,0.0045,R 33 | 0.0195,0.0213,0.0058,0.0190,0.0319,0.0571,0.1004,0.0668,0.0691,0.0242,0.0728,0.0639,0.3002,0.3854,0.4767,0.4602,0.3175,0.4160,0.6428,1.0000,0.8631,0.5212,0.3156,0.5952,0.7732,0.6042,0.4375,0.5487,0.4720,0.6235,0.3851,0.1590,0.3891,0.5294,0.3504,0.4480,0.4041,0.5031,0.6475,0.5493,0.3548,0.2028,0.1882,0.0845,0.1315,0.1590,0.0562,0.0617,0.0343,0.0370,0.0261,0.0157,0.0074,0.0271,0.0203,0.0089,0.0095,0.0095,0.0021,0.0053,R 34 | 0.0442,0.0477,0.0049,0.0581,0.0278,0.0678,0.1664,0.1490,0.0974,0.1268,0.1109,0.2375,0.2007,0.2140,0.1109,0.2036,0.2468,0.6682,0.8345,0.8252,0.8017,0.8982,0.9664,0.8515,0.6626,0.3241,0.2054,0.5669,0.5726,0.4877,0.7532,0.7600,0.5185,0.4120,0.5560,0.5569,0.1336,0.3831,0.4611,0.4330,0.2556,0.1466,0.3489,0.2659,0.0944,0.1370,0.1344,0.0416,0.0719,0.0637,0.0210,0.0204,0.0216,0.0135,0.0055,0.0073,0.0080,0.0105,0.0059,0.0105,R 35 | 0.0311,0.0491,0.0692,0.0831,0.0079,0.0200,0.0981,0.1016,0.2025,0.0767,0.1767,0.2555,0.2812,0.2722,0.3227,0.3463,0.5395,0.7911,0.9064,0.8701,0.7672,0.2957,0.4148,0.6043,0.3178,0.3482,0.6158,0.8049,0.6289,0.4999,0.5830,0.6660,0.4124,0.1260,0.2487,0.4676,0.5382,0.3150,0.2139,0.1848,0.1679,0.2328,0.1015,0.0713,0.0615,0.0779,0.0761,0.0845,0.0592,0.0068,0.0089,0.0087,0.0032,0.0130,0.0188,0.0101,0.0229,0.0182,0.0046,0.0038,R 36 | 0.0206,0.0132,0.0533,0.0569,0.0647,0.1432,0.1344,0.2041,0.1571,0.1573,0.2327,0.1785,0.1507,0.1916,0.2061,0.2307,0.2360,0.1299,0.3812,0.5858,0.4497,0.4876,1.0000,0.8675,0.4718,0.5341,0.6197,0.7143,0.5605,0.3728,0.2481,0.1921,0.1386,0.3325,0.2883,0.3228,0.2607,0.2040,0.2396,0.1319,0.0683,0.0334,0.0716,0.0976,0.0787,0.0522,0.0500,0.0231,0.0221,0.0144,0.0307,0.0386,0.0147,0.0018,0.0100,0.0096,0.0077,0.0180,0.0109,0.0070,R 37 | 0.0094,0.0166,0.0398,0.0359,0.0681,0.0706,0.1020,0.0893,0.0381,0.1328,0.1303,0.0273,0.0644,0.0712,0.1204,0.0717,0.1224,0.2349,0.3684,0.3918,0.4925,0.8793,0.9606,0.8786,0.6905,0.6937,0.5674,0.6540,0.7802,0.7575,0.5836,0.6316,0.8108,0.9039,0.8647,0.6695,0.4027,0.2370,0.2685,0.3662,0.3267,0.2200,0.2996,0.2205,0.1163,0.0635,0.0465,0.0422,0.0174,0.0172,0.0134,0.0141,0.0191,0.0145,0.0065,0.0129,0.0217,0.0087,0.0077,0.0122,R 38 | 0.0333,0.0221,0.0270,0.0481,0.0679,0.0981,0.0843,0.1172,0.0759,0.0920,0.1475,0.0522,0.1119,0.0970,0.1174,0.1678,0.1642,0.1205,0.0494,0.1544,0.3485,0.6146,0.9146,0.9364,0.8677,0.8772,0.8553,0.8833,1.0000,0.8296,0.6601,0.5499,0.5716,0.6859,0.6825,0.5142,0.2750,0.1358,0.1551,0.2646,0.1994,0.1883,0.2746,0.1651,0.0575,0.0695,0.0598,0.0456,0.0021,0.0068,0.0036,0.0022,0.0032,0.0060,0.0054,0.0063,0.0143,0.0132,0.0051,0.0041,R 39 | 0.0123,0.0022,0.0196,0.0206,0.0180,0.0492,0.0033,0.0398,0.0791,0.0475,0.1152,0.0520,0.1192,0.1943,0.1840,0.2077,0.1956,0.1630,0.1218,0.1017,0.1354,0.3157,0.4645,0.5906,0.6776,0.8119,0.8594,0.9228,0.8387,0.7238,0.6292,0.5181,0.4629,0.5255,0.5147,0.3929,0.1279,0.0411,0.0859,0.1131,0.1306,0.1757,0.2648,0.1955,0.0656,0.0580,0.0319,0.0301,0.0272,0.0074,0.0149,0.0125,0.0134,0.0026,0.0038,0.0018,0.0113,0.0058,0.0047,0.0071,R 40 | 0.0091,0.0213,0.0206,0.0505,0.0657,0.0795,0.0970,0.0872,0.0743,0.0837,0.1579,0.0898,0.0309,0.1856,0.2969,0.2032,0.1264,0.1655,0.1661,0.2091,0.2310,0.4460,0.6634,0.6933,0.7663,0.8206,0.7049,0.7560,0.7466,0.6387,0.4846,0.3328,0.5356,0.8741,0.8573,0.6718,0.3446,0.3150,0.2702,0.2598,0.2742,0.3594,0.4382,0.2460,0.0758,0.0187,0.0797,0.0748,0.0367,0.0155,0.0300,0.0112,0.0112,0.0102,0.0026,0.0097,0.0098,0.0043,0.0071,0.0108,R 41 | 0.0068,0.0232,0.0513,0.0444,0.0249,0.0637,0.0422,0.1130,0.1911,0.2475,0.1606,0.0922,0.2398,0.3220,0.4295,0.2652,0.0666,0.1442,0.2373,0.2595,0.2493,0.3903,0.6384,0.8037,0.7026,0.6874,0.6997,0.8558,1.0000,0.9621,0.8996,0.7575,0.6902,0.5686,0.4396,0.4546,0.2959,0.1587,0.1681,0.0842,0.1173,0.1754,0.2728,0.1705,0.0194,0.0213,0.0354,0.0420,0.0093,0.0204,0.0199,0.0173,0.0163,0.0055,0.0045,0.0068,0.0041,0.0052,0.0194,0.0105,R 42 | 0.0093,0.0185,0.0056,0.0064,0.0260,0.0458,0.0470,0.0057,0.0425,0.0640,0.0888,0.1599,0.1541,0.2768,0.2176,0.2799,0.3491,0.2824,0.2479,0.3005,0.4300,0.4684,0.4520,0.5026,0.6217,0.6571,0.6632,0.7321,0.8534,1.0000,0.8448,0.6354,0.6308,0.6211,0.6976,0.5868,0.4889,0.3683,0.2043,0.1469,0.2220,0.1449,0.1490,0.1211,0.1144,0.0791,0.0365,0.0152,0.0085,0.0120,0.0022,0.0069,0.0064,0.0129,0.0114,0.0054,0.0089,0.0050,0.0058,0.0025,R 43 | 0.0211,0.0319,0.0415,0.0286,0.0121,0.0438,0.1299,0.1390,0.0695,0.0568,0.0869,0.1935,0.1478,0.1871,0.1994,0.3283,0.6861,0.5814,0.2500,0.1734,0.3363,0.5588,0.6592,0.7012,0.8099,0.8901,0.8745,0.7887,0.8725,0.9376,0.8920,0.7508,0.6832,0.7610,0.9017,1.0000,0.9123,0.7388,0.5915,0.4057,0.3019,0.2331,0.2931,0.2298,0.2391,0.1910,0.1096,0.0300,0.0171,0.0383,0.0053,0.0090,0.0042,0.0153,0.0106,0.0020,0.0105,0.0049,0.0070,0.0080,R 44 | 0.0093,0.0269,0.0217,0.0339,0.0305,0.1172,0.1450,0.0638,0.0740,0.1360,0.2132,0.3738,0.3738,0.2673,0.2333,0.5367,0.7312,0.7659,0.6271,0.4395,0.4330,0.4326,0.5544,0.7360,0.8589,0.8989,0.9420,0.9401,0.9379,0.8575,0.7284,0.6700,0.7547,0.8773,0.9919,0.9922,0.9419,0.8388,0.6605,0.4816,0.2917,0.1769,0.1136,0.0701,0.1578,0.1938,0.1106,0.0693,0.0176,0.0205,0.0309,0.0212,0.0091,0.0056,0.0086,0.0092,0.0070,0.0116,0.0060,0.0110,R 45 | 0.0257,0.0447,0.0388,0.0239,0.1315,0.1323,0.1608,0.2145,0.0847,0.0561,0.0891,0.0861,0.1531,0.1524,0.1849,0.2871,0.2009,0.2748,0.5017,0.2172,0.4978,0.5265,0.3647,0.5768,0.5161,0.5715,0.4006,0.3650,0.6685,0.8659,0.8052,0.4082,0.3379,0.5092,0.6776,0.7313,0.6062,0.7040,0.8849,0.8979,0.7751,0.7247,0.7733,0.7762,0.6009,0.4514,0.3096,0.1859,0.0956,0.0206,0.0206,0.0096,0.0153,0.0096,0.0131,0.0198,0.0025,0.0199,0.0255,0.0180,R 46 | 0.0408,0.0653,0.0397,0.0604,0.0496,0.1817,0.1178,0.1024,0.0583,0.2176,0.2459,0.3332,0.3087,0.2613,0.3232,0.3731,0.4203,0.5364,0.7062,0.8196,0.8835,0.8299,0.7609,0.7605,0.8367,0.8905,0.7652,0.5897,0.3037,0.0823,0.2787,0.7241,0.8032,0.8050,0.7676,0.7468,0.6253,0.1730,0.2916,0.5003,0.5220,0.4824,0.4004,0.3877,0.1651,0.0442,0.0663,0.0418,0.0475,0.0235,0.0066,0.0062,0.0129,0.0184,0.0069,0.0198,0.0199,0.0102,0.0070,0.0055,R 47 | 0.0308,0.0339,0.0202,0.0889,0.1570,0.1750,0.0920,0.1353,0.1593,0.2795,0.3336,0.2940,0.1608,0.3335,0.4985,0.7295,0.7350,0.8253,0.8793,0.9657,1.0000,0.8707,0.6471,0.5973,0.8218,0.7755,0.6111,0.4195,0.2990,0.1354,0.2438,0.5624,0.5555,0.6963,0.7298,0.7022,0.5468,0.1421,0.4738,0.6410,0.4375,0.3178,0.2377,0.2808,0.1374,0.1136,0.1034,0.0688,0.0422,0.0117,0.0070,0.0167,0.0127,0.0138,0.0090,0.0051,0.0029,0.0122,0.0056,0.0020,R 48 | 0.0373,0.0281,0.0232,0.0225,0.0179,0.0733,0.0841,0.1031,0.0993,0.0802,0.1564,0.2565,0.2624,0.1179,0.0597,0.1563,0.2241,0.3586,0.1792,0.3256,0.6079,0.6988,0.8391,0.8553,0.7710,0.6215,0.5736,0.4402,0.4056,0.4411,0.5130,0.5965,0.7272,0.6539,0.5902,0.5393,0.4897,0.4081,0.4145,0.6003,0.7196,0.6633,0.6287,0.4087,0.3212,0.2518,0.1482,0.0988,0.0317,0.0269,0.0066,0.0008,0.0045,0.0024,0.0006,0.0073,0.0096,0.0054,0.0085,0.0060,R 49 | 0.0190,0.0038,0.0642,0.0452,0.0333,0.0690,0.0901,0.1454,0.0740,0.0349,0.1459,0.3473,0.3197,0.2823,0.0166,0.0572,0.2164,0.4563,0.3819,0.5627,0.6484,0.7235,0.8242,0.8766,1.0000,0.8582,0.6563,0.5087,0.4817,0.4530,0.4521,0.4532,0.5385,0.5308,0.5356,0.5271,0.4260,0.2436,0.1205,0.3845,0.4107,0.5067,0.4216,0.2479,0.1586,0.1124,0.0651,0.0789,0.0325,0.0070,0.0026,0.0093,0.0118,0.0112,0.0094,0.0140,0.0072,0.0022,0.0055,0.0122,R 50 | 0.0119,0.0582,0.0623,0.0600,0.1397,0.1883,0.1422,0.1447,0.0487,0.0864,0.2143,0.3720,0.2665,0.2113,0.1103,0.1136,0.1934,0.4142,0.3279,0.6222,0.7468,0.7676,0.7867,0.8253,1.0000,0.9481,0.7539,0.6008,0.5437,0.5387,0.5619,0.5141,0.6084,0.5621,0.5956,0.6078,0.5025,0.2829,0.0477,0.2811,0.3422,0.5147,0.4372,0.2470,0.1708,0.1343,0.0838,0.0755,0.0304,0.0074,0.0069,0.0025,0.0103,0.0074,0.0123,0.0069,0.0076,0.0073,0.0030,0.0138,R 51 | 0.0353,0.0713,0.0326,0.0272,0.0370,0.0792,0.1083,0.0687,0.0298,0.0880,0.1078,0.0979,0.2250,0.2819,0.2099,0.1240,0.1699,0.0939,0.1091,0.1410,0.1268,0.3151,0.1430,0.2264,0.5756,0.7876,0.7158,0.5998,0.5583,0.6295,0.7659,0.8940,0.8436,0.6807,0.8380,1.0000,0.9497,0.7866,0.5647,0.3480,0.2585,0.2304,0.2948,0.3363,0.3017,0.2193,0.1316,0.1078,0.0559,0.0035,0.0098,0.0163,0.0242,0.0043,0.0202,0.0108,0.0037,0.0096,0.0093,0.0053,R 52 | 0.0131,0.0068,0.0308,0.0311,0.0085,0.0767,0.0771,0.0640,0.0726,0.0901,0.0750,0.0844,0.1226,0.1619,0.2317,0.2934,0.3526,0.3657,0.3221,0.3093,0.4084,0.4285,0.4663,0.5956,0.6948,0.8386,0.8875,0.6404,0.3308,0.3425,0.4920,0.4592,0.3034,0.4366,0.5175,0.5122,0.4746,0.4902,0.4603,0.4460,0.4196,0.2873,0.2296,0.0949,0.0095,0.0527,0.0383,0.0107,0.0108,0.0077,0.0109,0.0062,0.0028,0.0040,0.0075,0.0039,0.0053,0.0013,0.0052,0.0023,R 53 | 0.0087,0.0046,0.0081,0.0230,0.0586,0.0682,0.0993,0.0717,0.0576,0.0818,0.1315,0.1862,0.2789,0.2579,0.2240,0.2568,0.2933,0.2991,0.3924,0.4691,0.5665,0.6464,0.6774,0.7577,0.8856,0.9419,1.0000,0.8564,0.6790,0.5587,0.4147,0.2946,0.2025,0.0688,0.1171,0.2157,0.2216,0.2776,0.2309,0.1444,0.1513,0.1745,0.1756,0.1424,0.0908,0.0138,0.0469,0.0480,0.0159,0.0045,0.0015,0.0052,0.0038,0.0079,0.0114,0.0050,0.0030,0.0064,0.0058,0.0030,R 54 | 0.0293,0.0378,0.0257,0.0062,0.0130,0.0612,0.0895,0.1107,0.0973,0.0751,0.0528,0.1209,0.1763,0.2039,0.2727,0.2321,0.2676,0.2934,0.3295,0.4910,0.5402,0.6257,0.6826,0.7527,0.8504,0.8938,0.9928,0.9134,0.7080,0.6318,0.6126,0.4638,0.2797,0.1721,0.1665,0.2561,0.2735,0.3209,0.2724,0.1880,0.1552,0.2522,0.2121,0.1801,0.1473,0.0681,0.1091,0.0919,0.0397,0.0093,0.0076,0.0065,0.0072,0.0108,0.0051,0.0102,0.0041,0.0055,0.0050,0.0087,R 55 | 0.0132,0.0080,0.0188,0.0141,0.0436,0.0668,0.0609,0.0131,0.0899,0.0922,0.1445,0.1475,0.2087,0.2558,0.2603,0.1985,0.2394,0.3134,0.4077,0.4529,0.4893,0.5666,0.6234,0.6741,0.8282,0.8823,0.9196,0.8965,0.7549,0.6736,0.6463,0.5007,0.3663,0.2298,0.1362,0.2123,0.2395,0.2673,0.2865,0.2060,0.1659,0.2633,0.2552,0.1696,0.1467,0.1286,0.0926,0.0716,0.0325,0.0258,0.0136,0.0044,0.0028,0.0021,0.0022,0.0048,0.0138,0.0140,0.0028,0.0064,R 56 | 0.0201,0.0116,0.0123,0.0245,0.0547,0.0208,0.0891,0.0836,0.1335,0.1199,0.1742,0.1387,0.2042,0.2580,0.2616,0.2097,0.2532,0.3213,0.4327,0.4760,0.5328,0.6057,0.6696,0.7476,0.8930,0.9405,1.0000,0.9785,0.8473,0.7639,0.6701,0.4989,0.3718,0.2196,0.1416,0.2680,0.2630,0.3104,0.3392,0.2123,0.1170,0.2655,0.2203,0.1541,0.1464,0.1044,0.1225,0.0745,0.0490,0.0224,0.0032,0.0076,0.0045,0.0056,0.0075,0.0037,0.0045,0.0029,0.0008,0.0018,R 57 | 0.0152,0.0102,0.0113,0.0263,0.0097,0.0391,0.0857,0.0915,0.0949,0.1504,0.1911,0.2115,0.2249,0.2573,0.1701,0.2023,0.2538,0.3417,0.4026,0.4553,0.5525,0.5991,0.5854,0.7114,0.9500,0.9858,1.0000,0.9578,0.8642,0.7128,0.5893,0.4323,0.2897,0.1744,0.0770,0.2297,0.2459,0.3101,0.3312,0.2220,0.0871,0.2064,0.1808,0.1624,0.1120,0.0815,0.1117,0.0950,0.0412,0.0120,0.0048,0.0049,0.0041,0.0036,0.0013,0.0046,0.0037,0.0011,0.0034,0.0033,R 58 | 0.0216,0.0124,0.0174,0.0152,0.0608,0.1026,0.1139,0.0877,0.1160,0.0866,0.1564,0.0780,0.0997,0.0915,0.0662,0.1134,0.1740,0.2573,0.3294,0.3910,0.5438,0.6115,0.7022,0.7610,0.7973,0.9105,0.8807,0.7949,0.7990,0.7180,0.6407,0.6312,0.5929,0.6168,0.6498,0.6764,0.6253,0.5117,0.3890,0.3273,0.2509,0.1530,0.1323,0.1657,0.1215,0.0978,0.0452,0.0273,0.0179,0.0092,0.0018,0.0052,0.0049,0.0096,0.0134,0.0122,0.0047,0.0018,0.0006,0.0023,R 59 | 0.0225,0.0019,0.0075,0.0097,0.0445,0.0906,0.0889,0.0655,0.1624,0.1452,0.1442,0.0948,0.0618,0.1641,0.0708,0.0844,0.2590,0.2679,0.3094,0.4678,0.5958,0.7245,0.8773,0.9214,0.9282,0.9942,1.0000,0.9071,0.8545,0.7293,0.6499,0.6071,0.5588,0.5967,0.6275,0.5459,0.4786,0.3965,0.2087,0.1651,0.1836,0.0652,0.0758,0.0486,0.0353,0.0297,0.0241,0.0379,0.0119,0.0073,0.0051,0.0034,0.0129,0.0100,0.0044,0.0057,0.0030,0.0035,0.0021,0.0027,R 60 | 0.0125,0.0152,0.0218,0.0175,0.0362,0.0696,0.0873,0.0616,0.1252,0.1302,0.0888,0.0500,0.0628,0.1274,0.0801,0.0742,0.2048,0.2950,0.3193,0.4567,0.5959,0.7101,0.8225,0.8425,0.9065,0.9802,1.0000,0.8752,0.7583,0.6616,0.5786,0.5128,0.4776,0.4994,0.5197,0.5071,0.4577,0.3505,0.1845,0.1890,0.1967,0.1041,0.0550,0.0492,0.0622,0.0505,0.0247,0.0219,0.0102,0.0047,0.0019,0.0041,0.0074,0.0030,0.0050,0.0048,0.0017,0.0041,0.0086,0.0058,R 61 | 0.0130,0.0006,0.0088,0.0456,0.0525,0.0778,0.0931,0.0941,0.1711,0.1483,0.1532,0.1100,0.0890,0.1236,0.1197,0.1145,0.2137,0.2838,0.3640,0.5430,0.6673,0.7979,0.9273,0.9027,0.9192,1.0000,0.9821,0.9092,0.8184,0.6962,0.5900,0.5447,0.5142,0.5389,0.5531,0.5318,0.4826,0.3790,0.1831,0.1750,0.1679,0.0674,0.0609,0.0375,0.0533,0.0278,0.0179,0.0114,0.0073,0.0116,0.0092,0.0078,0.0041,0.0013,0.0011,0.0045,0.0039,0.0022,0.0023,0.0016,R 62 | 0.0135,0.0045,0.0051,0.0289,0.0561,0.0929,0.1031,0.0883,0.1596,0.1908,0.1576,0.1112,0.1197,0.1174,0.1415,0.2215,0.2658,0.2713,0.3862,0.5717,0.6797,0.8747,1.0000,0.8948,0.8420,0.9174,0.9307,0.9050,0.8228,0.6986,0.5831,0.4924,0.4563,0.5159,0.5670,0.5284,0.5144,0.3742,0.2282,0.1193,0.1088,0.0431,0.1070,0.0583,0.0046,0.0473,0.0408,0.0290,0.0192,0.0094,0.0025,0.0037,0.0084,0.0102,0.0096,0.0024,0.0037,0.0028,0.0030,0.0030,R 63 | 0.0086,0.0215,0.0242,0.0445,0.0667,0.0771,0.0499,0.0906,0.1229,0.1185,0.0775,0.1101,0.1042,0.0853,0.0456,0.1304,0.2690,0.2947,0.3669,0.4948,0.6275,0.8162,0.9237,0.8710,0.8052,0.8756,1.0000,0.9858,0.9427,0.8114,0.6987,0.6810,0.6591,0.6954,0.7290,0.6680,0.5917,0.4899,0.3439,0.2366,0.1716,0.1013,0.0766,0.0845,0.0260,0.0333,0.0205,0.0309,0.0101,0.0095,0.0047,0.0072,0.0054,0.0022,0.0016,0.0029,0.0058,0.0050,0.0024,0.0030,R 64 | 0.0067,0.0096,0.0024,0.0058,0.0197,0.0618,0.0432,0.0951,0.0836,0.1180,0.0978,0.0909,0.0656,0.0593,0.0832,0.1297,0.2038,0.3811,0.4451,0.5224,0.5911,0.6566,0.6308,0.5998,0.4958,0.5647,0.6906,0.8513,1.0000,0.9166,0.7676,0.6177,0.5468,0.5516,0.5463,0.5515,0.4561,0.3466,0.3384,0.2853,0.2502,0.1641,0.1605,0.1491,0.1326,0.0687,0.0602,0.0561,0.0306,0.0154,0.0029,0.0048,0.0023,0.0020,0.0040,0.0019,0.0034,0.0034,0.0051,0.0031,R 65 | 0.0071,0.0103,0.0135,0.0494,0.0253,0.0806,0.0701,0.0738,0.0117,0.0898,0.0289,0.1554,0.1437,0.1035,0.1424,0.1227,0.0892,0.2047,0.0827,0.1524,0.3031,0.1608,0.0667,0.1426,0.0395,0.1653,0.3399,0.4855,0.5206,0.5508,0.6102,0.5989,0.6764,0.8897,1.0000,0.9517,0.8459,0.7073,0.6697,0.6326,0.5102,0.4161,0.2816,0.1705,0.1421,0.0971,0.0879,0.0863,0.0355,0.0233,0.0252,0.0043,0.0048,0.0076,0.0124,0.0105,0.0054,0.0032,0.0073,0.0063,R 66 | 0.0176,0.0172,0.0501,0.0285,0.0262,0.0351,0.0362,0.0535,0.0258,0.0474,0.0526,0.1854,0.1040,0.0948,0.0912,0.1688,0.1568,0.0375,0.1316,0.2086,0.1976,0.0946,0.1965,0.1242,0.0616,0.2141,0.4642,0.6471,0.6340,0.6107,0.7046,0.5376,0.5934,0.8443,0.9481,0.9705,0.7766,0.6313,0.5760,0.6148,0.5450,0.4813,0.3406,0.1916,0.1134,0.0640,0.0911,0.0980,0.0563,0.0187,0.0088,0.0042,0.0175,0.0171,0.0079,0.0050,0.0112,0.0179,0.0294,0.0063,R 67 | 0.0265,0.0440,0.0137,0.0084,0.0305,0.0438,0.0341,0.0780,0.0844,0.0779,0.0327,0.2060,0.1908,0.1065,0.1457,0.2232,0.2070,0.1105,0.1078,0.1165,0.2224,0.0689,0.2060,0.2384,0.0904,0.2278,0.5872,0.8457,0.8467,0.7679,0.8055,0.6260,0.6545,0.8747,0.9885,0.9348,0.6960,0.5733,0.5872,0.6663,0.5651,0.5247,0.3684,0.1997,0.1512,0.0508,0.0931,0.0982,0.0524,0.0188,0.0100,0.0038,0.0187,0.0156,0.0068,0.0097,0.0073,0.0081,0.0086,0.0095,R 68 | 0.0368,0.0403,0.0317,0.0293,0.0820,0.1342,0.1161,0.0663,0.0155,0.0506,0.0906,0.2545,0.1464,0.1272,0.1223,0.1669,0.1424,0.1285,0.1857,0.1136,0.2069,0.0219,0.2400,0.2547,0.0240,0.1923,0.4753,0.7003,0.6825,0.6443,0.7063,0.5373,0.6601,0.8708,0.9518,0.9605,0.7712,0.6772,0.6431,0.6720,0.6035,0.5155,0.3802,0.2278,0.1522,0.0801,0.0804,0.0752,0.0566,0.0175,0.0058,0.0091,0.0160,0.0160,0.0081,0.0070,0.0135,0.0067,0.0078,0.0068,R 69 | 0.0195,0.0142,0.0181,0.0406,0.0391,0.0249,0.0892,0.0973,0.0840,0.1191,0.1522,0.1322,0.1434,0.1244,0.0653,0.0890,0.1226,0.1846,0.3880,0.3658,0.2297,0.2610,0.4193,0.5848,0.5643,0.5448,0.4772,0.6897,0.9797,1.0000,0.9546,0.8835,0.7662,0.6547,0.5447,0.4593,0.4679,0.1987,0.0699,0.1493,0.1713,0.1654,0.2600,0.3846,0.3754,0.2414,0.1077,0.0224,0.0155,0.0187,0.0125,0.0028,0.0067,0.0120,0.0012,0.0022,0.0058,0.0042,0.0067,0.0012,R 70 | 0.0216,0.0215,0.0273,0.0139,0.0357,0.0785,0.0906,0.0908,0.1151,0.0973,0.1203,0.1102,0.1192,0.1762,0.2390,0.2138,0.1929,0.1765,0.0746,0.1265,0.2005,0.1571,0.2605,0.5386,0.8440,1.0000,0.8684,0.6742,0.5537,0.4638,0.3609,0.2055,0.1620,0.2092,0.3100,0.2344,0.1058,0.0383,0.0528,0.1291,0.2241,0.1915,0.1587,0.0942,0.0840,0.0670,0.0342,0.0469,0.0357,0.0136,0.0082,0.0140,0.0044,0.0052,0.0073,0.0021,0.0047,0.0024,0.0009,0.0017,R 71 | 0.0065,0.0122,0.0068,0.0108,0.0217,0.0284,0.0527,0.0575,0.1054,0.1109,0.0937,0.0827,0.0920,0.0911,0.1487,0.1666,0.1268,0.1374,0.1095,0.1286,0.2146,0.2889,0.4238,0.6168,0.8167,0.9622,0.8280,0.5816,0.4667,0.3539,0.2727,0.1410,0.1863,0.2176,0.2360,0.1725,0.0589,0.0621,0.1847,0.2452,0.2984,0.3041,0.2275,0.1480,0.1102,0.1178,0.0608,0.0333,0.0276,0.0100,0.0023,0.0069,0.0025,0.0027,0.0052,0.0036,0.0026,0.0036,0.0006,0.0035,R 72 | 0.0036,0.0078,0.0092,0.0387,0.0530,0.1197,0.1243,0.1026,0.1239,0.0888,0.0937,0.1245,0.1599,0.1542,0.1846,0.1732,0.1477,0.1748,0.1455,0.1579,0.2257,0.1975,0.3368,0.5828,0.8505,1.0000,0.8457,0.6624,0.5564,0.3925,0.3233,0.2054,0.1920,0.2227,0.3147,0.2268,0.0795,0.0748,0.1166,0.1969,0.2619,0.2507,0.1983,0.0948,0.0931,0.0965,0.0381,0.0435,0.0336,0.0055,0.0079,0.0119,0.0055,0.0035,0.0036,0.0004,0.0018,0.0049,0.0024,0.0016,R 73 | 0.0208,0.0186,0.0131,0.0211,0.0610,0.0613,0.0612,0.0506,0.0989,0.1093,0.1063,0.1179,0.1291,0.1591,0.1680,0.1918,0.1615,0.1647,0.1397,0.1426,0.2429,0.2816,0.4290,0.6443,0.9061,1.0000,0.8087,0.6119,0.5260,0.3677,0.2746,0.1020,0.1339,0.1582,0.1952,0.1787,0.0429,0.1096,0.1762,0.2481,0.3150,0.2920,0.1902,0.0696,0.0758,0.0910,0.0441,0.0244,0.0265,0.0095,0.0140,0.0074,0.0063,0.0081,0.0087,0.0044,0.0028,0.0019,0.0049,0.0023,R 74 | 0.0139,0.0222,0.0089,0.0108,0.0215,0.0136,0.0659,0.0954,0.0786,0.1015,0.1261,0.0828,0.0493,0.0848,0.1514,0.1396,0.1066,0.1923,0.2991,0.3247,0.3797,0.5658,0.7483,0.8757,0.9048,0.7511,0.6858,0.7043,0.5864,0.3773,0.2206,0.2628,0.2672,0.2907,0.1982,0.2288,0.3186,0.2871,0.2921,0.2806,0.2682,0.2112,0.1513,0.1789,0.1850,0.1717,0.0898,0.0656,0.0445,0.0110,0.0024,0.0062,0.0072,0.0113,0.0012,0.0022,0.0025,0.0059,0.0039,0.0048,R 75 | 0.0109,0.0093,0.0121,0.0378,0.0679,0.0863,0.1004,0.0664,0.0941,0.1036,0.0972,0.0501,0.1546,0.3404,0.4804,0.6570,0.7738,0.7827,0.8152,0.8129,0.8297,0.8535,0.8870,0.8894,0.8980,0.9667,1.0000,0.9134,0.6762,0.4659,0.2895,0.2959,0.1746,0.2112,0.2569,0.2276,0.2149,0.1601,0.0371,0.0117,0.0488,0.0288,0.0597,0.0431,0.0369,0.0025,0.0327,0.0257,0.0182,0.0108,0.0124,0.0077,0.0023,0.0117,0.0053,0.0077,0.0076,0.0056,0.0055,0.0039,R 76 | 0.0202,0.0104,0.0325,0.0239,0.0807,0.1529,0.1154,0.0608,0.1317,0.1370,0.0843,0.0269,0.1254,0.3046,0.5584,0.7973,0.8341,0.8057,0.8616,0.8769,0.9413,0.9403,0.9409,1.0000,0.9725,0.9309,0.9351,0.7317,0.4421,0.3244,0.4161,0.4611,0.4031,0.3000,0.2459,0.1348,0.2541,0.2255,0.1598,0.1485,0.0845,0.0569,0.0855,0.1262,0.1153,0.0570,0.0426,0.0425,0.0235,0.0006,0.0188,0.0127,0.0081,0.0067,0.0043,0.0065,0.0049,0.0054,0.0073,0.0054,R 77 | 0.0239,0.0189,0.0466,0.0440,0.0657,0.0742,0.1380,0.1099,0.1384,0.1376,0.0938,0.0259,0.1499,0.2851,0.5743,0.8278,0.8669,0.8131,0.9045,0.9046,1.0000,0.9976,0.9872,0.9761,0.9009,0.9724,0.9675,0.7633,0.4434,0.3822,0.4727,0.4007,0.3381,0.3172,0.2222,0.0733,0.2692,0.1888,0.0712,0.1062,0.0694,0.0300,0.0893,0.1459,0.1348,0.0391,0.0546,0.0469,0.0201,0.0095,0.0155,0.0091,0.0151,0.0080,0.0018,0.0078,0.0045,0.0026,0.0036,0.0024,R 78 | 0.0336,0.0294,0.0476,0.0539,0.0794,0.0804,0.1136,0.1228,0.1235,0.0842,0.0357,0.0689,0.1705,0.3257,0.4602,0.6225,0.7327,0.7843,0.7988,0.8261,1.0000,0.9814,0.9620,0.9601,0.9118,0.9086,0.7931,0.5877,0.3474,0.4235,0.4633,0.3410,0.2849,0.2847,0.1742,0.0549,0.1192,0.1154,0.0855,0.1811,0.1264,0.0799,0.0378,0.1268,0.1125,0.0505,0.0949,0.0677,0.0259,0.0170,0.0033,0.0150,0.0111,0.0032,0.0035,0.0169,0.0137,0.0015,0.0069,0.0051,R 79 | 0.0231,0.0351,0.0030,0.0304,0.0339,0.0860,0.1738,0.1351,0.1063,0.0347,0.0575,0.1382,0.2274,0.4038,0.5223,0.6847,0.7521,0.7760,0.7708,0.8627,1.0000,0.8873,0.8057,0.8760,0.9066,0.9430,0.8846,0.6500,0.2970,0.2423,0.2992,0.2285,0.2277,0.1529,0.1037,0.0352,0.1073,0.1373,0.1331,0.1454,0.1115,0.0440,0.0762,0.1381,0.0831,0.0654,0.0844,0.0595,0.0497,0.0313,0.0154,0.0106,0.0097,0.0022,0.0052,0.0072,0.0056,0.0038,0.0043,0.0030,R 80 | 0.0108,0.0086,0.0058,0.0460,0.0752,0.0887,0.1015,0.0494,0.0472,0.0393,0.1106,0.1412,0.2202,0.2976,0.4116,0.4754,0.5390,0.6279,0.7060,0.7918,0.9493,1.0000,0.9645,0.9432,0.8658,0.7895,0.6501,0.4492,0.4739,0.6153,0.4929,0.3195,0.3735,0.3336,0.1052,0.0671,0.0379,0.0461,0.1694,0.2169,0.1677,0.0644,0.0159,0.0778,0.0653,0.0210,0.0509,0.0387,0.0262,0.0101,0.0161,0.0029,0.0078,0.0114,0.0083,0.0058,0.0003,0.0023,0.0026,0.0027,R 81 | 0.0229,0.0369,0.0040,0.0375,0.0455,0.1452,0.2211,0.1188,0.0750,0.1631,0.2709,0.3358,0.4091,0.4400,0.5485,0.7213,0.8137,0.9185,1.0000,0.9418,0.9116,0.9349,0.7484,0.5146,0.4106,0.3443,0.6981,0.8713,0.9013,0.8014,0.4380,0.1319,0.1709,0.2484,0.3044,0.2312,0.1338,0.2056,0.2474,0.2790,0.1610,0.0056,0.0351,0.1148,0.1331,0.0276,0.0763,0.0631,0.0309,0.0240,0.0115,0.0064,0.0022,0.0122,0.0151,0.0056,0.0026,0.0029,0.0104,0.0163,R 82 | 0.0100,0.0194,0.0155,0.0489,0.0839,0.1009,0.1627,0.2071,0.2696,0.2990,0.3242,0.3565,0.3951,0.5201,0.6953,0.8468,1.0000,0.9278,0.8510,0.8010,0.8142,0.8825,0.7302,0.6107,0.7159,0.8458,0.6319,0.4808,0.6291,0.7152,0.6005,0.4235,0.4106,0.3992,0.1730,0.1975,0.2370,0.1339,0.1583,0.3151,0.1968,0.2054,0.1272,0.1129,0.1946,0.2195,0.1930,0.1498,0.0773,0.0196,0.0122,0.0130,0.0073,0.0077,0.0075,0.0060,0.0080,0.0019,0.0053,0.0019,R 83 | 0.0409,0.0421,0.0573,0.0130,0.0183,0.1019,0.1054,0.1070,0.2302,0.2259,0.2373,0.3323,0.3827,0.4840,0.6812,0.7555,0.9522,0.9826,0.8871,0.8268,0.7561,0.8217,0.6967,0.6444,0.6948,0.8014,0.6053,0.6084,0.8877,0.8557,0.5563,0.2897,0.3638,0.4786,0.2908,0.0899,0.2043,0.1707,0.0407,0.1286,0.1581,0.2191,0.1701,0.0971,0.2217,0.2732,0.1874,0.1062,0.0665,0.0405,0.0113,0.0028,0.0036,0.0105,0.0120,0.0087,0.0061,0.0061,0.0030,0.0078,R 84 | 0.0217,0.0340,0.0392,0.0236,0.1081,0.1164,0.1398,0.1009,0.1147,0.1777,0.4079,0.4113,0.3973,0.5078,0.6509,0.8073,0.9819,1.0000,0.9407,0.8452,0.8106,0.8460,0.6212,0.5815,0.7745,0.8204,0.5601,0.2989,0.5009,0.6628,0.5753,0.4055,0.3746,0.3481,0.1580,0.1422,0.2130,0.1866,0.1003,0.2396,0.2241,0.2029,0.0710,0.1606,0.1669,0.1700,0.1829,0.1403,0.0506,0.0224,0.0095,0.0031,0.0103,0.0078,0.0077,0.0094,0.0031,0.0030,0.0013,0.0069,R 85 | 0.0378,0.0318,0.0423,0.0350,0.1787,0.1635,0.0887,0.0817,0.1779,0.2053,0.3135,0.3118,0.3686,0.3885,0.5850,0.7868,0.9739,1.0000,0.9843,0.8610,0.8443,0.9061,0.5847,0.4033,0.5946,0.6793,0.6389,0.5002,0.5578,0.4831,0.4729,0.3318,0.3969,0.3894,0.2314,0.1036,0.1312,0.0864,0.2569,0.3179,0.2649,0.2714,0.1713,0.0584,0.1230,0.2200,0.2198,0.1074,0.0423,0.0162,0.0093,0.0046,0.0044,0.0078,0.0102,0.0065,0.0061,0.0062,0.0043,0.0053,R 86 | 0.0365,0.1632,0.1636,0.1421,0.1130,0.1306,0.2112,0.2268,0.2992,0.3735,0.3042,0.0387,0.2679,0.5397,0.6204,0.7257,0.8350,0.6888,0.4450,0.3921,0.5605,0.7545,0.8311,1.0000,0.8762,0.7092,0.7009,0.5014,0.3942,0.4456,0.4072,0.0773,0.1423,0.0401,0.3597,0.6847,0.7076,0.3597,0.0612,0.3027,0.3966,0.3868,0.2380,0.2059,0.2288,0.1704,0.1587,0.1792,0.1022,0.0151,0.0223,0.0110,0.0071,0.0205,0.0164,0.0063,0.0078,0.0094,0.0110,0.0068,R 87 | 0.0188,0.0370,0.0953,0.0824,0.0249,0.0488,0.1424,0.1972,0.1873,0.1806,0.2139,0.1523,0.1975,0.4844,0.7298,0.7807,0.7906,0.6122,0.4200,0.2807,0.5148,0.7569,0.8596,1.0000,0.8457,0.6797,0.6971,0.5843,0.4772,0.5201,0.4241,0.1592,0.1668,0.0588,0.3967,0.7147,0.7319,0.3509,0.0589,0.2690,0.4200,0.3874,0.2440,0.2000,0.2307,0.1886,0.1960,0.1701,0.1366,0.0398,0.0143,0.0093,0.0033,0.0113,0.0030,0.0057,0.0090,0.0057,0.0068,0.0024,R 88 | 0.0856,0.0454,0.0382,0.0203,0.0385,0.0534,0.2140,0.3110,0.2837,0.2751,0.2707,0.0946,0.1020,0.4519,0.6737,0.6699,0.7066,0.5632,0.3785,0.2721,0.5297,0.7697,0.8643,0.9304,0.9372,0.6247,0.6024,0.6810,0.5047,0.5775,0.4754,0.2400,0.2779,0.1997,0.5305,0.7409,0.7775,0.4424,0.1416,0.3508,0.4482,0.4208,0.3054,0.2235,0.2611,0.2798,0.2392,0.2021,0.1326,0.0358,0.0128,0.0172,0.0138,0.0079,0.0037,0.0051,0.0258,0.0102,0.0037,0.0037,R 89 | 0.0274,0.0242,0.0621,0.0560,0.1129,0.0973,0.1823,0.1745,0.1440,0.1808,0.2366,0.0906,0.1749,0.4012,0.5187,0.7312,0.9062,0.9260,0.7434,0.4463,0.5103,0.6952,0.7755,0.8364,0.7283,0.6399,0.5759,0.4146,0.3495,0.4437,0.2665,0.2024,0.1942,0.0765,0.3725,0.5843,0.4827,0.2347,0.0999,0.3244,0.3990,0.2975,0.1684,0.1761,0.1683,0.0729,0.1190,0.1297,0.0748,0.0067,0.0255,0.0113,0.0108,0.0085,0.0047,0.0074,0.0104,0.0161,0.0220,0.0173,R 90 | 0.0235,0.0291,0.0749,0.0519,0.0227,0.0834,0.0677,0.2002,0.2876,0.3674,0.2974,0.0837,0.1912,0.5040,0.6352,0.6804,0.7505,0.6595,0.4509,0.2964,0.4019,0.6794,0.8297,1.0000,0.8240,0.7115,0.7726,0.6124,0.4936,0.5648,0.4906,0.1820,0.1811,0.1107,0.4603,0.6650,0.6423,0.2166,0.1951,0.4947,0.4925,0.4041,0.2402,0.1392,0.1779,0.1946,0.1723,0.1522,0.0929,0.0179,0.0242,0.0083,0.0037,0.0095,0.0105,0.0030,0.0132,0.0068,0.0108,0.0090,R 91 | 0.0126,0.0519,0.0621,0.0518,0.1072,0.2587,0.2304,0.2067,0.3416,0.4284,0.3015,0.1207,0.3299,0.5707,0.6962,0.9751,1.0000,0.9293,0.6210,0.4586,0.5001,0.5032,0.7082,0.8420,0.8109,0.7690,0.8105,0.6203,0.2356,0.2595,0.6299,0.6762,0.2903,0.4393,0.8529,0.7180,0.4801,0.5856,0.4993,0.2866,0.0601,0.1167,0.2737,0.2812,0.2078,0.0660,0.0491,0.0345,0.0172,0.0287,0.0027,0.0208,0.0048,0.0199,0.0126,0.0022,0.0037,0.0034,0.0114,0.0077,R 92 | 0.0253,0.0808,0.0507,0.0244,0.1724,0.3823,0.3729,0.3583,0.3429,0.2197,0.2653,0.3223,0.5582,0.6916,0.7943,0.7152,0.3512,0.2008,0.2676,0.4299,0.5280,0.3489,0.1430,0.5453,0.6338,0.7712,0.6838,0.8015,0.8073,0.8310,0.7792,0.5049,0.1413,0.2767,0.5084,0.4787,0.1356,0.2299,0.2789,0.3833,0.2933,0.1155,0.1705,0.1294,0.0909,0.0800,0.0567,0.0198,0.0114,0.0151,0.0085,0.0178,0.0073,0.0079,0.0038,0.0116,0.0033,0.0039,0.0081,0.0053,R 93 | 0.0260,0.0192,0.0254,0.0061,0.0352,0.0701,0.1263,0.1080,0.1523,0.1630,0.1030,0.2187,0.1542,0.2630,0.2940,0.2978,0.0699,0.1401,0.2990,0.3915,0.3598,0.2403,0.4208,0.5675,0.6094,0.6323,0.6549,0.7673,1.0000,0.8463,0.5509,0.4444,0.5169,0.4268,0.1802,0.0791,0.0535,0.1906,0.2561,0.2153,0.2769,0.2841,0.1733,0.0815,0.0335,0.0933,0.1018,0.0309,0.0208,0.0318,0.0132,0.0118,0.0120,0.0051,0.0070,0.0015,0.0035,0.0008,0.0044,0.0077,R 94 | 0.0459,0.0437,0.0347,0.0456,0.0067,0.0890,0.1798,0.1741,0.1598,0.1408,0.2693,0.3259,0.4545,0.5785,0.4471,0.2231,0.2164,0.3201,0.2915,0.4235,0.4460,0.2380,0.6415,0.8966,0.8918,0.7529,0.6838,0.8390,1.0000,0.8362,0.5427,0.4577,0.8067,0.6973,0.3915,0.1558,0.1598,0.2161,0.5178,0.4782,0.2344,0.3599,0.2785,0.1807,0.0352,0.0473,0.0322,0.0408,0.0163,0.0088,0.0121,0.0067,0.0032,0.0109,0.0164,0.0151,0.0070,0.0085,0.0117,0.0056,R 95 | 0.0025,0.0309,0.0171,0.0228,0.0434,0.1224,0.1947,0.1661,0.1368,0.1430,0.0994,0.2250,0.2444,0.3239,0.3039,0.2410,0.0367,0.1672,0.3038,0.4069,0.3613,0.1994,0.4611,0.6849,0.7272,0.7152,0.7102,0.8516,1.0000,0.7690,0.4841,0.3717,0.6096,0.5110,0.2586,0.0916,0.0947,0.2287,0.3480,0.2095,0.1901,0.2941,0.2211,0.1524,0.0746,0.0606,0.0692,0.0446,0.0344,0.0082,0.0108,0.0149,0.0077,0.0036,0.0114,0.0085,0.0101,0.0016,0.0028,0.0014,R 96 | 0.0291,0.0400,0.0771,0.0809,0.0521,0.1051,0.0145,0.0674,0.1294,0.1146,0.0942,0.0794,0.0252,0.1191,0.1045,0.2050,0.1556,0.2690,0.3784,0.4024,0.3470,0.1395,0.1208,0.2827,0.1500,0.2626,0.4468,0.7520,0.9036,0.7812,0.4766,0.2483,0.5372,0.6279,0.3647,0.4572,0.6359,0.6474,0.5520,0.3253,0.2292,0.0653,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0000,0.0056,0.0237,0.0204,0.0050,0.0137,0.0164,0.0081,0.0139,0.0111,R 97 | 0.0181,0.0146,0.0026,0.0141,0.0421,0.0473,0.0361,0.0741,0.1398,0.1045,0.0904,0.0671,0.0997,0.1056,0.0346,0.1231,0.1626,0.3652,0.3262,0.2995,0.2109,0.2104,0.2085,0.2282,0.0747,0.1969,0.4086,0.6385,0.7970,0.7508,0.5517,0.2214,0.4672,0.4479,0.2297,0.3235,0.4480,0.5581,0.6520,0.5354,0.2478,0.2268,0.1788,0.0898,0.0536,0.0374,0.0990,0.0956,0.0317,0.0142,0.0076,0.0223,0.0255,0.0145,0.0233,0.0041,0.0018,0.0048,0.0089,0.0085,R 98 | 0.0491,0.0279,0.0592,0.1270,0.1772,0.1908,0.2217,0.0768,0.1246,0.2028,0.0947,0.2497,0.2209,0.3195,0.3340,0.3323,0.2780,0.2975,0.2948,0.1729,0.3264,0.3834,0.3523,0.5410,0.5228,0.4475,0.5340,0.5323,0.3907,0.3456,0.4091,0.4639,0.5580,0.5727,0.6355,0.7563,0.6903,0.6176,0.5379,0.5622,0.6508,0.4797,0.3736,0.2804,0.1982,0.2438,0.1789,0.1706,0.0762,0.0238,0.0268,0.0081,0.0129,0.0161,0.0063,0.0119,0.0194,0.0140,0.0332,0.0439,M 99 | 0.1313,0.2339,0.3059,0.4264,0.4010,0.1791,0.1853,0.0055,0.1929,0.2231,0.2907,0.2259,0.3136,0.3302,0.3660,0.3956,0.4386,0.4670,0.5255,0.3735,0.2243,0.1973,0.4337,0.6532,0.5070,0.2796,0.4163,0.5950,0.5242,0.4178,0.3714,0.2375,0.0863,0.1437,0.2896,0.4577,0.3725,0.3372,0.3803,0.4181,0.3603,0.2711,0.1653,0.1951,0.2811,0.2246,0.1921,0.1500,0.0665,0.0193,0.0156,0.0362,0.0210,0.0154,0.0180,0.0013,0.0106,0.0127,0.0178,0.0231,M 100 | 0.0201,0.0423,0.0554,0.0783,0.0620,0.0871,0.1201,0.2707,0.1206,0.0279,0.2251,0.2615,0.1770,0.3709,0.4533,0.5553,0.4616,0.3797,0.3450,0.2665,0.2395,0.1127,0.2556,0.5169,0.3779,0.4082,0.5353,0.5116,0.4544,0.4258,0.3869,0.3939,0.4661,0.3974,0.2194,0.1816,0.1023,0.2108,0.3253,0.3697,0.2912,0.3010,0.2563,0.1927,0.2062,0.1751,0.0841,0.1035,0.0641,0.0153,0.0081,0.0191,0.0182,0.0160,0.0290,0.0090,0.0242,0.0224,0.0190,0.0096,M 101 | 0.0629,0.1065,0.1526,0.1229,0.1437,0.1190,0.0884,0.0907,0.2107,0.3597,0.5466,0.5205,0.5127,0.5395,0.6558,0.8705,0.9786,0.9335,0.7917,0.7383,0.6908,0.3850,0.0671,0.0502,0.2717,0.2839,0.2234,0.1911,0.0408,0.2531,0.1979,0.1891,0.2433,0.1956,0.2667,0.1340,0.1073,0.2023,0.1794,0.0227,0.1313,0.1775,0.1549,0.1626,0.0708,0.0129,0.0795,0.0762,0.0117,0.0061,0.0257,0.0089,0.0262,0.0108,0.0138,0.0187,0.0230,0.0057,0.0113,0.0131,M 102 | 0.0335,0.0134,0.0696,0.1180,0.0348,0.1180,0.1948,0.1607,0.3036,0.4372,0.5533,0.5771,0.7022,0.7067,0.7367,0.7391,0.8622,0.9458,0.8782,0.7913,0.5760,0.3061,0.0563,0.0239,0.2554,0.4862,0.5027,0.4402,0.2847,0.1797,0.3560,0.3522,0.3321,0.3112,0.3638,0.0754,0.1834,0.1820,0.1815,0.1593,0.0576,0.0954,0.1086,0.0812,0.0784,0.0487,0.0439,0.0586,0.0370,0.0185,0.0302,0.0244,0.0232,0.0093,0.0159,0.0193,0.0032,0.0377,0.0126,0.0156,M 103 | 0.0587,0.1210,0.1268,0.1498,0.1436,0.0561,0.0832,0.0672,0.1372,0.2352,0.3208,0.4257,0.5201,0.4914,0.5950,0.7221,0.9039,0.9111,0.8723,0.7686,0.7326,0.5222,0.3097,0.3172,0.2270,0.1640,0.1746,0.1835,0.2048,0.1674,0.2767,0.3104,0.3399,0.4441,0.5046,0.2814,0.1681,0.2633,0.3198,0.1933,0.0934,0.0443,0.0780,0.0722,0.0405,0.0553,0.1081,0.1139,0.0767,0.0265,0.0215,0.0331,0.0111,0.0088,0.0158,0.0122,0.0038,0.0101,0.0228,0.0124,M 104 | 0.0162,0.0253,0.0262,0.0386,0.0645,0.0472,0.1056,0.1388,0.0598,0.1334,0.2969,0.4754,0.5677,0.5690,0.6421,0.7487,0.8999,1.0000,0.9690,0.9032,0.7685,0.6998,0.6644,0.5964,0.3711,0.0921,0.0481,0.0876,0.1040,0.1714,0.3264,0.4612,0.3939,0.5050,0.4833,0.3511,0.2319,0.4029,0.3676,0.1510,0.0745,0.1395,0.1552,0.0377,0.0636,0.0443,0.0264,0.0223,0.0187,0.0077,0.0137,0.0071,0.0082,0.0232,0.0198,0.0074,0.0035,0.0100,0.0048,0.0019,M 105 | 0.0307,0.0523,0.0653,0.0521,0.0611,0.0577,0.0665,0.0664,0.1460,0.2792,0.3877,0.4992,0.4981,0.4972,0.5607,0.7339,0.8230,0.9173,0.9975,0.9911,0.8240,0.6498,0.5980,0.4862,0.3150,0.1543,0.0989,0.0284,0.1008,0.2636,0.2694,0.2930,0.2925,0.3998,0.3660,0.3172,0.4609,0.4374,0.1820,0.3376,0.6202,0.4448,0.1863,0.1420,0.0589,0.0576,0.0672,0.0269,0.0245,0.0190,0.0063,0.0321,0.0189,0.0137,0.0277,0.0152,0.0052,0.0121,0.0124,0.0055,M 106 | 0.0116,0.0179,0.0449,0.1096,0.1913,0.0924,0.0761,0.1092,0.0757,0.1006,0.2500,0.3988,0.3809,0.4753,0.6165,0.6464,0.8024,0.9208,0.9832,0.9634,0.8646,0.8325,0.8276,0.8007,0.6102,0.4853,0.4355,0.4307,0.4399,0.3833,0.3032,0.3035,0.3197,0.2292,0.2131,0.2347,0.3201,0.4455,0.3655,0.2715,0.1747,0.1781,0.2199,0.1056,0.0573,0.0307,0.0237,0.0470,0.0102,0.0057,0.0031,0.0163,0.0099,0.0084,0.0270,0.0277,0.0097,0.0054,0.0148,0.0092,M 107 | 0.0331,0.0423,0.0474,0.0818,0.0835,0.0756,0.0374,0.0961,0.0548,0.0193,0.0897,0.1734,0.1936,0.2803,0.3313,0.5020,0.6360,0.7096,0.8333,0.8730,0.8073,0.7507,0.7526,0.7298,0.6177,0.4946,0.4531,0.4099,0.4540,0.4124,0.3139,0.3194,0.3692,0.3776,0.4469,0.4777,0.4716,0.4664,0.3893,0.4255,0.4064,0.3712,0.3863,0.2802,0.1283,0.1117,0.1303,0.0787,0.0436,0.0224,0.0133,0.0078,0.0174,0.0176,0.0038,0.0129,0.0066,0.0044,0.0134,0.0092,M 108 | 0.0428,0.0555,0.0708,0.0618,0.1215,0.1524,0.1543,0.0391,0.0610,0.0113,0.1255,0.2473,0.3011,0.3747,0.4520,0.5392,0.6588,0.7113,0.7602,0.8672,0.8416,0.7974,0.8385,0.9317,0.8555,0.6162,0.4139,0.3269,0.3108,0.2554,0.3367,0.4465,0.5000,0.5111,0.5194,0.4619,0.4234,0.4372,0.4277,0.4433,0.3700,0.3324,0.2564,0.2527,0.2137,0.1789,0.1010,0.0528,0.0453,0.0118,0.0009,0.0142,0.0179,0.0079,0.0060,0.0131,0.0089,0.0084,0.0113,0.0049,M 109 | 0.0599,0.0474,0.0498,0.0387,0.1026,0.0773,0.0853,0.0447,0.1094,0.0351,0.1582,0.2023,0.2268,0.2829,0.3819,0.4665,0.6687,0.8647,0.9361,0.9367,0.9144,0.9162,0.9311,0.8604,0.7327,0.5763,0.4162,0.4113,0.4146,0.3149,0.2936,0.3169,0.3149,0.4132,0.3994,0.4195,0.4532,0.4419,0.4737,0.3431,0.3194,0.3370,0.2493,0.2650,0.1748,0.0932,0.0530,0.0081,0.0342,0.0137,0.0028,0.0013,0.0005,0.0227,0.0209,0.0081,0.0117,0.0114,0.0112,0.0100,M 110 | 0.0264,0.0071,0.0342,0.0793,0.1043,0.0783,0.1417,0.1176,0.0453,0.0945,0.1132,0.0840,0.0717,0.1968,0.2633,0.4191,0.5050,0.6711,0.7922,0.8381,0.8759,0.9422,1.0000,0.9931,0.9575,0.8647,0.7215,0.5801,0.4964,0.4886,0.4079,0.2443,0.1768,0.2472,0.3518,0.3762,0.2909,0.2311,0.3168,0.3554,0.3741,0.4443,0.3261,0.1963,0.0864,0.1688,0.1991,0.1217,0.0628,0.0323,0.0253,0.0214,0.0262,0.0177,0.0037,0.0068,0.0121,0.0077,0.0078,0.0066,M 111 | 0.0210,0.0121,0.0203,0.1036,0.1675,0.0418,0.0723,0.0828,0.0494,0.0686,0.1125,0.1741,0.2710,0.3087,0.3575,0.4998,0.6011,0.6470,0.8067,0.9008,0.8906,0.9338,1.0000,0.9102,0.8496,0.7867,0.7688,0.7718,0.6268,0.4301,0.2077,0.1198,0.1660,0.2618,0.3862,0.3958,0.3248,0.2302,0.3250,0.4022,0.4344,0.4008,0.3370,0.2518,0.2101,0.1181,0.1150,0.0550,0.0293,0.0183,0.0104,0.0117,0.0101,0.0061,0.0031,0.0099,0.0080,0.0107,0.0161,0.0133,M 112 | 0.0530,0.0885,0.1997,0.2604,0.3225,0.2247,0.0617,0.2287,0.0950,0.0740,0.1610,0.2226,0.2703,0.3365,0.4266,0.4144,0.5655,0.6921,0.8547,0.9234,0.9171,1.0000,0.9532,0.9101,0.8337,0.7053,0.6534,0.4483,0.2460,0.2020,0.1446,0.0994,0.1510,0.2392,0.4434,0.5023,0.4441,0.4571,0.3927,0.2900,0.3408,0.4990,0.3632,0.1387,0.1800,0.1299,0.0523,0.0817,0.0469,0.0114,0.0299,0.0244,0.0199,0.0257,0.0082,0.0151,0.0171,0.0146,0.0134,0.0056,M 113 | 0.0454,0.0472,0.0697,0.1021,0.1397,0.1493,0.1487,0.0771,0.1171,0.1675,0.2799,0.3323,0.4012,0.4296,0.5350,0.5411,0.6870,0.8045,0.9194,0.9169,1.0000,0.9972,0.9093,0.7918,0.6705,0.5324,0.3572,0.2484,0.3161,0.3775,0.3138,0.1713,0.2937,0.5234,0.5926,0.5437,0.4516,0.3379,0.3215,0.2178,0.1674,0.2634,0.2980,0.2037,0.1155,0.0919,0.0882,0.0228,0.0380,0.0142,0.0137,0.0120,0.0042,0.0238,0.0129,0.0084,0.0218,0.0321,0.0154,0.0053,M 114 | 0.0283,0.0599,0.0656,0.0229,0.0839,0.1673,0.1154,0.1098,0.1370,0.1767,0.1995,0.2869,0.3275,0.3769,0.4169,0.5036,0.6180,0.8025,0.9333,0.9399,0.9275,0.9450,0.8328,0.7773,0.7007,0.6154,0.5810,0.4454,0.3707,0.2891,0.2185,0.1711,0.3578,0.3947,0.2867,0.2401,0.3619,0.3314,0.3763,0.4767,0.4059,0.3661,0.2320,0.1450,0.1017,0.1111,0.0655,0.0271,0.0244,0.0179,0.0109,0.0147,0.0170,0.0158,0.0046,0.0073,0.0054,0.0033,0.0045,0.0079,M 115 | 0.0114,0.0222,0.0269,0.0384,0.1217,0.2062,0.1489,0.0929,0.1350,0.1799,0.2486,0.2973,0.3672,0.4394,0.5258,0.6755,0.7402,0.8284,0.9033,0.9584,1.0000,0.9982,0.8899,0.7493,0.6367,0.6744,0.7207,0.6821,0.5512,0.4789,0.3924,0.2533,0.1089,0.1390,0.2551,0.3301,0.2818,0.2142,0.2266,0.2142,0.2354,0.2871,0.2596,0.1925,0.1256,0.1003,0.0951,0.1210,0.0728,0.0174,0.0213,0.0269,0.0152,0.0257,0.0097,0.0041,0.0050,0.0145,0.0103,0.0025,M 116 | 0.0414,0.0436,0.0447,0.0844,0.0419,0.1215,0.2002,0.1516,0.0818,0.1975,0.2309,0.3025,0.3938,0.5050,0.5872,0.6610,0.7417,0.8006,0.8456,0.7939,0.8804,0.8384,0.7852,0.8479,0.7434,0.6433,0.5514,0.3519,0.3168,0.3346,0.2056,0.1032,0.3168,0.4040,0.4282,0.4538,0.3704,0.3741,0.3839,0.3494,0.4380,0.4265,0.2854,0.2808,0.2395,0.0369,0.0805,0.0541,0.0177,0.0065,0.0222,0.0045,0.0136,0.0113,0.0053,0.0165,0.0141,0.0077,0.0246,0.0198,M 117 | 0.0094,0.0333,0.0306,0.0376,0.1296,0.1795,0.1909,0.1692,0.1870,0.1725,0.2228,0.3106,0.4144,0.5157,0.5369,0.5107,0.6441,0.7326,0.8164,0.8856,0.9891,1.0000,0.8750,0.8631,0.9074,0.8674,0.7750,0.6600,0.5615,0.4016,0.2331,0.1164,0.1095,0.0431,0.0619,0.1956,0.2120,0.3242,0.4102,0.2939,0.1911,0.1702,0.1010,0.1512,0.1427,0.1097,0.1173,0.0972,0.0703,0.0281,0.0216,0.0153,0.0112,0.0241,0.0164,0.0055,0.0078,0.0055,0.0091,0.0067,M 118 | 0.0228,0.0106,0.0130,0.0842,0.1117,0.1506,0.1776,0.0997,0.1428,0.2227,0.2621,0.3109,0.2859,0.3316,0.3755,0.4499,0.4765,0.6254,0.7304,0.8702,0.9349,0.9614,0.9126,0.9443,1.0000,0.9455,0.8815,0.7520,0.7068,0.5986,0.3857,0.2510,0.2162,0.0968,0.1323,0.1344,0.2250,0.3244,0.3939,0.3806,0.3258,0.3654,0.2983,0.1779,0.1535,0.1199,0.0959,0.0765,0.0649,0.0313,0.0185,0.0098,0.0178,0.0077,0.0074,0.0095,0.0055,0.0045,0.0063,0.0039,M 119 | 0.0363,0.0478,0.0298,0.0210,0.1409,0.1916,0.1349,0.1613,0.1703,0.1444,0.1989,0.2154,0.2863,0.3570,0.3980,0.4359,0.5334,0.6304,0.6995,0.7435,0.8379,0.8641,0.9014,0.9432,0.9536,1.0000,0.9547,0.9745,0.8962,0.7196,0.5462,0.3156,0.2525,0.1969,0.2189,0.1533,0.0711,0.1498,0.1755,0.2276,0.1322,0.1056,0.1973,0.1692,0.1881,0.1177,0.0779,0.0495,0.0492,0.0194,0.0250,0.0115,0.0190,0.0055,0.0096,0.0050,0.0066,0.0114,0.0073,0.0033,M 120 | 0.0261,0.0266,0.0223,0.0749,0.1364,0.1513,0.1316,0.1654,0.1864,0.2013,0.2890,0.3650,0.3510,0.3495,0.4325,0.5398,0.6237,0.6876,0.7329,0.8107,0.8396,0.8632,0.8747,0.9607,0.9716,0.9121,0.8576,0.8798,0.7720,0.5711,0.4264,0.2860,0.3114,0.2066,0.1165,0.0185,0.1302,0.2480,0.1637,0.1103,0.2144,0.2033,0.1887,0.1370,0.1376,0.0307,0.0373,0.0606,0.0399,0.0169,0.0135,0.0222,0.0175,0.0127,0.0022,0.0124,0.0054,0.0021,0.0028,0.0023,M 121 | 0.0346,0.0509,0.0079,0.0243,0.0432,0.0735,0.0938,0.1134,0.1228,0.1508,0.1809,0.2390,0.2947,0.2866,0.4010,0.5325,0.5486,0.5823,0.6041,0.6749,0.7084,0.7890,0.9284,0.9781,0.9738,1.0000,0.9702,0.9956,0.8235,0.6020,0.5342,0.4867,0.3526,0.1566,0.0946,0.1613,0.2824,0.3390,0.3019,0.2945,0.2978,0.2676,0.2055,0.2069,0.1625,0.1216,0.1013,0.0744,0.0386,0.0050,0.0146,0.0040,0.0122,0.0107,0.0112,0.0102,0.0052,0.0024,0.0079,0.0031,M 122 | 0.0162,0.0041,0.0239,0.0441,0.0630,0.0921,0.1368,0.1078,0.1552,0.1779,0.2164,0.2568,0.3089,0.3829,0.4393,0.5335,0.5996,0.6728,0.7309,0.8092,0.8941,0.9668,1.0000,0.9893,0.9376,0.8991,0.9184,0.9128,0.7811,0.6018,0.3765,0.3300,0.2280,0.0212,0.1117,0.1788,0.2373,0.2843,0.2241,0.2715,0.3363,0.2546,0.1867,0.2160,0.1278,0.0768,0.1070,0.0946,0.0636,0.0227,0.0128,0.0173,0.0135,0.0114,0.0062,0.0157,0.0088,0.0036,0.0053,0.0030,M 123 | 0.0249,0.0119,0.0277,0.0760,0.1218,0.1538,0.1192,0.1229,0.2119,0.2531,0.2855,0.2961,0.3341,0.4287,0.5205,0.6087,0.7236,0.7577,0.7726,0.8098,0.8995,0.9247,0.9365,0.9853,0.9776,1.0000,0.9896,0.9076,0.7306,0.5758,0.4469,0.3719,0.2079,0.0955,0.0488,0.1406,0.2554,0.2054,0.1614,0.2232,0.1773,0.2293,0.2521,0.1464,0.0673,0.0965,0.1492,0.1128,0.0463,0.0193,0.0140,0.0027,0.0068,0.0150,0.0012,0.0133,0.0048,0.0244,0.0077,0.0074,M 124 | 0.0270,0.0163,0.0341,0.0247,0.0822,0.1256,0.1323,0.1584,0.2017,0.2122,0.2210,0.2399,0.2964,0.4061,0.5095,0.5512,0.6613,0.6804,0.6520,0.6788,0.7811,0.8369,0.8969,0.9856,1.0000,0.9395,0.8917,0.8105,0.6828,0.5572,0.4301,0.3339,0.2035,0.0798,0.0809,0.1525,0.2626,0.2456,0.1980,0.2412,0.2409,0.1901,0.2077,0.1767,0.1119,0.0779,0.1344,0.0960,0.0598,0.0330,0.0197,0.0189,0.0204,0.0085,0.0043,0.0092,0.0138,0.0094,0.0105,0.0093,M 125 | 0.0388,0.0324,0.0688,0.0898,0.1267,0.1515,0.2134,0.2613,0.2832,0.2718,0.3645,0.3934,0.3843,0.4677,0.5364,0.4823,0.4835,0.5862,0.7579,0.6997,0.6918,0.8633,0.9107,0.9346,0.7884,0.8585,0.9261,0.7080,0.5779,0.5215,0.4505,0.3129,0.1448,0.1046,0.1820,0.1519,0.1017,0.1438,0.1986,0.2039,0.2778,0.2879,0.1331,0.1140,0.1310,0.1433,0.0624,0.0100,0.0098,0.0131,0.0152,0.0255,0.0071,0.0263,0.0079,0.0111,0.0107,0.0068,0.0097,0.0067,M 126 | 0.0228,0.0853,0.1000,0.0428,0.1117,0.1651,0.1597,0.2116,0.3295,0.3517,0.3330,0.3643,0.4020,0.4731,0.5196,0.6573,0.8426,0.8476,0.8344,0.8453,0.7999,0.8537,0.9642,1.0000,0.9357,0.9409,0.9070,0.7104,0.6320,0.5667,0.3501,0.2447,0.1698,0.3290,0.3674,0.2331,0.2413,0.2556,0.1892,0.1940,0.3074,0.2785,0.0308,0.1238,0.1854,0.1753,0.1079,0.0728,0.0242,0.0191,0.0159,0.0172,0.0191,0.0260,0.0140,0.0125,0.0116,0.0093,0.0012,0.0036,M 127 | 0.0715,0.0849,0.0587,0.0218,0.0862,0.1801,0.1916,0.1896,0.2960,0.4186,0.4867,0.5249,0.5959,0.6855,0.8573,0.9718,0.8693,0.8711,0.8954,0.9922,0.8980,0.8158,0.8373,0.7541,0.5893,0.5488,0.5643,0.5406,0.4783,0.4439,0.3698,0.2574,0.1478,0.1743,0.1229,0.1588,0.1803,0.1436,0.1667,0.2630,0.2234,0.1239,0.0869,0.2092,0.1499,0.0676,0.0899,0.0927,0.0658,0.0086,0.0216,0.0153,0.0121,0.0096,0.0196,0.0042,0.0066,0.0099,0.0083,0.0124,M 128 | 0.0209,0.0261,0.0120,0.0768,0.1064,0.1680,0.3016,0.3460,0.3314,0.4125,0.3943,0.1334,0.4622,0.9970,0.9137,0.8292,0.6994,0.7825,0.8789,0.8501,0.8920,0.9473,1.0000,0.8975,0.7806,0.8321,0.6502,0.4548,0.4732,0.3391,0.2747,0.0978,0.0477,0.1403,0.1834,0.2148,0.1271,0.1912,0.3391,0.3444,0.2369,0.1195,0.2665,0.2587,0.1393,0.1083,0.1383,0.1321,0.1069,0.0325,0.0316,0.0057,0.0159,0.0085,0.0372,0.0101,0.0127,0.0288,0.0129,0.0023,M 129 | 0.0374,0.0586,0.0628,0.0534,0.0255,0.1422,0.2072,0.2734,0.3070,0.2597,0.3483,0.3999,0.4574,0.5950,0.7924,0.8272,0.8087,0.8977,0.9828,0.8982,0.8890,0.9367,0.9122,0.7936,0.6718,0.6318,0.4865,0.3388,0.4832,0.3822,0.3075,0.1267,0.0743,0.1510,0.1906,0.1817,0.1709,0.0946,0.2829,0.3006,0.1602,0.1483,0.2875,0.2047,0.1064,0.1395,0.1065,0.0527,0.0395,0.0183,0.0353,0.0118,0.0063,0.0237,0.0032,0.0087,0.0124,0.0113,0.0098,0.0126,M 130 | 0.1371,0.1226,0.1385,0.1484,0.1776,0.1428,0.1773,0.2161,0.1630,0.2067,0.4257,0.5484,0.7131,0.7003,0.6777,0.7939,0.9382,0.8925,0.9146,0.7832,0.7960,0.7983,0.7716,0.6615,0.4860,0.5572,0.4697,0.5640,0.4517,0.3369,0.2684,0.2339,0.3052,0.3016,0.2753,0.1041,0.1757,0.3156,0.3603,0.2736,0.1301,0.2458,0.3404,0.1753,0.0679,0.1062,0.0643,0.0532,0.0531,0.0272,0.0171,0.0118,0.0129,0.0344,0.0065,0.0067,0.0022,0.0079,0.0146,0.0051,M 131 | 0.0443,0.0446,0.0235,0.1008,0.2252,0.2611,0.2061,0.1668,0.1801,0.3083,0.3794,0.5364,0.6173,0.7842,0.8392,0.9016,1.0000,0.8911,0.8753,0.7886,0.7156,0.7581,0.6372,0.3210,0.2076,0.2279,0.3309,0.2847,0.1949,0.1671,0.1025,0.1362,0.2212,0.1124,0.1677,0.1039,0.2562,0.2624,0.2236,0.1180,0.1103,0.2831,0.2385,0.0255,0.1967,0.1483,0.0434,0.0627,0.0513,0.0473,0.0248,0.0274,0.0205,0.0141,0.0185,0.0055,0.0045,0.0115,0.0152,0.0100,M 132 | 0.1150,0.1163,0.0866,0.0358,0.0232,0.1267,0.2417,0.2661,0.4346,0.5378,0.3816,0.0991,0.0616,0.1795,0.3907,0.3602,0.3041,0.2428,0.4060,0.8395,0.9777,0.4680,0.0610,0.2143,0.1348,0.2854,0.1617,0.2649,0.4565,0.6502,0.2848,0.3296,0.5370,0.6627,0.8626,0.8547,0.7848,0.9016,0.8827,0.6086,0.2810,0.0906,0.1177,0.2694,0.5214,0.4232,0.2340,0.1928,0.1092,0.0507,0.0228,0.0099,0.0065,0.0085,0.0166,0.0110,0.0190,0.0141,0.0068,0.0086,M 133 | 0.0968,0.0821,0.0629,0.0608,0.0617,0.1207,0.0944,0.4223,0.5744,0.5025,0.3488,0.1700,0.2076,0.3087,0.4224,0.5312,0.2436,0.1884,0.1908,0.8321,1.0000,0.4076,0.0960,0.1928,0.2419,0.3790,0.2893,0.3451,0.3777,0.5213,0.2316,0.3335,0.4781,0.6116,0.6705,0.7375,0.7356,0.7792,0.6788,0.5259,0.2762,0.1545,0.2019,0.2231,0.4221,0.3067,0.1329,0.1349,0.1057,0.0499,0.0206,0.0073,0.0081,0.0303,0.0190,0.0212,0.0126,0.0201,0.0210,0.0041,M 134 | 0.0790,0.0707,0.0352,0.1660,0.1330,0.0226,0.0771,0.2678,0.5664,0.6609,0.5002,0.2583,0.1650,0.4347,0.4515,0.4579,0.3366,0.4000,0.5325,0.9010,0.9939,0.3689,0.1012,0.0248,0.2318,0.3981,0.2259,0.5247,0.6898,0.8316,0.4326,0.3741,0.5756,0.8043,0.7963,0.7174,0.7056,0.8148,0.7601,0.6034,0.4554,0.4729,0.4478,0.3722,0.4693,0.3839,0.0768,0.1467,0.0777,0.0469,0.0193,0.0298,0.0390,0.0294,0.0175,0.0249,0.0141,0.0073,0.0025,0.0101,M 135 | 0.1083,0.1070,0.0257,0.0837,0.0748,0.1125,0.3322,0.4590,0.5526,0.5966,0.5304,0.2251,0.2402,0.2689,0.6646,0.6632,0.1674,0.0837,0.4331,0.8718,0.7992,0.3712,0.1703,0.1611,0.2086,0.2847,0.2211,0.6134,0.5807,0.6925,0.3825,0.4303,0.7791,0.8703,1.0000,0.9212,0.9386,0.9303,0.7314,0.4791,0.2087,0.2016,0.1669,0.2872,0.4374,0.3097,0.1578,0.0553,0.0334,0.0209,0.0172,0.0180,0.0110,0.0234,0.0276,0.0032,0.0084,0.0122,0.0082,0.0143,M 136 | 0.0094,0.0611,0.1136,0.1203,0.0403,0.1227,0.2495,0.4566,0.6587,0.5079,0.3350,0.0834,0.3004,0.3957,0.3769,0.3828,0.1247,0.1363,0.2678,0.9188,0.9779,0.3236,0.1944,0.1874,0.0885,0.3443,0.2953,0.5908,0.4564,0.7334,0.1969,0.2790,0.6212,0.8681,0.8621,0.9380,0.8327,0.9480,0.6721,0.4436,0.5163,0.3809,0.1557,0.1449,0.2662,0.1806,0.1699,0.2559,0.1129,0.0201,0.0480,0.0234,0.0175,0.0352,0.0158,0.0326,0.0201,0.0168,0.0245,0.0154,M 137 | 0.1088,0.1278,0.0926,0.1234,0.1276,0.1731,0.1948,0.4262,0.6828,0.5761,0.4733,0.2362,0.1023,0.2904,0.4713,0.4659,0.1415,0.0849,0.3257,0.9007,0.9312,0.4856,0.1346,0.1604,0.2737,0.5609,0.3654,0.6139,0.5470,0.8474,0.5638,0.5443,0.5086,0.6253,0.8497,0.8406,0.8420,0.9136,0.7713,0.4882,0.3724,0.4469,0.4586,0.4491,0.5616,0.4305,0.0945,0.0794,0.0274,0.0154,0.0140,0.0455,0.0213,0.0082,0.0124,0.0167,0.0103,0.0205,0.0178,0.0187,M 138 | 0.0430,0.0902,0.0833,0.0813,0.0165,0.0277,0.0569,0.2057,0.3887,0.7106,0.7342,0.5033,0.3000,0.1951,0.2767,0.3737,0.2507,0.2507,0.3292,0.4871,0.6527,0.8454,0.9739,1.0000,0.6665,0.5323,0.4024,0.3444,0.4239,0.4182,0.4393,0.1162,0.4336,0.6553,0.6172,0.4373,0.4118,0.3641,0.4572,0.4367,0.2964,0.4312,0.4155,0.1824,0.1487,0.0138,0.1164,0.2052,0.1069,0.0199,0.0208,0.0176,0.0197,0.0210,0.0141,0.0049,0.0027,0.0162,0.0059,0.0021,M 139 | 0.0731,0.1249,0.1665,0.1496,0.1443,0.2770,0.2555,0.1712,0.0466,0.1114,0.1739,0.3160,0.3249,0.2164,0.2031,0.2580,0.1796,0.2422,0.3609,0.1810,0.2604,0.6572,0.9734,0.9757,0.8079,0.6521,0.4915,0.5363,0.7649,0.5250,0.5101,0.4219,0.4160,0.1906,0.0223,0.4219,0.5496,0.2483,0.2034,0.2729,0.2837,0.4463,0.3178,0.0807,0.1192,0.2134,0.3241,0.2945,0.1474,0.0211,0.0361,0.0444,0.0230,0.0290,0.0141,0.0161,0.0177,0.0194,0.0207,0.0057,M 140 | 0.0164,0.0627,0.0738,0.0608,0.0233,0.1048,0.1338,0.0644,0.1522,0.0780,0.1791,0.2681,0.1788,0.1039,0.1980,0.3234,0.3748,0.2586,0.3680,0.3508,0.5606,0.5231,0.5469,0.6954,0.6352,0.6757,0.8499,0.8025,0.6563,0.8591,0.6655,0.5369,0.3118,0.3763,0.2801,0.0875,0.3319,0.4237,0.1801,0.3743,0.4627,0.1614,0.2494,0.3202,0.2265,0.1146,0.0476,0.0943,0.0824,0.0171,0.0244,0.0258,0.0143,0.0226,0.0187,0.0185,0.0110,0.0094,0.0078,0.0112,M 141 | 0.0412,0.1135,0.0518,0.0232,0.0646,0.1124,0.1787,0.2407,0.2682,0.2058,0.1546,0.2671,0.3141,0.2904,0.3531,0.5079,0.4639,0.1859,0.4474,0.4079,0.5400,0.4786,0.4332,0.6113,0.5091,0.4606,0.7243,0.8987,0.8826,0.9201,0.8005,0.6033,0.2120,0.2866,0.4033,0.2803,0.3087,0.3550,0.2545,0.1432,0.5869,0.6431,0.5826,0.4286,0.4894,0.5777,0.4315,0.2640,0.1794,0.0772,0.0798,0.0376,0.0143,0.0272,0.0127,0.0166,0.0095,0.0225,0.0098,0.0085,M 142 | 0.0707,0.1252,0.1447,0.1644,0.1693,0.0844,0.0715,0.0947,0.1583,0.1247,0.2340,0.1764,0.2284,0.3115,0.4725,0.5543,0.5386,0.3746,0.4583,0.5961,0.7464,0.7644,0.5711,0.6257,0.6695,0.7131,0.7567,0.8077,0.8477,0.9289,0.9513,0.7995,0.4362,0.4048,0.4952,0.1712,0.3652,0.3763,0.2841,0.0427,0.5331,0.6952,0.4288,0.3063,0.5835,0.5692,0.2630,0.1196,0.0983,0.0374,0.0291,0.0156,0.0197,0.0135,0.0127,0.0138,0.0133,0.0131,0.0154,0.0218,M 143 | 0.0526,0.0563,0.1219,0.1206,0.0246,0.1022,0.0539,0.0439,0.2291,0.1632,0.2544,0.2807,0.3011,0.3361,0.3024,0.2285,0.2910,0.1316,0.1151,0.3404,0.5562,0.6379,0.6553,0.7384,0.6534,0.5423,0.6877,0.7325,0.7726,0.8229,0.8787,0.9108,0.6705,0.6092,0.7505,0.4775,0.1666,0.3749,0.3776,0.2106,0.5886,0.5628,0.2577,0.5245,0.6149,0.5123,0.3385,0.1499,0.0546,0.0270,0.0380,0.0339,0.0149,0.0335,0.0376,0.0174,0.0132,0.0103,0.0364,0.0208,M 144 | 0.0516,0.0944,0.0622,0.0415,0.0995,0.2431,0.1777,0.2018,0.2611,0.1294,0.2646,0.2778,0.4432,0.3672,0.2035,0.2764,0.3252,0.1536,0.2784,0.3508,0.5187,0.7052,0.7143,0.6814,0.5100,0.5308,0.6131,0.8388,0.9031,0.8607,0.9656,0.9168,0.7132,0.6898,0.7310,0.4134,0.1580,0.1819,0.1381,0.2960,0.6935,0.8246,0.5351,0.4403,0.6448,0.6214,0.3016,0.1379,0.0364,0.0355,0.0456,0.0432,0.0274,0.0152,0.0120,0.0129,0.0020,0.0109,0.0074,0.0078,M 145 | 0.0299,0.0688,0.0992,0.1021,0.0800,0.0629,0.0130,0.0813,0.1761,0.0998,0.0523,0.0904,0.2655,0.3099,0.3520,0.3892,0.3962,0.2449,0.2355,0.3045,0.3112,0.4698,0.5534,0.4532,0.4464,0.4670,0.4621,0.6988,0.7626,0.7025,0.7382,0.7446,0.7927,0.5227,0.3967,0.3042,0.1309,0.2408,0.1780,0.1598,0.5657,0.6443,0.4241,0.4567,0.5760,0.5293,0.3287,0.1283,0.0698,0.0334,0.0342,0.0459,0.0277,0.0172,0.0087,0.0046,0.0203,0.0130,0.0115,0.0015,M 146 | 0.0721,0.1574,0.1112,0.1085,0.0666,0.1800,0.1108,0.2794,0.1408,0.0795,0.2534,0.3920,0.3375,0.1610,0.1889,0.3308,0.2282,0.2177,0.1853,0.5167,0.5342,0.6298,0.8437,0.6756,0.5825,0.6141,0.8809,0.8375,0.3869,0.5051,0.5455,0.4241,0.1534,0.4950,0.6983,0.7109,0.5647,0.4870,0.5515,0.4433,0.5250,0.6075,0.5251,0.1359,0.4268,0.4442,0.2193,0.0900,0.1200,0.0628,0.0234,0.0309,0.0127,0.0082,0.0281,0.0117,0.0092,0.0147,0.0157,0.0129,M 147 | 0.1021,0.0830,0.0577,0.0627,0.0635,0.1328,0.0988,0.1787,0.1199,0.1369,0.2509,0.2631,0.2796,0.2977,0.3823,0.3129,0.3956,0.2093,0.3218,0.3345,0.3184,0.2887,0.3610,0.2566,0.4106,0.4591,0.4722,0.7278,0.7591,0.6579,0.7514,0.6666,0.4903,0.5962,0.6552,0.4014,0.1188,0.3245,0.3107,0.1354,0.5109,0.7988,0.7517,0.5508,0.5858,0.7292,0.5522,0.3339,0.1608,0.0475,0.1004,0.0709,0.0317,0.0309,0.0252,0.0087,0.0177,0.0214,0.0227,0.0106,M 148 | 0.0654,0.0649,0.0737,0.1132,0.2482,0.1257,0.1797,0.0989,0.2460,0.3422,0.2128,0.1377,0.4032,0.5684,0.2398,0.4331,0.5954,0.5772,0.8176,0.8835,0.5248,0.6373,0.8375,0.6699,0.7756,0.8750,0.8300,0.6896,0.3372,0.6405,0.7138,0.8202,0.6657,0.5254,0.2960,0.0704,0.0970,0.3941,0.6028,0.3521,0.3924,0.4808,0.4602,0.4164,0.5438,0.5649,0.3195,0.2484,0.1299,0.0825,0.0243,0.0210,0.0361,0.0239,0.0447,0.0394,0.0355,0.0440,0.0243,0.0098,M 149 | 0.0712,0.0901,0.1276,0.1497,0.1284,0.1165,0.1285,0.1684,0.1830,0.2127,0.2891,0.3985,0.4576,0.5821,0.5027,0.1930,0.2579,0.3177,0.2745,0.6186,0.8958,0.7442,0.5188,0.2811,0.1773,0.6607,0.7576,0.5122,0.4701,0.5479,0.4347,0.1276,0.0846,0.0927,0.0313,0.0998,0.1781,0.1586,0.3001,0.2208,0.1455,0.2895,0.3203,0.1414,0.0629,0.0734,0.0805,0.0608,0.0565,0.0286,0.0154,0.0154,0.0156,0.0054,0.0030,0.0048,0.0087,0.0101,0.0095,0.0068,M 150 | 0.0207,0.0535,0.0334,0.0818,0.0740,0.0324,0.0918,0.1070,0.1553,0.1234,0.1796,0.1787,0.1247,0.2577,0.3370,0.3990,0.1647,0.2266,0.3219,0.5356,0.8159,1.0000,0.8701,0.6889,0.6299,0.5738,0.5707,0.5976,0.4301,0.2058,0.1000,0.2247,0.2308,0.3977,0.3317,0.1726,0.1429,0.2168,0.1967,0.2140,0.3674,0.2023,0.0778,0.0925,0.2388,0.3400,0.2594,0.1102,0.0911,0.0462,0.0171,0.0033,0.0050,0.0190,0.0103,0.0121,0.0042,0.0090,0.0070,0.0099,M 151 | 0.0209,0.0278,0.0115,0.0445,0.0427,0.0766,0.1458,0.1430,0.1894,0.1853,0.1748,0.1556,0.1476,0.1378,0.2584,0.3827,0.4784,0.5360,0.6192,0.7912,0.9264,1.0000,0.9080,0.7435,0.5557,0.3172,0.1295,0.0598,0.2722,0.3616,0.3293,0.4855,0.3936,0.1845,0.0342,0.2489,0.3837,0.3514,0.2654,0.1760,0.1599,0.0866,0.0590,0.0813,0.0492,0.0417,0.0495,0.0367,0.0115,0.0118,0.0133,0.0096,0.0014,0.0049,0.0039,0.0029,0.0078,0.0047,0.0021,0.0011,M 152 | 0.0231,0.0315,0.0170,0.0226,0.0410,0.0116,0.0223,0.0805,0.2365,0.2461,0.2245,0.1520,0.1732,0.3099,0.4380,0.5595,0.6820,0.6164,0.6803,0.8435,0.9921,1.0000,0.7983,0.5426,0.3952,0.5179,0.5650,0.3042,0.1881,0.3960,0.2286,0.3544,0.4187,0.2398,0.1847,0.3760,0.4331,0.3626,0.2519,0.1870,0.1046,0.2339,0.1991,0.1100,0.0684,0.0303,0.0674,0.0785,0.0455,0.0246,0.0151,0.0125,0.0036,0.0123,0.0043,0.0114,0.0052,0.0091,0.0008,0.0092,M 153 | 0.0131,0.0201,0.0045,0.0217,0.0230,0.0481,0.0742,0.0333,0.1369,0.2079,0.2295,0.1990,0.1184,0.1891,0.2949,0.5343,0.6850,0.7923,0.8220,0.7290,0.7352,0.7918,0.8057,0.4898,0.1934,0.2924,0.6255,0.8546,0.8966,0.7821,0.5168,0.4840,0.4038,0.3411,0.2849,0.2353,0.2699,0.4442,0.4323,0.3314,0.1195,0.1669,0.3702,0.3072,0.0945,0.1545,0.1394,0.0772,0.0615,0.0230,0.0111,0.0168,0.0086,0.0045,0.0062,0.0065,0.0030,0.0066,0.0029,0.0053,M 154 | 0.0233,0.0394,0.0416,0.0547,0.0993,0.1515,0.1674,0.1513,0.1723,0.2078,0.1239,0.0236,0.1771,0.3115,0.4990,0.6707,0.7655,0.8485,0.9805,1.0000,1.0000,0.9992,0.9067,0.6803,0.5103,0.4716,0.4980,0.6196,0.7171,0.6316,0.3554,0.2897,0.4316,0.3791,0.2421,0.0944,0.0351,0.0844,0.0436,0.1130,0.2045,0.1937,0.0834,0.1502,0.1675,0.1058,0.1111,0.0849,0.0596,0.0201,0.0071,0.0104,0.0062,0.0026,0.0025,0.0061,0.0038,0.0101,0.0078,0.0006,M 155 | 0.0117,0.0069,0.0279,0.0583,0.0915,0.1267,0.1577,0.1927,0.2361,0.2169,0.1180,0.0754,0.2782,0.3758,0.5093,0.6592,0.7071,0.7532,0.8357,0.8593,0.9615,0.9838,0.8705,0.6403,0.5067,0.5395,0.6934,0.8487,0.8213,0.5962,0.2950,0.2758,0.2885,0.1893,0.1446,0.0955,0.0888,0.0836,0.0894,0.1547,0.2318,0.2225,0.1035,0.1721,0.2017,0.1787,0.1112,0.0398,0.0305,0.0084,0.0039,0.0053,0.0029,0.0020,0.0013,0.0029,0.0020,0.0062,0.0026,0.0052,M 156 | 0.0211,0.0128,0.0015,0.0450,0.0711,0.1563,0.1518,0.1206,0.1666,0.1345,0.0785,0.0367,0.1227,0.2614,0.4280,0.6122,0.7435,0.8130,0.9006,0.9603,0.9162,0.9140,0.7851,0.5134,0.3439,0.3290,0.2571,0.3685,0.5765,0.6190,0.4613,0.3615,0.4434,0.3864,0.3093,0.2138,0.1112,0.1386,0.1523,0.0996,0.1644,0.1902,0.1313,0.1776,0.2000,0.0765,0.0727,0.0749,0.0449,0.0134,0.0174,0.0117,0.0023,0.0047,0.0049,0.0031,0.0024,0.0039,0.0051,0.0015,M 157 | 0.0047,0.0059,0.0080,0.0554,0.0883,0.1278,0.1674,0.1373,0.2922,0.3469,0.3265,0.3263,0.2301,0.1253,0.2102,0.2401,0.1928,0.1673,0.1228,0.0902,0.1557,0.3291,0.5268,0.6740,0.7906,0.8938,0.9395,0.9493,0.9040,0.9151,0.8828,0.8086,0.7180,0.6720,0.6447,0.6879,0.6241,0.4936,0.4144,0.4240,0.4546,0.4392,0.4323,0.4921,0.4710,0.3196,0.2241,0.1806,0.0990,0.0251,0.0129,0.0095,0.0126,0.0069,0.0039,0.0068,0.0060,0.0045,0.0002,0.0029,M 158 | 0.0201,0.0178,0.0274,0.0232,0.0724,0.0833,0.1232,0.1298,0.2085,0.2720,0.2188,0.3037,0.2959,0.2059,0.0906,0.1610,0.1800,0.2180,0.2026,0.1506,0.0521,0.2143,0.4333,0.5943,0.6926,0.7576,0.8787,0.9060,0.8528,0.9087,0.9657,0.9306,0.7774,0.6643,0.6604,0.6884,0.6938,0.5932,0.5774,0.6223,0.5841,0.4527,0.4911,0.5762,0.5013,0.4042,0.3123,0.2232,0.1085,0.0414,0.0253,0.0131,0.0049,0.0104,0.0102,0.0092,0.0083,0.0020,0.0048,0.0036,M 159 | 0.0107,0.0453,0.0289,0.0713,0.1075,0.1019,0.1606,0.2119,0.3061,0.2936,0.3104,0.3431,0.2456,0.1887,0.1184,0.2080,0.2736,0.3274,0.2344,0.1260,0.0576,0.1241,0.3239,0.4357,0.5734,0.7825,0.9252,0.9349,0.9348,1.0000,0.9308,0.8478,0.7605,0.7040,0.7539,0.7990,0.7673,0.5955,0.4731,0.4840,0.4340,0.3954,0.4837,0.5379,0.4485,0.2674,0.1541,0.1359,0.0941,0.0261,0.0079,0.0164,0.0120,0.0113,0.0021,0.0097,0.0072,0.0060,0.0017,0.0036,M 160 | 0.0235,0.0220,0.0167,0.0516,0.0746,0.1121,0.1258,0.1717,0.3074,0.3199,0.2946,0.2484,0.2510,0.1806,0.1413,0.3019,0.3635,0.3887,0.2980,0.2219,0.1624,0.1343,0.2046,0.3791,0.5771,0.7545,0.8406,0.8547,0.9036,1.0000,0.9646,0.7912,0.6412,0.5986,0.6835,0.7771,0.8084,0.7426,0.6295,0.5708,0.4433,0.3361,0.3795,0.4950,0.4373,0.2404,0.1128,0.1654,0.0933,0.0225,0.0214,0.0221,0.0152,0.0083,0.0058,0.0023,0.0057,0.0052,0.0027,0.0021,M 161 | 0.0258,0.0433,0.0547,0.0681,0.0784,0.1250,0.1296,0.1729,0.2794,0.2954,0.2506,0.2601,0.2249,0.2115,0.1270,0.1193,0.1794,0.2185,0.1646,0.0740,0.0625,0.2381,0.4824,0.6372,0.7531,0.8959,0.9941,0.9957,0.9328,0.9344,0.8854,0.7690,0.6865,0.6390,0.6378,0.6629,0.5983,0.4565,0.3129,0.4158,0.4325,0.4031,0.4201,0.4557,0.3955,0.2966,0.2095,0.1558,0.0884,0.0265,0.0121,0.0091,0.0062,0.0019,0.0045,0.0079,0.0031,0.0063,0.0048,0.0050,M 162 | 0.0305,0.0363,0.0214,0.0227,0.0456,0.0665,0.0939,0.0972,0.2535,0.3127,0.2192,0.2621,0.2419,0.2179,0.1159,0.1237,0.0886,0.1755,0.1758,0.1540,0.0512,0.1805,0.4039,0.5697,0.6577,0.7474,0.8543,0.9085,0.8668,0.8892,0.9065,0.8522,0.7204,0.6200,0.6253,0.6848,0.7337,0.6281,0.5725,0.6119,0.5597,0.4965,0.5027,0.5772,0.5907,0.4803,0.3877,0.2779,0.1427,0.0424,0.0271,0.0200,0.0070,0.0070,0.0086,0.0089,0.0074,0.0042,0.0055,0.0021,M 163 | 0.0217,0.0152,0.0346,0.0346,0.0484,0.0526,0.0773,0.0862,0.1451,0.2110,0.2343,0.2087,0.1645,0.1689,0.1650,0.1967,0.2934,0.3709,0.4309,0.4161,0.5116,0.6501,0.7717,0.8491,0.9104,0.8912,0.8189,0.6779,0.5368,0.5207,0.5651,0.5749,0.5250,0.4255,0.3330,0.2331,0.1451,0.1648,0.2694,0.3730,0.4467,0.4133,0.3743,0.3021,0.2069,0.1790,0.1689,0.1341,0.0769,0.0222,0.0205,0.0123,0.0067,0.0011,0.0026,0.0049,0.0029,0.0022,0.0022,0.0032,M 164 | 0.0072,0.0027,0.0089,0.0061,0.0420,0.0865,0.1182,0.0999,0.1976,0.2318,0.2472,0.2880,0.2126,0.0708,0.1194,0.2808,0.4221,0.5279,0.5857,0.6153,0.6753,0.7873,0.8974,0.9828,1.0000,0.8460,0.6055,0.3036,0.0144,0.2526,0.4335,0.4918,0.5409,0.5961,0.5248,0.3777,0.2369,0.1720,0.1878,0.3250,0.2575,0.2423,0.2706,0.2323,0.1724,0.1457,0.1175,0.0868,0.0392,0.0131,0.0092,0.0078,0.0071,0.0081,0.0034,0.0064,0.0037,0.0036,0.0012,0.0037,M 165 | 0.0163,0.0198,0.0202,0.0386,0.0752,0.1444,0.1487,0.1484,0.2442,0.2822,0.3691,0.3750,0.3927,0.3308,0.1085,0.1139,0.3446,0.5441,0.6470,0.7276,0.7894,0.8264,0.8697,0.7836,0.7140,0.5698,0.2908,0.4636,0.6409,0.7405,0.8069,0.8420,1.0000,0.9536,0.6755,0.3905,0.1249,0.3629,0.6356,0.8116,0.7664,0.5417,0.2614,0.1723,0.2814,0.2764,0.1985,0.1502,0.1219,0.0493,0.0027,0.0077,0.0026,0.0031,0.0083,0.0020,0.0084,0.0108,0.0083,0.0033,M 166 | 0.0221,0.0065,0.0164,0.0487,0.0519,0.0849,0.0812,0.1833,0.2228,0.1810,0.2549,0.2984,0.2624,0.1893,0.0668,0.2666,0.4274,0.6291,0.7782,0.7686,0.8099,0.8493,0.9440,0.9450,0.9655,0.8045,0.4969,0.3960,0.3856,0.5574,0.7309,0.8549,0.9425,0.8726,0.6673,0.4694,0.1546,0.1748,0.3607,0.5208,0.5177,0.3702,0.2240,0.0816,0.0395,0.0785,0.1052,0.1034,0.0764,0.0216,0.0167,0.0089,0.0051,0.0015,0.0075,0.0058,0.0016,0.0070,0.0074,0.0038,M 167 | 0.0411,0.0277,0.0604,0.0525,0.0489,0.0385,0.0611,0.1117,0.1237,0.2300,0.1370,0.1335,0.2137,0.1526,0.0775,0.1196,0.0903,0.0689,0.2071,0.2975,0.2836,0.3353,0.3622,0.3202,0.3452,0.3562,0.3892,0.6622,0.9254,1.0000,0.8528,0.6297,0.5250,0.4012,0.2901,0.2007,0.3356,0.4799,0.6147,0.6246,0.4973,0.3492,0.2662,0.3137,0.4282,0.4262,0.3511,0.2458,0.1259,0.0327,0.0181,0.0217,0.0038,0.0019,0.0065,0.0132,0.0108,0.0050,0.0085,0.0044,M 168 | 0.0137,0.0297,0.0116,0.0082,0.0241,0.0253,0.0279,0.0130,0.0489,0.0874,0.1100,0.1084,0.1094,0.1023,0.0601,0.0906,0.1313,0.2758,0.3660,0.5269,0.5810,0.6181,0.5875,0.4639,0.5424,0.7367,0.9089,1.0000,0.8247,0.5441,0.3349,0.0877,0.1600,0.4169,0.6576,0.7390,0.7963,0.7493,0.6795,0.4713,0.2355,0.1704,0.2728,0.4016,0.4125,0.3470,0.2739,0.1790,0.0922,0.0276,0.0169,0.0081,0.0040,0.0025,0.0036,0.0058,0.0067,0.0035,0.0043,0.0033,M 169 | 0.0015,0.0186,0.0289,0.0195,0.0515,0.0817,0.1005,0.0124,0.1168,0.1476,0.2118,0.2575,0.2354,0.1334,0.0092,0.1951,0.3685,0.4646,0.5418,0.6260,0.7420,0.8257,0.8609,0.8400,0.8949,0.9945,1.0000,0.9649,0.8747,0.6257,0.2184,0.2945,0.3645,0.5012,0.7843,0.9361,0.8195,0.6207,0.4513,0.3004,0.2674,0.2241,0.3141,0.3693,0.2986,0.2226,0.0849,0.0359,0.0289,0.0122,0.0045,0.0108,0.0075,0.0089,0.0036,0.0029,0.0013,0.0010,0.0032,0.0047,M 170 | 0.0130,0.0120,0.0436,0.0624,0.0428,0.0349,0.0384,0.0446,0.1318,0.1375,0.2026,0.2389,0.2112,0.1444,0.0742,0.1533,0.3052,0.4116,0.5466,0.5933,0.6663,0.7333,0.7136,0.7014,0.7758,0.9137,0.9964,1.0000,0.8881,0.6585,0.2707,0.1746,0.2709,0.4853,0.7184,0.8209,0.7536,0.6496,0.4708,0.3482,0.3508,0.3181,0.3524,0.3659,0.2846,0.1714,0.0694,0.0303,0.0292,0.0116,0.0024,0.0084,0.0100,0.0018,0.0035,0.0058,0.0011,0.0009,0.0033,0.0026,M 171 | 0.0134,0.0172,0.0178,0.0363,0.0444,0.0744,0.0800,0.0456,0.0368,0.1250,0.2405,0.2325,0.2523,0.1472,0.0669,0.1100,0.2353,0.3282,0.4416,0.5167,0.6508,0.7793,0.7978,0.7786,0.8587,0.9321,0.9454,0.8645,0.7220,0.4850,0.1357,0.2951,0.4715,0.6036,0.8083,0.9870,0.8800,0.6411,0.4276,0.2702,0.2642,0.3342,0.4335,0.4542,0.3960,0.2525,0.1084,0.0372,0.0286,0.0099,0.0046,0.0094,0.0048,0.0047,0.0016,0.0008,0.0042,0.0024,0.0027,0.0041,M 172 | 0.0179,0.0136,0.0408,0.0633,0.0596,0.0808,0.2090,0.3465,0.5276,0.5965,0.6254,0.4507,0.3693,0.2864,0.1635,0.0422,0.1785,0.4394,0.6950,0.8097,0.8550,0.8717,0.8601,0.9201,0.8729,0.8084,0.8694,0.8411,0.5793,0.3754,0.3485,0.4639,0.6495,0.6901,0.5666,0.5188,0.5060,0.3885,0.3762,0.3738,0.2605,0.1591,0.1875,0.2267,0.1577,0.1211,0.0883,0.0850,0.0355,0.0219,0.0086,0.0123,0.0060,0.0187,0.0111,0.0126,0.0081,0.0155,0.0160,0.0085,M 173 | 0.0180,0.0444,0.0476,0.0698,0.1615,0.0887,0.0596,0.1071,0.3175,0.2918,0.3273,0.3035,0.3033,0.2587,0.1682,0.1308,0.2803,0.4519,0.6641,0.7683,0.6960,0.4393,0.2432,0.2886,0.4974,0.8172,1.0000,0.9238,0.8519,0.7722,0.5772,0.5190,0.6824,0.6220,0.5054,0.3578,0.3809,0.3813,0.3359,0.2771,0.3648,0.3834,0.3453,0.2096,0.1031,0.0798,0.0701,0.0526,0.0241,0.0117,0.0122,0.0122,0.0114,0.0098,0.0027,0.0025,0.0026,0.0050,0.0073,0.0022,M 174 | 0.0329,0.0216,0.0386,0.0627,0.1158,0.1482,0.2054,0.1605,0.2532,0.2672,0.3056,0.3161,0.2314,0.2067,0.1804,0.2808,0.4423,0.5947,0.6601,0.5844,0.4539,0.4789,0.5646,0.5281,0.7115,1.0000,0.9564,0.6090,0.5112,0.4000,0.0482,0.1852,0.2186,0.1436,0.1757,0.1428,0.1644,0.3089,0.3648,0.4441,0.3859,0.2813,0.1238,0.0953,0.1201,0.0825,0.0618,0.0141,0.0108,0.0124,0.0104,0.0095,0.0151,0.0059,0.0015,0.0053,0.0016,0.0042,0.0053,0.0074,M 175 | 0.0191,0.0173,0.0291,0.0301,0.0463,0.0690,0.0576,0.1103,0.2423,0.3134,0.4786,0.5239,0.4393,0.3440,0.2869,0.3889,0.4420,0.3892,0.4088,0.5006,0.7271,0.9385,1.0000,0.9831,0.9932,0.9161,0.8237,0.6957,0.4536,0.3281,0.2522,0.3964,0.4154,0.3308,0.1445,0.1923,0.3208,0.3367,0.5683,0.5505,0.3231,0.0448,0.3131,0.3387,0.4130,0.3639,0.2069,0.0859,0.0600,0.0267,0.0125,0.0040,0.0136,0.0137,0.0172,0.0132,0.0110,0.0122,0.0114,0.0068,M 176 | 0.0294,0.0123,0.0117,0.0113,0.0497,0.0998,0.1326,0.1117,0.2984,0.3473,0.4231,0.5044,0.5237,0.4398,0.3236,0.2956,0.3286,0.3231,0.4528,0.6339,0.7044,0.8314,0.8449,0.8512,0.9138,0.9985,1.0000,0.7544,0.4661,0.3924,0.3849,0.4674,0.4245,0.3095,0.0752,0.2885,0.4072,0.3170,0.2863,0.2634,0.0541,0.1874,0.3459,0.4646,0.4366,0.2581,0.1319,0.0505,0.0112,0.0059,0.0041,0.0056,0.0104,0.0079,0.0014,0.0054,0.0015,0.0006,0.0081,0.0043,M 177 | 0.0635,0.0709,0.0453,0.0333,0.0185,0.1260,0.1015,0.1918,0.3362,0.3900,0.4674,0.5632,0.5506,0.4343,0.3052,0.3492,0.3975,0.3875,0.5280,0.7198,0.7702,0.8562,0.8688,0.9236,1.0000,0.9662,0.9822,0.7360,0.4158,0.2918,0.3280,0.3690,0.3450,0.2863,0.0864,0.3724,0.4649,0.3488,0.1817,0.1142,0.1220,0.2621,0.4461,0.4726,0.3263,0.1423,0.0390,0.0406,0.0311,0.0086,0.0154,0.0048,0.0025,0.0087,0.0072,0.0095,0.0086,0.0085,0.0040,0.0051,M 178 | 0.0201,0.0165,0.0344,0.0330,0.0397,0.0443,0.0684,0.0903,0.1739,0.2571,0.2931,0.3108,0.3603,0.3002,0.2718,0.2007,0.1801,0.2234,0.3568,0.5492,0.7209,0.8318,0.8864,0.9520,0.9637,1.0000,0.9673,0.8664,0.7896,0.6345,0.5351,0.4056,0.2563,0.2894,0.3588,0.4296,0.4773,0.4516,0.3765,0.3051,0.1921,0.1184,0.1984,0.1570,0.0660,0.1294,0.0797,0.0052,0.0233,0.0152,0.0125,0.0054,0.0057,0.0137,0.0109,0.0035,0.0056,0.0105,0.0082,0.0036,M 179 | 0.0197,0.0394,0.0384,0.0076,0.0251,0.0629,0.0747,0.0578,0.1357,0.1695,0.1734,0.2470,0.3141,0.3297,0.2759,0.2056,0.1162,0.1884,0.3390,0.3926,0.4282,0.5418,0.6448,0.7223,0.7853,0.7984,0.8847,0.9582,0.8990,0.6831,0.6108,0.5480,0.5058,0.4476,0.2401,0.1405,0.1772,0.1742,0.3326,0.4021,0.3009,0.2075,0.1206,0.0255,0.0298,0.0691,0.0781,0.0777,0.0369,0.0057,0.0091,0.0134,0.0097,0.0042,0.0058,0.0072,0.0041,0.0045,0.0047,0.0054,M 180 | 0.0394,0.0420,0.0446,0.0551,0.0597,0.1416,0.0956,0.0802,0.1618,0.2558,0.3078,0.3404,0.3400,0.3951,0.3352,0.2252,0.2086,0.2248,0.3382,0.4578,0.6474,0.6708,0.7007,0.7619,0.7745,0.6767,0.7373,0.7834,0.9619,1.0000,0.8086,0.5558,0.5409,0.4988,0.3108,0.2897,0.2244,0.0960,0.2287,0.3228,0.3454,0.3882,0.3240,0.0926,0.1173,0.0566,0.0766,0.0969,0.0588,0.0050,0.0118,0.0146,0.0040,0.0114,0.0032,0.0062,0.0101,0.0068,0.0053,0.0087,M 181 | 0.0310,0.0221,0.0433,0.0191,0.0964,0.1827,0.1106,0.1702,0.2804,0.4432,0.5222,0.5611,0.5379,0.4048,0.2245,0.1784,0.2297,0.2720,0.5209,0.6898,0.8202,0.8780,0.7600,0.7616,0.7152,0.7288,0.8686,0.9509,0.8348,0.5730,0.4363,0.4289,0.4240,0.3156,0.1287,0.1477,0.2062,0.2400,0.5173,0.5168,0.1491,0.2407,0.3415,0.4494,0.4624,0.2001,0.0775,0.1232,0.0783,0.0089,0.0249,0.0204,0.0059,0.0053,0.0079,0.0037,0.0015,0.0056,0.0067,0.0054,M 182 | 0.0423,0.0321,0.0709,0.0108,0.1070,0.0973,0.0961,0.1323,0.2462,0.2696,0.3412,0.4292,0.3682,0.3940,0.2965,0.3172,0.2825,0.3050,0.2408,0.5420,0.6802,0.6320,0.5824,0.6805,0.5984,0.8412,0.9911,0.9187,0.8005,0.6713,0.5632,0.7332,0.6038,0.2575,0.0349,0.1799,0.3039,0.4760,0.5756,0.4254,0.5046,0.7179,0.6163,0.5663,0.5749,0.3593,0.2526,0.2299,0.1271,0.0356,0.0367,0.0176,0.0035,0.0093,0.0121,0.0075,0.0056,0.0021,0.0043,0.0017,M 183 | 0.0095,0.0308,0.0539,0.0411,0.0613,0.1039,0.1016,0.1394,0.2592,0.3745,0.4229,0.4499,0.5404,0.4303,0.3333,0.3496,0.3426,0.2851,0.4062,0.6833,0.7650,0.6670,0.5703,0.5995,0.6484,0.8614,0.9819,0.9380,0.8435,0.6074,0.5403,0.6890,0.5977,0.3244,0.0516,0.3157,0.3590,0.3881,0.5716,0.4314,0.3051,0.4393,0.4302,0.4831,0.5084,0.1952,0.1539,0.2037,0.1054,0.0251,0.0357,0.0181,0.0019,0.0102,0.0133,0.0040,0.0042,0.0030,0.0031,0.0033,M 184 | 0.0096,0.0404,0.0682,0.0688,0.0887,0.0932,0.0955,0.2140,0.2546,0.2952,0.4025,0.5148,0.4901,0.4127,0.3575,0.3447,0.3068,0.2945,0.4351,0.7264,0.8147,0.8103,0.6665,0.6958,0.7748,0.8688,1.0000,0.9941,0.8793,0.6482,0.5876,0.6408,0.4972,0.2755,0.0300,0.3356,0.3167,0.4133,0.6281,0.4977,0.2613,0.4697,0.4806,0.4921,0.5294,0.2216,0.1401,0.1888,0.0947,0.0134,0.0310,0.0237,0.0078,0.0144,0.0170,0.0012,0.0109,0.0036,0.0043,0.0018,M 185 | 0.0269,0.0383,0.0505,0.0707,0.1313,0.2103,0.2263,0.2524,0.3595,0.5915,0.6675,0.5679,0.5175,0.3334,0.2002,0.2856,0.2937,0.3424,0.5949,0.7526,0.8959,0.8147,0.7109,0.7378,0.7201,0.8254,0.8917,0.9820,0.8179,0.4848,0.3203,0.2775,0.2382,0.2911,0.1675,0.3156,0.1869,0.3391,0.5993,0.4124,0.1181,0.3651,0.4655,0.4777,0.3517,0.0920,0.1227,0.1785,0.1085,0.0300,0.0346,0.0167,0.0199,0.0145,0.0081,0.0045,0.0043,0.0027,0.0055,0.0057,M 186 | 0.0340,0.0625,0.0381,0.0257,0.0441,0.1027,0.1287,0.1850,0.2647,0.4117,0.5245,0.5341,0.5554,0.3915,0.2950,0.3075,0.3021,0.2719,0.5443,0.7932,0.8751,0.8667,0.7107,0.6911,0.7287,0.8792,1.0000,0.9816,0.8984,0.6048,0.4934,0.5371,0.4586,0.2908,0.0774,0.2249,0.1602,0.3958,0.6117,0.5196,0.2321,0.4370,0.3797,0.4322,0.4892,0.1901,0.0940,0.1364,0.0906,0.0144,0.0329,0.0141,0.0019,0.0067,0.0099,0.0042,0.0057,0.0051,0.0033,0.0058,M 187 | 0.0209,0.0191,0.0411,0.0321,0.0698,0.1579,0.1438,0.1402,0.3048,0.3914,0.3504,0.3669,0.3943,0.3311,0.3331,0.3002,0.2324,0.1381,0.3450,0.4428,0.4890,0.3677,0.4379,0.4864,0.6207,0.7256,0.6624,0.7689,0.7981,0.8577,0.9273,0.7009,0.4851,0.3409,0.1406,0.1147,0.1433,0.1820,0.3605,0.5529,0.5988,0.5077,0.5512,0.5027,0.7034,0.5904,0.4069,0.2761,0.1584,0.0510,0.0054,0.0078,0.0201,0.0104,0.0039,0.0031,0.0062,0.0087,0.0070,0.0042,M 188 | 0.0368,0.0279,0.0103,0.0566,0.0759,0.0679,0.0970,0.1473,0.2164,0.2544,0.2936,0.2935,0.2657,0.3187,0.2794,0.2534,0.1980,0.1929,0.2826,0.3245,0.3504,0.3324,0.4217,0.4774,0.4808,0.6325,0.8334,0.9458,1.0000,0.8425,0.5524,0.4795,0.5200,0.3968,0.1940,0.1519,0.2010,0.1736,0.1029,0.2244,0.3717,0.4449,0.3939,0.2030,0.2010,0.2187,0.1840,0.1477,0.0971,0.0224,0.0151,0.0105,0.0024,0.0018,0.0057,0.0092,0.0009,0.0086,0.0110,0.0052,M 189 | 0.0089,0.0274,0.0248,0.0237,0.0224,0.0845,0.1488,0.1224,0.1569,0.2119,0.3003,0.3094,0.2743,0.2547,0.1870,0.1452,0.1457,0.2429,0.3259,0.3679,0.3355,0.3100,0.3914,0.5280,0.6409,0.7707,0.8754,1.0000,0.9806,0.6969,0.4973,0.5020,0.5359,0.3842,0.1848,0.1149,0.1570,0.1311,0.1583,0.2631,0.3103,0.4512,0.3785,0.1269,0.1459,0.1092,0.1485,0.1385,0.0716,0.0176,0.0199,0.0096,0.0103,0.0093,0.0025,0.0044,0.0021,0.0069,0.0060,0.0018,M 190 | 0.0158,0.0239,0.0150,0.0494,0.0988,0.1425,0.1463,0.1219,0.1697,0.1923,0.2361,0.2719,0.3049,0.2986,0.2226,0.1745,0.2459,0.3100,0.3572,0.4283,0.4268,0.3735,0.4585,0.6094,0.7221,0.7595,0.8706,1.0000,0.9815,0.7187,0.5848,0.4192,0.3756,0.3263,0.1944,0.1394,0.1670,0.1275,0.1666,0.2574,0.2258,0.2777,0.1613,0.1335,0.1976,0.1234,0.1554,0.1057,0.0490,0.0097,0.0223,0.0121,0.0108,0.0057,0.0028,0.0079,0.0034,0.0046,0.0022,0.0021,M 191 | 0.0156,0.0210,0.0282,0.0596,0.0462,0.0779,0.1365,0.0780,0.1038,0.1567,0.2476,0.2783,0.2896,0.2956,0.3189,0.1892,0.1730,0.2226,0.2427,0.3149,0.4102,0.3808,0.4896,0.6292,0.7519,0.7985,0.8830,0.9915,0.9223,0.6981,0.6167,0.5069,0.3921,0.3524,0.2183,0.1245,0.1592,0.1626,0.2356,0.2483,0.2437,0.2715,0.1184,0.1157,0.1449,0.1883,0.1954,0.1492,0.0511,0.0155,0.0189,0.0150,0.0060,0.0082,0.0091,0.0038,0.0056,0.0056,0.0048,0.0024,M 192 | 0.0315,0.0252,0.0167,0.0479,0.0902,0.1057,0.1024,0.1209,0.1241,0.1533,0.2128,0.2536,0.2686,0.2803,0.1886,0.1485,0.2160,0.2417,0.2989,0.3341,0.3786,0.3956,0.5232,0.6913,0.7868,0.8337,0.9199,1.0000,0.8990,0.6456,0.5967,0.4355,0.2997,0.2294,0.1866,0.0922,0.1829,0.1743,0.2452,0.2407,0.2518,0.3184,0.1685,0.0675,0.1186,0.1833,0.1878,0.1114,0.0310,0.0143,0.0138,0.0108,0.0062,0.0044,0.0072,0.0007,0.0054,0.0035,0.0001,0.0055,M 193 | 0.0056,0.0267,0.0221,0.0561,0.0936,0.1146,0.0706,0.0996,0.1673,0.1859,0.2481,0.2712,0.2934,0.2637,0.1880,0.1405,0.2028,0.2613,0.2778,0.3346,0.3830,0.4003,0.5114,0.6860,0.7490,0.7843,0.9021,1.0000,0.8888,0.6511,0.6083,0.4463,0.2948,0.1729,0.1488,0.0801,0.1770,0.1382,0.2404,0.2046,0.1970,0.2778,0.1377,0.0685,0.0664,0.1665,0.1807,0.1245,0.0516,0.0044,0.0185,0.0072,0.0055,0.0074,0.0068,0.0084,0.0037,0.0024,0.0034,0.0007,M 194 | 0.0203,0.0121,0.0380,0.0128,0.0537,0.0874,0.1021,0.0852,0.1136,0.1747,0.2198,0.2721,0.2105,0.1727,0.2040,0.1786,0.1318,0.2260,0.2358,0.3107,0.3906,0.3631,0.4809,0.6531,0.7812,0.8395,0.9180,0.9769,0.8937,0.7022,0.6500,0.5069,0.3903,0.3009,0.1565,0.0985,0.2200,0.2243,0.2736,0.2152,0.2438,0.3154,0.2112,0.0991,0.0594,0.1940,0.1937,0.1082,0.0336,0.0177,0.0209,0.0134,0.0094,0.0047,0.0045,0.0042,0.0028,0.0036,0.0013,0.0016,M 195 | 0.0392,0.0108,0.0267,0.0257,0.0410,0.0491,0.1053,0.1690,0.2105,0.2471,0.2680,0.3049,0.2863,0.2294,0.1165,0.2127,0.2062,0.2222,0.3241,0.4330,0.5071,0.5944,0.7078,0.7641,0.8878,0.9711,0.9880,0.9812,0.9464,0.8542,0.6457,0.3397,0.3828,0.3204,0.1331,0.0440,0.1234,0.2030,0.1652,0.1043,0.1066,0.2110,0.2417,0.1631,0.0769,0.0723,0.0912,0.0812,0.0496,0.0101,0.0089,0.0083,0.0080,0.0026,0.0079,0.0042,0.0071,0.0044,0.0022,0.0014,M 196 | 0.0129,0.0141,0.0309,0.0375,0.0767,0.0787,0.0662,0.1108,0.1777,0.2245,0.2431,0.3134,0.3206,0.2917,0.2249,0.2347,0.2143,0.2939,0.4898,0.6127,0.7531,0.7718,0.7432,0.8673,0.9308,0.9836,1.0000,0.9595,0.8722,0.6862,0.4901,0.3280,0.3115,0.1969,0.1019,0.0317,0.0756,0.0907,0.1066,0.1380,0.0665,0.1475,0.2470,0.2788,0.2709,0.2283,0.1818,0.1185,0.0546,0.0219,0.0204,0.0124,0.0093,0.0072,0.0019,0.0027,0.0054,0.0017,0.0024,0.0029,M 197 | 0.0050,0.0017,0.0270,0.0450,0.0958,0.0830,0.0879,0.1220,0.1977,0.2282,0.2521,0.3484,0.3309,0.2614,0.1782,0.2055,0.2298,0.3545,0.6218,0.7265,0.8346,0.8268,0.8366,0.9408,0.9510,0.9801,0.9974,1.0000,0.9036,0.6409,0.3857,0.2908,0.2040,0.1653,0.1769,0.1140,0.0740,0.0941,0.0621,0.0426,0.0572,0.1068,0.1909,0.2229,0.2203,0.2265,0.1766,0.1097,0.0558,0.0142,0.0281,0.0165,0.0056,0.0010,0.0027,0.0062,0.0024,0.0063,0.0017,0.0028,M 198 | 0.0366,0.0421,0.0504,0.0250,0.0596,0.0252,0.0958,0.0991,0.1419,0.1847,0.2222,0.2648,0.2508,0.2291,0.1555,0.1863,0.2387,0.3345,0.5233,0.6684,0.7766,0.7928,0.7940,0.9129,0.9498,0.9835,1.0000,0.9471,0.8237,0.6252,0.4181,0.3209,0.2658,0.2196,0.1588,0.0561,0.0948,0.1700,0.1215,0.1282,0.0386,0.1329,0.2331,0.2468,0.1960,0.1985,0.1570,0.0921,0.0549,0.0194,0.0166,0.0132,0.0027,0.0022,0.0059,0.0016,0.0025,0.0017,0.0027,0.0027,M 199 | 0.0238,0.0318,0.0422,0.0399,0.0788,0.0766,0.0881,0.1143,0.1594,0.2048,0.2652,0.3100,0.2381,0.1918,0.1430,0.1735,0.1781,0.2852,0.5036,0.6166,0.7616,0.8125,0.7793,0.8788,0.8813,0.9470,1.0000,0.9739,0.8446,0.6151,0.4302,0.3165,0.2869,0.2017,0.1206,0.0271,0.0580,0.1262,0.1072,0.1082,0.0360,0.1197,0.2061,0.2054,0.1878,0.2047,0.1716,0.1069,0.0477,0.0170,0.0186,0.0096,0.0071,0.0084,0.0038,0.0026,0.0028,0.0013,0.0035,0.0060,M 200 | 0.0116,0.0744,0.0367,0.0225,0.0076,0.0545,0.1110,0.1069,0.1708,0.2271,0.3171,0.2882,0.2657,0.2307,0.1889,0.1791,0.2298,0.3715,0.6223,0.7260,0.7934,0.8045,0.8067,0.9173,0.9327,0.9562,1.0000,0.9818,0.8684,0.6381,0.3997,0.3242,0.2835,0.2413,0.2321,0.1260,0.0693,0.0701,0.1439,0.1475,0.0438,0.0469,0.1476,0.1742,0.1555,0.1651,0.1181,0.0720,0.0321,0.0056,0.0202,0.0141,0.0103,0.0100,0.0034,0.0026,0.0037,0.0044,0.0057,0.0035,M 201 | 0.0131,0.0387,0.0329,0.0078,0.0721,0.1341,0.1626,0.1902,0.2610,0.3193,0.3468,0.3738,0.3055,0.1926,0.1385,0.2122,0.2758,0.4576,0.6487,0.7154,0.8010,0.7924,0.8793,1.0000,0.9865,0.9474,0.9474,0.9315,0.8326,0.6213,0.3772,0.2822,0.2042,0.2190,0.2223,0.1327,0.0521,0.0618,0.1416,0.1460,0.0846,0.1055,0.1639,0.1916,0.2085,0.2335,0.1964,0.1300,0.0633,0.0183,0.0137,0.0150,0.0076,0.0032,0.0037,0.0071,0.0040,0.0009,0.0015,0.0085,M 202 | 0.0335,0.0258,0.0398,0.0570,0.0529,0.1091,0.1709,0.1684,0.1865,0.2660,0.3188,0.3553,0.3116,0.1965,0.1780,0.2794,0.2870,0.3969,0.5599,0.6936,0.7969,0.7452,0.8203,0.9261,0.8810,0.8814,0.9301,0.9955,0.8576,0.6069,0.3934,0.2464,0.1645,0.1140,0.0956,0.0080,0.0702,0.0936,0.0894,0.1127,0.0873,0.1020,0.1964,0.2256,0.1814,0.2012,0.1688,0.1037,0.0501,0.0136,0.0130,0.0120,0.0039,0.0053,0.0062,0.0046,0.0045,0.0022,0.0005,0.0031,M 203 | 0.0272,0.0378,0.0488,0.0848,0.1127,0.1103,0.1349,0.2337,0.3113,0.3997,0.3941,0.3309,0.2926,0.1760,0.1739,0.2043,0.2088,0.2678,0.2434,0.1839,0.2802,0.6172,0.8015,0.8313,0.8440,0.8494,0.9168,1.0000,0.7896,0.5371,0.6472,0.6505,0.4959,0.2175,0.0990,0.0434,0.1708,0.1979,0.1880,0.1108,0.1702,0.0585,0.0638,0.1391,0.0638,0.0581,0.0641,0.1044,0.0732,0.0275,0.0146,0.0091,0.0045,0.0043,0.0043,0.0098,0.0054,0.0051,0.0065,0.0103,M 204 | 0.0187,0.0346,0.0168,0.0177,0.0393,0.1630,0.2028,0.1694,0.2328,0.2684,0.3108,0.2933,0.2275,0.0994,0.1801,0.2200,0.2732,0.2862,0.2034,0.1740,0.4130,0.6879,0.8120,0.8453,0.8919,0.9300,0.9987,1.0000,0.8104,0.6199,0.6041,0.5547,0.4160,0.1472,0.0849,0.0608,0.0969,0.1411,0.1676,0.1200,0.1201,0.1036,0.1977,0.1339,0.0902,0.1085,0.1521,0.1363,0.0858,0.0290,0.0203,0.0116,0.0098,0.0199,0.0033,0.0101,0.0065,0.0115,0.0193,0.0157,M 205 | 0.0323,0.0101,0.0298,0.0564,0.0760,0.0958,0.0990,0.1018,0.1030,0.2154,0.3085,0.3425,0.2990,0.1402,0.1235,0.1534,0.1901,0.2429,0.2120,0.2395,0.3272,0.5949,0.8302,0.9045,0.9888,0.9912,0.9448,1.0000,0.9092,0.7412,0.7691,0.7117,0.5304,0.2131,0.0928,0.1297,0.1159,0.1226,0.1768,0.0345,0.1562,0.0824,0.1149,0.1694,0.0954,0.0080,0.0790,0.1255,0.0647,0.0179,0.0051,0.0061,0.0093,0.0135,0.0063,0.0063,0.0034,0.0032,0.0062,0.0067,M 206 | 0.0522,0.0437,0.0180,0.0292,0.0351,0.1171,0.1257,0.1178,0.1258,0.2529,0.2716,0.2374,0.1878,0.0983,0.0683,0.1503,0.1723,0.2339,0.1962,0.1395,0.3164,0.5888,0.7631,0.8473,0.9424,0.9986,0.9699,1.0000,0.8630,0.6979,0.7717,0.7305,0.5197,0.1786,0.1098,0.1446,0.1066,0.1440,0.1929,0.0325,0.1490,0.0328,0.0537,0.1309,0.0910,0.0757,0.1059,0.1005,0.0535,0.0235,0.0155,0.0160,0.0029,0.0051,0.0062,0.0089,0.0140,0.0138,0.0077,0.0031,M 207 | 0.0303,0.0353,0.0490,0.0608,0.0167,0.1354,0.1465,0.1123,0.1945,0.2354,0.2898,0.2812,0.1578,0.0273,0.0673,0.1444,0.2070,0.2645,0.2828,0.4293,0.5685,0.6990,0.7246,0.7622,0.9242,1.0000,0.9979,0.8297,0.7032,0.7141,0.6893,0.4961,0.2584,0.0969,0.0776,0.0364,0.1572,0.1823,0.1349,0.0849,0.0492,0.1367,0.1552,0.1548,0.1319,0.0985,0.1258,0.0954,0.0489,0.0241,0.0042,0.0086,0.0046,0.0126,0.0036,0.0035,0.0034,0.0079,0.0036,0.0048,M 208 | 0.0260,0.0363,0.0136,0.0272,0.0214,0.0338,0.0655,0.1400,0.1843,0.2354,0.2720,0.2442,0.1665,0.0336,0.1302,0.1708,0.2177,0.3175,0.3714,0.4552,0.5700,0.7397,0.8062,0.8837,0.9432,1.0000,0.9375,0.7603,0.7123,0.8358,0.7622,0.4567,0.1715,0.1549,0.1641,0.1869,0.2655,0.1713,0.0959,0.0768,0.0847,0.2076,0.2505,0.1862,0.1439,0.1470,0.0991,0.0041,0.0154,0.0116,0.0181,0.0146,0.0129,0.0047,0.0039,0.0061,0.0040,0.0036,0.0061,0.0115,M 209 | -------------------------------------------------------------------------------- /声呐识别/sonar.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Created on Sat Jul 20 16:14:01 2019 4 | 5 | @author: Leo 6 | """ 7 | 8 | #声呐分类 9 | #Dropout 10 | #maxnorm 11 | 12 | import numpy as np 13 | from pandas import read_csv 14 | from keras.models import Sequential 15 | from keras.layers import Dense,Dropout 16 | from keras.constraints import maxnorm 17 | from keras.wrappers.scikit_learn import KerasClassifier 18 | from keras.optimizers import SGD 19 | from sklearn.model_selection import cross_val_score 20 | from sklearn.model_selection import StratifiedKFold 21 | from sklearn.preprocessing import LabelEncoder #将数据集中文本转为数字 22 | from sklearn.preprocessing import StandardScaler 23 | from sklearn.pipeline import Pipeline 24 | 25 | seed = 7 26 | np.random.seed(seed) 27 | 28 | dataframe = read_csv('sonar.csv',header=None) 29 | dataset = dataframe.values 30 | 31 | X = dataset[:,0:60].astype(float) 32 | Y = dataset[:,60] 33 | 34 | encoder = LabelEncoder() 35 | encoder.fit(Y) 36 | encoded_Y =encoder.transform(Y) 37 | 38 | def create_baseline(): 39 | model = Sequential() 40 | model.add(Dropout(0.2,input_shape=(60,))) 41 | model.add(Dense(60,kernel_initializer='normal',activation='relu',kernel_constraint=maxnorm(3))) 42 | model.add(Dense(30,kernel_initializer='normal',activation='relu',kernel_constraint=maxnorm(3))) 43 | model.add(Dense(1,kernel_initializer='normal',activation='sigmoid')) 44 | 45 | sgd = SGD(lr=0.01,momentum = 0.8, decay = 0.0, nesterov = False) 46 | model.compile(loss='binary_crossentropy',optimizer=sgd,metrics=['accuracy']) 47 | return model 48 | 49 | estimators = [] #使用Pipeline方式 50 | estimators.append(('standardize', StandardScaler())) #标准化:均值为0,方差为1 51 | estimators.append(('mlp',KerasClassifier(build_fn=create_baseline,epochs=300,batch_size=16,verbose=1))) #传入网络结构 52 | pipeline = Pipeline(estimators) 53 | kfold = StratifiedKFold(n_splits=10,shuffle=True,random_state=seed) #交叉验证 54 | results = cross_val_score(pipeline,X,encoded_Y,cv=kfold) 55 | print('Average Accuracy: %.2f%% (%.2f%%)' % (results.mean()*100,results.std()*100)) 56 | 57 | -------------------------------------------------------------------------------- /手写数字识别/手写数字识别.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stderr", 10 | "output_type": "stream", 11 | "text": [ 12 | "Using TensorFlow backend.\n" 13 | ] 14 | }, 15 | { 16 | "name": "stdout", 17 | "output_type": "stream", 18 | "text": [ 19 | "X_train shape: (60000, 28, 28)\n", 20 | "X_test shape: (10000, 28, 28)\n" 21 | ] 22 | } 23 | ], 24 | "source": [ 25 | "#手写数字识别\n", 26 | "import numpy as np\n", 27 | "import seaborn as sns\n", 28 | "import matplotlib.pyplot as plt\n", 29 | "plt.rcParams['figure.figsize']=(7,7)\n", 30 | "\n", 31 | "import keras\n", 32 | "from keras.datasets import mnist\n", 33 | "from keras.models import Sequential\n", 34 | "from keras.utils import np_utils\n", 35 | "from keras.preprocessing.image import ImageDataGenerator\n", 36 | "from keras.layers import Dense,Dropout,Flatten,Conv2D,MaxPool2D\n", 37 | "from keras.layers.normalization import BatchNormalization\n", 38 | "\n", 39 | "epochs = 20\n", 40 | "input_shape = (28,28,1)\n", 41 | "nb_classes = 10\n", 42 | "\n", 43 | "(X_train,y_train),(X_test,y_test) = mnist.load_data()\n", 44 | "print('X_train shape:',X_train.shape)\n", 45 | "print('X_test shape:',X_test.shape)" 46 | ] 47 | }, 48 | { 49 | "cell_type": "code", 50 | "execution_count": 2, 51 | "metadata": {}, 52 | "outputs": [ 53 | { 54 | "data": { 55 | "image/png": "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\n", 56 | "text/plain": [ 57 | "
" 58 | ] 59 | }, 60 | "metadata": { 61 | "needs_background": "light" 62 | }, 63 | "output_type": "display_data" 64 | } 65 | ], 66 | "source": [ 67 | "for i in range(9):\n", 68 | " plt.subplot(3,3,i+1)\n", 69 | " plt.imshow(X_train[i],cmap='gray',interpolation='none') #interpolation='none'不需要插值\n", 70 | " plt.title('Class {}'.format(y_train[i])) #类别标签" 71 | ] 72 | }, 73 | { 74 | "cell_type": "code", 75 | "execution_count": 3, 76 | "metadata": {}, 77 | "outputs": [ 78 | { 79 | "name": "stdout", 80 | "output_type": "stream", 81 | "text": [ 82 | "X_train shape: (60000, 28, 28, 1)\n", 83 | "X_test shape: (10000, 28, 28, 1)\n" 84 | ] 85 | } 86 | ], 87 | "source": [ 88 | "X_train = X_train.reshape(X_train.shape[0],28,28,1)\n", 89 | "X_test = X_test.reshape(X_test.shape[0],28,28,1)\n", 90 | "print('X_train shape:',X_train.shape)\n", 91 | "print('X_test shape:',X_test.shape)" 92 | ] 93 | }, 94 | { 95 | "cell_type": "code", 96 | "execution_count": 4, 97 | "metadata": { 98 | "scrolled": true 99 | }, 100 | "outputs": [ 101 | { 102 | "data": { 103 | "text/plain": [ 104 | "" 105 | ] 106 | }, 107 | "execution_count": 4, 108 | "metadata": {}, 109 | "output_type": "execute_result" 110 | }, 111 | { 112 | "data": { 113 | "image/png": "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\n", 114 | "text/plain": [ 115 | "
" 116 | ] 117 | }, 118 | "metadata": { 119 | "needs_background": "light" 120 | }, 121 | "output_type": "display_data" 122 | } 123 | ], 124 | "source": [ 125 | "sns.countplot(y_train)" 126 | ] 127 | }, 128 | { 129 | "cell_type": "code", 130 | "execution_count": 5, 131 | "metadata": {}, 132 | "outputs": [ 133 | { 134 | "name": "stdout", 135 | "output_type": "stream", 136 | "text": [ 137 | "y_train: (60000,)\n" 138 | ] 139 | } 140 | ], 141 | "source": [ 142 | "print('y_train:',y_train.shape)" 143 | ] 144 | }, 145 | { 146 | "cell_type": "code", 147 | "execution_count": 6, 148 | "metadata": {}, 149 | "outputs": [ 150 | { 151 | "name": "stdout", 152 | "output_type": "stream", 153 | "text": [ 154 | "Y_train: (60000, 10)\n" 155 | ] 156 | } 157 | ], 158 | "source": [ 159 | "Y_train = np_utils.to_categorical(y_train,nb_classes) #转换成独热编码\n", 160 | "Y_test = np_utils.to_categorical(y_test,nb_classes)\n", 161 | "print('Y_train:',Y_train.shape)" 162 | ] 163 | }, 164 | { 165 | "cell_type": "code", 166 | "execution_count": 7, 167 | "metadata": {}, 168 | "outputs": [ 169 | { 170 | "name": "stdout", 171 | "output_type": "stream", 172 | "text": [ 173 | "_________________________________________________________________\n", 174 | "Layer (type) Output Shape Param # \n", 175 | "=================================================================\n", 176 | "conv2d_1 (Conv2D) (None, 26, 26, 32) 320 \n", 177 | "_________________________________________________________________\n", 178 | "conv2d_2 (Conv2D) (None, 24, 24, 32) 9248 \n", 179 | "_________________________________________________________________\n", 180 | "max_pooling2d_1 (MaxPooling2 (None, 12, 12, 32) 0 \n", 181 | "_________________________________________________________________\n", 182 | "dropout_1 (Dropout) (None, 12, 12, 32) 0 \n", 183 | "_________________________________________________________________\n", 184 | "conv2d_3 (Conv2D) (None, 12, 12, 64) 18496 \n", 185 | "_________________________________________________________________\n", 186 | "conv2d_4 (Conv2D) (None, 12, 12, 64) 36928 \n", 187 | "_________________________________________________________________\n", 188 | "max_pooling2d_2 (MaxPooling2 (None, 6, 6, 64) 0 \n", 189 | "_________________________________________________________________\n", 190 | "dropout_2 (Dropout) (None, 6, 6, 64) 0 \n", 191 | "_________________________________________________________________\n", 192 | "conv2d_5 (Conv2D) (None, 6, 6, 128) 73856 \n", 193 | "_________________________________________________________________\n", 194 | "dropout_3 (Dropout) (None, 6, 6, 128) 0 \n", 195 | "_________________________________________________________________\n", 196 | "flatten_1 (Flatten) (None, 4608) 0 \n", 197 | "_________________________________________________________________\n", 198 | "dense_1 (Dense) (None, 128) 589952 \n", 199 | "_________________________________________________________________\n", 200 | "batch_normalization_1 (Batch (None, 128) 512 \n", 201 | "_________________________________________________________________\n", 202 | "dropout_4 (Dropout) (None, 128) 0 \n", 203 | "_________________________________________________________________\n", 204 | "dense_2 (Dense) (None, 10) 1290 \n", 205 | "=================================================================\n", 206 | "Total params: 730,602\n", 207 | "Trainable params: 730,346\n", 208 | "Non-trainable params: 256\n", 209 | "_________________________________________________________________\n" 210 | ] 211 | } 212 | ], 213 | "source": [ 214 | "model = Sequential()\n", 215 | "model.add(Conv2D(32,kernel_size=(3,3),activation='relu',kernel_initializer='he_normal',input_shape=input_shape)) # he正态分布初始化方法\n", 216 | "model.add(Conv2D(32,kernel_size=(3,3),activation='relu',kernel_initializer='he_normal'))\n", 217 | "model.add(MaxPool2D(2,2))\n", 218 | "model.add(Dropout(0.2))\n", 219 | "model.add(Conv2D(64,kernel_size=(3,3),activation='relu',kernel_initializer='he_normal',padding='same')) #padding='same':输出矩阵大小与输入一样\n", 220 | "model.add(Conv2D(64,kernel_size=(3,3),activation='relu',kernel_initializer='he_normal',padding='same'))\n", 221 | "model.add(MaxPool2D(2,2))\n", 222 | "model.add(Dropout(0.25))\n", 223 | "model.add(Conv2D(128,kernel_size=(3,3),activation='relu',kernel_initializer='he_normal',padding='same'))\n", 224 | "model.add(Conv2D(128,kernel_size=(3,3),activation='relu',kernel_initializer='he_normal',padding='same'))\n", 225 | "model.add(Dropout(0.25))\n", 226 | "model.add(Flatten())\n", 227 | "model.add(Dense(128,activation='relu'))\n", 228 | "model.add(BatchNormalization())\n", 229 | "model.add(Dropout(0.25))\n", 230 | "model.add(Dense(nb_classes,activation='softmax'))\n", 231 | "\n", 232 | "model.compile(loss=keras.losses.categorical_crossentropy,\n", 233 | " optimizer=keras.optimizers.Adam(),\n", 234 | " metrics=['accuracy'])\n", 235 | "model.summary()" 236 | ] 237 | }, 238 | { 239 | "cell_type": "code", 240 | "execution_count": 8, 241 | "metadata": {}, 242 | "outputs": [ 243 | { 244 | "name": "stdout", 245 | "output_type": "stream", 246 | "text": [ 247 | "Epoch 1/20\n", 248 | "60/60 [==============================] - 11s 183ms/step - loss: 0.4577 - acc: 0.8584 - val_loss: 0.0948 - val_acc: 0.9734\n", 249 | "Epoch 2/20\n", 250 | "60/60 [==============================] - 4s 69ms/step - loss: 0.0970 - acc: 0.9712 - val_loss: 0.0563 - val_acc: 0.9849\n", 251 | "Epoch 3/20\n", 252 | "60/60 [==============================] - 4s 69ms/step - loss: 0.0636 - acc: 0.9809 - val_loss: 0.0351 - val_acc: 0.9890\n", 253 | "Epoch 4/20\n", 254 | "60/60 [==============================] - 4s 69ms/step - loss: 0.0501 - acc: 0.9850 - val_loss: 0.0303 - val_acc: 0.9904\n", 255 | "Epoch 5/20\n", 256 | "60/60 [==============================] - 4s 69ms/step - loss: 0.0426 - acc: 0.9872 - val_loss: 0.0242 - val_acc: 0.9918\n", 257 | "Epoch 6/20\n", 258 | "60/60 [==============================] - 4s 70ms/step - loss: 0.0360 - acc: 0.9889 - val_loss: 0.0251 - val_acc: 0.9924\n", 259 | "Epoch 7/20\n", 260 | "60/60 [==============================] - 4s 71ms/step - loss: 0.0331 - acc: 0.9900 - val_loss: 0.0215 - val_acc: 0.9924\n", 261 | "Epoch 8/20\n", 262 | "60/60 [==============================] - 4s 71ms/step - loss: 0.0261 - acc: 0.9922 - val_loss: 0.0188 - val_acc: 0.9941\n", 263 | "Epoch 9/20\n", 264 | "60/60 [==============================] - 4s 70ms/step - loss: 0.0242 - acc: 0.9929 - val_loss: 0.0181 - val_acc: 0.9945\n", 265 | "Epoch 10/20\n", 266 | "60/60 [==============================] - 4s 72ms/step - loss: 0.0228 - acc: 0.9929 - val_loss: 0.0167 - val_acc: 0.9943\n", 267 | "Epoch 11/20\n", 268 | "60/60 [==============================] - 4s 70ms/step - loss: 0.0208 - acc: 0.9936 - val_loss: 0.0173 - val_acc: 0.9943\n", 269 | "Epoch 12/20\n", 270 | "60/60 [==============================] - 4s 69ms/step - loss: 0.0189 - acc: 0.9944 - val_loss: 0.0166 - val_acc: 0.9947\n", 271 | "Epoch 13/20\n", 272 | "60/60 [==============================] - 4s 71ms/step - loss: 0.0166 - acc: 0.9949 - val_loss: 0.0180 - val_acc: 0.9937\n", 273 | "Epoch 14/20\n", 274 | "60/60 [==============================] - 4s 71ms/step - loss: 0.0166 - acc: 0.9947 - val_loss: 0.0147 - val_acc: 0.9948\n", 275 | "Epoch 15/20\n", 276 | "60/60 [==============================] - 4s 72ms/step - loss: 0.0153 - acc: 0.9952 - val_loss: 0.0176 - val_acc: 0.9938\n", 277 | "Epoch 16/20\n", 278 | "60/60 [==============================] - 4s 70ms/step - loss: 0.0150 - acc: 0.9952 - val_loss: 0.0148 - val_acc: 0.9953\n", 279 | "Epoch 17/20\n", 280 | "60/60 [==============================] - 4s 70ms/step - loss: 0.0128 - acc: 0.9962 - val_loss: 0.0182 - val_acc: 0.9935\n", 281 | "Epoch 18/20\n", 282 | "60/60 [==============================] - 4s 70ms/step - loss: 0.0119 - acc: 0.9963 - val_loss: 0.0162 - val_acc: 0.9944\n", 283 | "Epoch 19/20\n", 284 | "60/60 [==============================] - 4s 70ms/step - loss: 0.0117 - acc: 0.9962 - val_loss: 0.0148 - val_acc: 0.9955\n", 285 | "Epoch 20/20\n", 286 | "60/60 [==============================] - 4s 71ms/step - loss: 0.0118 - acc: 0.9961 - val_loss: 0.0197 - val_acc: 0.9937\n" 287 | ] 288 | } 289 | ], 290 | "source": [ 291 | "datagen = ImageDataGenerator(featurewise_center=True,featurewise_std_normalization=True)\n", 292 | "# ImageDataGenerator()是keras.preprocessing.image模块中的图片生成器,同时也可以在batch中对数据进行增强,\n", 293 | "# 扩充数据集大小,增强模型的泛化能力。比如进行旋转,变形,归一化等等。\n", 294 | "# 数据归一化:均值为零,方差为标准方差\n", 295 | "# featurewise_center: Boolean. 对输入的图片每个通道减去每个通道对应均值。\n", 296 | "#https://www.jianshu.com/p/d23b5994db64\n", 297 | "datagen.fit(X_train)\n", 298 | "\n", 299 | "#保存效果最好的模型\n", 300 | "filepath = 'model.hdf5'\n", 301 | "from keras.callbacks import ModelCheckpoint\n", 302 | "checkpointer = ModelCheckpoint(filepath,monitor='val_acc',save_best_only=True,mode='max')\n", 303 | "\n", 304 | "h = model.fit_generator(datagen.flow(X_train,Y_train,batch_size=1000),\n", 305 | " steps_per_epoch=len(X_train)/1000,epochs=epochs,\n", 306 | " validation_data=datagen.flow(X_test,Y_test,batch_size=len(X_test)),\n", 307 | " validation_steps=1,callbacks=[checkpointer])" 308 | ] 309 | }, 310 | { 311 | "cell_type": "code", 312 | "execution_count": 9, 313 | "metadata": {}, 314 | "outputs": [ 315 | { 316 | "name": "stdout", 317 | "output_type": "stream", 318 | "text": [ 319 | "dict_keys(['val_loss', 'val_acc', 'loss', 'acc'])\n" 320 | ] 321 | } 322 | ], 323 | "source": [ 324 | "history = h.history\n", 325 | "print(history.keys())" 326 | ] 327 | }, 328 | { 329 | "cell_type": "code", 330 | "execution_count": 10, 331 | "metadata": {}, 332 | "outputs": [ 333 | { 334 | "data": { 335 | "image/png": "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nuAka/y8X8aNLwFOTbLcdoJLLJ1z1bRr1y5P8q4CSXTs2JHqXrTid8Y614B5kneJDuQz4YneOecizhO9cxExfTrk5kJWVvB3+vTM1rdp0yb69etHv3796NKlC127di2f/vrrr9NaxxVXXMGyZcsqrfPAAw8wPdNg42zYsIHs7Gz+53/+p8bW2djJLPGS+PpVUFBghYWF9R2Gc/Vu6dKlHHvssWnVnT4dxo2DnTv3zWvZEh58EMaOzTyW22+/nVatWjF+/PgK880MMyMrq+EcM9577708+eSTNG/enJdeeqnWtlNWVkZ2dlqnOWtcss+GpIVmlvTy9Ybz7jjnDtjEiRWTPATTEyfW/LZWrlxJnz59uPbaa8nPz2fdunWMGzeOgoICevfuzaRJk8rrDhgwgPfff5+ysjLatWvHhAkT6Nu3LyeffDKfffYZALfeeiv33HNPef0JEybQv39/vvWtb/F///d/AOzYsYORI0fSt29fxowZQ0FBAe+//37S+GbMmME999zD6tWrWb9+ffn85557jvz8fPr27cvQoUMB2LZtG5dddhnHHXcceXl5zJ49uzzWmJkzZ3LVVVcBcPHFF/PjH/+YwYMH8/Of/5w333yTk08+meOPP55TTz2VFStWAMGXwI9+9CP69OlDXl4ev//975k3bx7nn7/v2pS5c+dywQUXZPx+pKN+vo6cczXqk0+qNz9TS5Ys4eGHH+YPf/gDAHfccQcdOnSgrKyMwYMHM2rUKHr1qtj34datWxk4cCB33HEHt9xyC1OnTmXChP06w8XMePvtt5kzZw6TJk3ihRde4L777qNLly48/fTTLFq0iPz8/KRxFRcXs2XLFk444QRGjRrFrFmzuOmmm1i/fj3XXXcdr732Gj169GDz5qAnlttvv53OnTvzwQcfYGZ8/vnnVb72VatWMX/+fLKysti6dSuvv/46TZo04YUXXuDWW2/liSeeYMqUKaxdu5ZFixbRpEkTNm/eTLt27bjpppvYtGkTHTt25OGHH+aKK66o7q4/IH5E71wEdO9evfmZOvroo/n2t79dPj1jxgzy8/PJz89n6dKlLFmyZL9lDjnkEM4880wATjjhBIqLi5Ou+7zzztuvzuuvv87o0aMB6Nu3L71790667IwZM7jwwgsBGD16NDNmzADgjTfeYPDgwfTo0QOADh06APDSSy/xwx/+EAiuZmnfvn2Vr/38888vb6r6/PPPOe+88+jTpw/jx49n8eLF5eu99tpradKkSfn2srKyuOiii3j88cfZvHkzCxcuLP9lUdv8iN65CJg8OXkb/eTJtbO9Qw89tHx8xYoV/Pd//zdvv/027dq14+KLL056N2+zZs3Kx5s0aUJZWVnSdTdv3ny/OumeS5wxYwabNm3i0UcfBWDt2rV89NFHmFnSyxKTzc/KyqqwvcTXEv/aJ06cyBlnnMH111/PypUrGTZsWMr1Alx55ZWMHDkSgAsvvLD8i6C2+RG9cxEwdmxw4rVHD5CCvzV1IrYqX7hYGeMAAA7uSURBVHzxBa1bt6ZNmzasW7eOefPm1fg2BgwYwKxZswD44IMPkv5iWLJkCXv27GHNmjUUFxdTXFzMT37yE2bOnMmpp57Kyy+/zMcffwxQ3nQzdOhQ7r//fiBIzlu2bCErK4v27duzYsUK9u7dyzPPPJMyrq1bt9K1a9CZ7yOPPFI+f+jQoUyZMoU9e/ZU2F63bt3o1KkTd9xxB5dffnlmO6UaPNE7FxFjx0JxMezdG/ytiyQPkJ+fT69evejTpw9XX301p566303yGbvxxhtZs2YNeXl5/O53v6NPnz60bdu2Qp3HH3+cc889t8K8kSNH8vjjj3P44YczZcoURowYQd++fRkb7pzbbruNDRs20KdPH/r168drr70GwG9+8xuGDRvGkCFDyMnJSRnXT3/6U37yk5/s95qvueYaunTpQl5eHn379i3/kgK46KKL6NmzJ9/85jcz2ifV4ZdXOtdAVefyyqgrKyujrKyMFi1asGLFCoYOHcqKFSvq7fLGTFx77bWcfPLJXHbZZQe8jupeXtn49pJz7qCzfft2hgwZQllZGWbGH//4x0aZ5Pv160f79u25995763S7jW9POecOOu3atWPhwoX1HUbGUl37X9u8jd455yLOE71zzkWcJ3rnnIs4T/TOORdxnuidc0kNGjRov5uf7rnnHq6//vpKl2vVqhUQ3JU6atSolOuu6jLqe+65h51xt/qeddZZafVFk65YB2kHA0/0zrmkxowZw8yZMyvMmzlzZtrJ8cgjj+Spp5464O0nJvrnn3++Qq+SmVi6dCl79+5lwYIF7Nixo0bWmUyqbh7qWlqJXtIwScskrZS0X3dzkrpLekXSe5KKJJ0VV5Yn6Q1JiyV9IKlFTb4A5w4GN98MgwbV7HDzzZVvc9SoUfz1r3/lq6++AoKeIdeuXcuAAQPKr2vPz8/nuOOO49lnn91v+eLiYvr06QPAl19+yejRo8nLy+PCCy/kyy+/LK933XXXlXdxfNtttwFBn/Jr165l8ODBDB48GIDc3Fw2btwIwN13302fPn3o06dPeRfHxcXFHHvssVx99dX07t2boUOHVthOvMcff5xLLrmEoUOHMmfOnPL5K1eu5PTTT6dv377k5+ezatUqAO68806OO+44+vbtW97jZvyvko0bN5KbmwsEXSGcf/75nH322QwdOrTSfTVt2rTyu2cvueQStm3bRs+ePdm9ezcQdC+Rm5tbPn2gqryOXlIT4AHge0AJ8I6kOeEDwWNuBWaZ2RRJvQgeJJ4rKRv4M3CJmS2S1BHILGLnXJ3o2LEj/fv354UXXmDEiBHMnDmTCy+8EEm0aNGCZ555hjZt2rBx40ZOOukkhg8fnvJ5plOmTKFly5YUFRVRVFRUoZvhyZMn06FDB/bs2cOQIUMoKiripptu4u677+aVV16hU6dOFda1cOFCHn74Yd566y3MjBNPPJGBAweW908zY8YMHnroIS644AKefvppLr744v3ieeKJJ3jxxRdZtmwZ999/f/mvlLFjxzJhwgTOPfdcdu3axd69e5k7dy6zZ8/mrbfeomXLluX91lTmjTfeoKioqLzr5mT7asmSJUyePJl//OMfdOrUic2bN9O6dWsGDRrEc889xznnnMPMmTMZOXIkTZs2rc5bt590bpjqD6w0s9UAkmYCI4D4RG9Am3C8LbA2HB8KFJnZIgAz25RRtM4dpMKD1joXa76JJfqpU6cCQQdgP//5z1mwYAFZWVmsWbOGDRs20KVLl6TrWbBgATfddBMAeXl55OXllZfNmjWLBx98kLKyMtatW8eSJUsqlCd6/fXXOffcc8t7kTzvvPN47bXXGD58OD179qRfv35A6q6Q33nnHTp37kyPHj3IycnhyiuvZMuWLWRnZ7NmzZry/nJatAgaH1566SWuuOIKWrZsCezr4rgy3/ve98rrpdpXL7/8MqNGjSr/IovVv+qqq7jzzjs555xzePjhh3nooYeq3F5V0mm66Qp8GjddEs6LdztwsaQSgqP5G8P53wRM0jxJ70r69wzjTammn5fpnINzzjmH+fPn8+677/Lll1+WH4lP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\n", 336 | "text/plain": [ 337 | "
" 338 | ] 339 | }, 340 | "metadata": { 341 | "needs_background": "light" 342 | }, 343 | "output_type": "display_data" 344 | } 345 | ], 346 | "source": [ 347 | "accuracy = history['acc']\n", 348 | "val_accuracy = history['val_acc']\n", 349 | "loss = history['loss']\n", 350 | "val_loss = history['val_loss']\n", 351 | "epochs = range(len(accuracy))\n", 352 | "plt.plot(epochs,accuracy,'bo',label='Training Accuracy')\n", 353 | "plt.plot(epochs,val_accuracy,'b',label='Validation Accuracy')\n", 354 | "plt.title('Training and Validation Accuracy')\n", 355 | "plt.legend()\n", 356 | "plt.show()" 357 | ] 358 | }, 359 | { 360 | "cell_type": "code", 361 | "execution_count": 11, 362 | "metadata": {}, 363 | "outputs": [ 364 | { 365 | "name": "stdout", 366 | "output_type": "stream", 367 | "text": [ 368 | "10000/10000 [==============================] - 1s 73us/step\n", 369 | "Test score: 0.08860816788788954\n", 370 | "Test accuracy: 0.994\n" 371 | ] 372 | } 373 | ], 374 | "source": [ 375 | "score = model.evaluate(X_test,Y_test)\n", 376 | "print(\"Test score:\",score[0])\n", 377 | "print(\"Test accuracy:\",score[1])" 378 | ] 379 | }, 380 | { 381 | "cell_type": "code", 382 | "execution_count": 12, 383 | "metadata": {}, 384 | "outputs": [], 385 | "source": [ 386 | "predicted_classes = model.predict_classes(X_test)\n", 387 | "correct_indices = np.nonzero(predicted_classes == y_test)[0]\n", 388 | "incorrect_indices = np.nonzero(predicted_classes != y_test)[0]" 389 | ] 390 | }, 391 | { 392 | "cell_type": "code", 393 | "execution_count": 13, 394 | "metadata": {}, 395 | "outputs": [ 396 | { 397 | "data": { 398 | "image/png": "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\n", 399 | "text/plain": [ 400 | "
" 401 | ] 402 | }, 403 | "metadata": { 404 | "needs_background": "light" 405 | }, 406 | "output_type": "display_data" 407 | } 408 | ], 409 | "source": [ 410 | "plt.figure()\n", 411 | "for i,correct in enumerate(correct_indices[:9]):\n", 412 | " plt.subplot(3,3,i+1)\n", 413 | " plt.imshow(X_test[correct].reshape(28,28),cmap='gray',interpolation='none')\n", 414 | " plt.title(\"Predicted {},Class {}\".format(predicted_classes[correct],y_test[correct]))" 415 | ] 416 | }, 417 | { 418 | "cell_type": "code", 419 | "execution_count": 14, 420 | "metadata": {}, 421 | "outputs": [ 422 | { 423 | "data": { 424 | "image/png": "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\n", 425 | "text/plain": [ 426 | "
" 427 | ] 428 | }, 429 | "metadata": { 430 | "needs_background": "light" 431 | }, 432 | "output_type": "display_data" 433 | } 434 | ], 435 | "source": [ 436 | "plt.figure()\n", 437 | "for i,incorrect in enumerate(incorrect_indices[:9]):\n", 438 | " plt.subplot(3,3,i+1)\n", 439 | " plt.imshow(X_test[incorrect].reshape(28,28),cmap='gray',interpolation='none')\n", 440 | " plt.title(\"Predicted {},Class {}\".format(predicted_classes[incorrect],y_test[incorrect]))" 441 | ] 442 | }, 443 | { 444 | "cell_type": "code", 445 | "execution_count": null, 446 | "metadata": {}, 447 | "outputs": [], 448 | "source": [] 449 | } 450 | ], 451 | "metadata": { 452 | "kernelspec": { 453 | "display_name": "Python 3", 454 | "language": "python", 455 | "name": "python3" 456 | }, 457 | "language_info": { 458 | "codemirror_mode": { 459 | "name": "ipython", 460 | "version": 3 461 | }, 462 | "file_extension": ".py", 463 | "mimetype": "text/x-python", 464 | "name": "python", 465 | "nbconvert_exporter": "python", 466 | "pygments_lexer": "ipython3", 467 | "version": "3.6.9" 468 | } 469 | }, 470 | "nbformat": 4, 471 | "nbformat_minor": 2 472 | } 473 | -------------------------------------------------------------------------------- /鸢尾花分类/iris.csv: -------------------------------------------------------------------------------- 1 | 5.1,3.5,1.4,0.2,Iris-setosa 2 | 4.9,3,1.4,0.2,Iris-setosa 3 | 4.7,3.2,1.3,0.2,Iris-setosa 4 | 4.6,3.1,1.5,0.2,Iris-setosa 5 | 5,3.6,1.4,0.2,Iris-setosa 6 | 5.4,3.9,1.7,0.4,Iris-setosa 7 | 4.6,3.4,1.4,0.3,Iris-setosa 8 | 5,3.4,1.5,0.2,Iris-setosa 9 | 4.4,2.9,1.4,0.2,Iris-setosa 10 | 4.9,3.1,1.5,0.1,Iris-setosa 11 | 5.4,3.7,1.5,0.2,Iris-setosa 12 | 4.8,3.4,1.6,0.2,Iris-setosa 13 | 4.8,3,1.4,0.1,Iris-setosa 14 | 4.3,3,1.1,0.1,Iris-setosa 15 | 5.8,4,1.2,0.2,Iris-setosa 16 | 5.7,4.4,1.5,0.4,Iris-setosa 17 | 5.4,3.9,1.3,0.4,Iris-setosa 18 | 5.1,3.5,1.4,0.3,Iris-setosa 19 | 5.7,3.8,1.7,0.3,Iris-setosa 20 | 5.1,3.8,1.5,0.3,Iris-setosa 21 | 5.4,3.4,1.7,0.2,Iris-setosa 22 | 5.1,3.7,1.5,0.4,Iris-setosa 23 | 4.6,3.6,1,0.2,Iris-setosa 24 | 5.1,3.3,1.7,0.5,Iris-setosa 25 | 4.8,3.4,1.9,0.2,Iris-setosa 26 | 5,3,1.6,0.2,Iris-setosa 27 | 5,3.4,1.6,0.4,Iris-setosa 28 | 5.2,3.5,1.5,0.2,Iris-setosa 29 | 5.2,3.4,1.4,0.2,Iris-setosa 30 | 4.7,3.2,1.6,0.2,Iris-setosa 31 | 4.8,3.1,1.6,0.2,Iris-setosa 32 | 5.4,3.4,1.5,0.4,Iris-setosa 33 | 5.2,4.1,1.5,0.1,Iris-setosa 34 | 5.5,4.2,1.4,0.2,Iris-setosa 35 | 4.9,3.1,1.5,0.1,Iris-setosa 36 | 5,3.2,1.2,0.2,Iris-setosa 37 | 5.5,3.5,1.3,0.2,Iris-setosa 38 | 4.9,3.1,1.5,0.1,Iris-setosa 39 | 4.4,3,1.3,0.2,Iris-setosa 40 | 5.1,3.4,1.5,0.2,Iris-setosa 41 | 5,3.5,1.3,0.3,Iris-setosa 42 | 4.5,2.3,1.3,0.3,Iris-setosa 43 | 4.4,3.2,1.3,0.2,Iris-setosa 44 | 5,3.5,1.6,0.6,Iris-setosa 45 | 5.1,3.8,1.9,0.4,Iris-setosa 46 | 4.8,3,1.4,0.3,Iris-setosa 47 | 5.1,3.8,1.6,0.2,Iris-setosa 48 | 4.6,3.2,1.4,0.2,Iris-setosa 49 | 5.3,3.7,1.5,0.2,Iris-setosa 50 | 5,3.3,1.4,0.2,Iris-setosa 51 | 7,3.2,4.7,1.4,Iris-versicolor 52 | 6.4,3.2,4.5,1.5,Iris-versicolor 53 | 6.9,3.1,4.9,1.5,Iris-versicolor 54 | 5.5,2.3,4,1.3,Iris-versicolor 55 | 6.5,2.8,4.6,1.5,Iris-versicolor 56 | 5.7,2.8,4.5,1.3,Iris-versicolor 57 | 6.3,3.3,4.7,1.6,Iris-versicolor 58 | 4.9,2.4,3.3,1,Iris-versicolor 59 | 6.6,2.9,4.6,1.3,Iris-versicolor 60 | 5.2,2.7,3.9,1.4,Iris-versicolor 61 | 5,2,3.5,1,Iris-versicolor 62 | 5.9,3,4.2,1.5,Iris-versicolor 63 | 6,2.2,4,1,Iris-versicolor 64 | 6.1,2.9,4.7,1.4,Iris-versicolor 65 | 5.6,2.9,3.6,1.3,Iris-versicolor 66 | 6.7,3.1,4.4,1.4,Iris-versicolor 67 | 5.6,3,4.5,1.5,Iris-versicolor 68 | 5.8,2.7,4.1,1,Iris-versicolor 69 | 6.2,2.2,4.5,1.5,Iris-versicolor 70 | 5.6,2.5,3.9,1.1,Iris-versicolor 71 | 5.9,3.2,4.8,1.8,Iris-versicolor 72 | 6.1,2.8,4,1.3,Iris-versicolor 73 | 6.3,2.5,4.9,1.5,Iris-versicolor 74 | 6.1,2.8,4.7,1.2,Iris-versicolor 75 | 6.4,2.9,4.3,1.3,Iris-versicolor 76 | 6.6,3,4.4,1.4,Iris-versicolor 77 | 6.8,2.8,4.8,1.4,Iris-versicolor 78 | 6.7,3,5,1.7,Iris-versicolor 79 | 6,2.9,4.5,1.5,Iris-versicolor 80 | 5.7,2.6,3.5,1,Iris-versicolor 81 | 5.5,2.4,3.8,1.1,Iris-versicolor 82 | 5.5,2.4,3.7,1,Iris-versicolor 83 | 5.8,2.7,3.9,1.2,Iris-versicolor 84 | 6,2.7,5.1,1.6,Iris-versicolor 85 | 5.4,3,4.5,1.5,Iris-versicolor 86 | 6,3.4,4.5,1.6,Iris-versicolor 87 | 6.7,3.1,4.7,1.5,Iris-versicolor 88 | 6.3,2.3,4.4,1.3,Iris-versicolor 89 | 5.6,3,4.1,1.3,Iris-versicolor 90 | 5.5,2.5,4,1.3,Iris-versicolor 91 | 5.5,2.6,4.4,1.2,Iris-versicolor 92 | 6.1,3,4.6,1.4,Iris-versicolor 93 | 5.8,2.6,4,1.2,Iris-versicolor 94 | 5,2.3,3.3,1,Iris-versicolor 95 | 5.6,2.7,4.2,1.3,Iris-versicolor 96 | 5.7,3,4.2,1.2,Iris-versicolor 97 | 5.7,2.9,4.2,1.3,Iris-versicolor 98 | 6.2,2.9,4.3,1.3,Iris-versicolor 99 | 5.1,2.5,3,1.1,Iris-versicolor 100 | 5.7,2.8,4.1,1.3,Iris-versicolor 101 | 6.3,3.3,6,2.5,Iris-virginica 102 | 5.8,2.7,5.1,1.9,Iris-virginica 103 | 7.1,3,5.9,2.1,Iris-virginica 104 | 6.3,2.9,5.6,1.8,Iris-virginica 105 | 6.5,3,5.8,2.2,Iris-virginica 106 | 7.6,3,6.6,2.1,Iris-virginica 107 | 4.9,2.5,4.5,1.7,Iris-virginica 108 | 7.3,2.9,6.3,1.8,Iris-virginica 109 | 6.7,2.5,5.8,1.8,Iris-virginica 110 | 7.2,3.6,6.1,2.5,Iris-virginica 111 | 6.5,3.2,5.1,2,Iris-virginica 112 | 6.4,2.7,5.3,1.9,Iris-virginica 113 | 6.8,3,5.5,2.1,Iris-virginica 114 | 5.7,2.5,5,2,Iris-virginica 115 | 5.8,2.8,5.1,2.4,Iris-virginica 116 | 6.4,3.2,5.3,2.3,Iris-virginica 117 | 6.5,3,5.5,1.8,Iris-virginica 118 | 7.7,3.8,6.7,2.2,Iris-virginica 119 | 7.7,2.6,6.9,2.3,Iris-virginica 120 | 6,2.2,5,1.5,Iris-virginica 121 | 6.9,3.2,5.7,2.3,Iris-virginica 122 | 5.6,2.8,4.9,2,Iris-virginica 123 | 7.7,2.8,6.7,2,Iris-virginica 124 | 6.3,2.7,4.9,1.8,Iris-virginica 125 | 6.7,3.3,5.7,2.1,Iris-virginica 126 | 7.2,3.2,6,1.8,Iris-virginica 127 | 6.2,2.8,4.8,1.8,Iris-virginica 128 | 6.1,3,4.9,1.8,Iris-virginica 129 | 6.4,2.8,5.6,2.1,Iris-virginica 130 | 7.2,3,5.8,1.6,Iris-virginica 131 | 7.4,2.8,6.1,1.9,Iris-virginica 132 | 7.9,3.8,6.4,2,Iris-virginica 133 | 6.4,2.8,5.6,2.2,Iris-virginica 134 | 6.3,2.8,5.1,1.5,Iris-virginica 135 | 6.1,2.6,5.6,1.4,Iris-virginica 136 | 7.7,3,6.1,2.3,Iris-virginica 137 | 6.3,3.4,5.6,2.4,Iris-virginica 138 | 6.4,3.1,5.5,1.8,Iris-virginica 139 | 6,3,4.8,1.8,Iris-virginica 140 | 6.9,3.1,5.4,2.1,Iris-virginica 141 | 6.7,3.1,5.6,2.4,Iris-virginica 142 | 6.9,3.1,5.1,2.3,Iris-virginica 143 | 5.8,2.7,5.1,1.9,Iris-virginica 144 | 6.8,3.2,5.9,2.3,Iris-virginica 145 | 6.7,3.3,5.7,2.5,Iris-virginica 146 | 6.7,3,5.2,2.3,Iris-virginica 147 | 6.3,2.5,5,1.9,Iris-virginica 148 | 6.5,3,5.2,2,Iris-virginica 149 | 6.2,3.4,5.4,2.3,Iris-virginica 150 | 5.9,3,5.1,1.8,Iris-virginica 151 | -------------------------------------------------------------------------------- /鸢尾花分类/iris2.csv: -------------------------------------------------------------------------------- 1 | "","Sepal.Length","Sepal.Width","Petal.Length","Petal.Width","Species" 2 | "1",5.1,3.5,1.4,0.2,"setosa" 3 | "2",4.9,3,1.4,0.2,"setosa" 4 | "3",4.7,3.2,1.3,0.2,"setosa" 5 | "4",4.6,3.1,1.5,0.2,"setosa" 6 | "5",5,3.6,1.4,0.2,"setosa" 7 | "6",5.4,3.9,1.7,0.4,"setosa" 8 | "7",4.6,3.4,1.4,0.3,"setosa" 9 | "8",5,3.4,1.5,0.2,"setosa" 10 | "9",4.4,2.9,1.4,0.2,"setosa" 11 | "10",4.9,3.1,1.5,0.1,"setosa" 12 | "11",5.4,3.7,1.5,0.2,"setosa" 13 | "12",4.8,3.4,1.6,0.2,"setosa" 14 | "13",4.8,3,1.4,0.1,"setosa" 15 | "14",4.3,3,1.1,0.1,"setosa" 16 | "15",5.8,4,1.2,0.2,"setosa" 17 | "16",5.7,4.4,1.5,0.4,"setosa" 18 | "17",5.4,3.9,1.3,0.4,"setosa" 19 | "18",5.1,3.5,1.4,0.3,"setosa" 20 | "19",5.7,3.8,1.7,0.3,"setosa" 21 | "20",5.1,3.8,1.5,0.3,"setosa" 22 | "21",5.4,3.4,1.7,0.2,"setosa" 23 | "22",5.1,3.7,1.5,0.4,"setosa" 24 | "23",4.6,3.6,1,0.2,"setosa" 25 | "24",5.1,3.3,1.7,0.5,"setosa" 26 | "25",4.8,3.4,1.9,0.2,"setosa" 27 | "26",5,3,1.6,0.2,"setosa" 28 | "27",5,3.4,1.6,0.4,"setosa" 29 | "28",5.2,3.5,1.5,0.2,"setosa" 30 | "29",5.2,3.4,1.4,0.2,"setosa" 31 | "30",4.7,3.2,1.6,0.2,"setosa" 32 | "31",4.8,3.1,1.6,0.2,"setosa" 33 | "32",5.4,3.4,1.5,0.4,"setosa" 34 | "33",5.2,4.1,1.5,0.1,"setosa" 35 | "34",5.5,4.2,1.4,0.2,"setosa" 36 | "35",4.9,3.1,1.5,0.2,"setosa" 37 | "36",5,3.2,1.2,0.2,"setosa" 38 | "37",5.5,3.5,1.3,0.2,"setosa" 39 | "38",4.9,3.6,1.4,0.1,"setosa" 40 | "39",4.4,3,1.3,0.2,"setosa" 41 | "40",5.1,3.4,1.5,0.2,"setosa" 42 | "41",5,3.5,1.3,0.3,"setosa" 43 | "42",4.5,2.3,1.3,0.3,"setosa" 44 | "43",4.4,3.2,1.3,0.2,"setosa" 45 | "44",5,3.5,1.6,0.6,"setosa" 46 | "45",5.1,3.8,1.9,0.4,"setosa" 47 | "46",4.8,3,1.4,0.3,"setosa" 48 | "47",5.1,3.8,1.6,0.2,"setosa" 49 | "48",4.6,3.2,1.4,0.2,"setosa" 50 | "49",5.3,3.7,1.5,0.2,"setosa" 51 | "50",5,3.3,1.4,0.2,"setosa" 52 | "51",7,3.2,4.7,1.4,"versicolor" 53 | "52",6.4,3.2,4.5,1.5,"versicolor" 54 | "53",6.9,3.1,4.9,1.5,"versicolor" 55 | "54",5.5,2.3,4,1.3,"versicolor" 56 | "55",6.5,2.8,4.6,1.5,"versicolor" 57 | "56",5.7,2.8,4.5,1.3,"versicolor" 58 | "57",6.3,3.3,4.7,1.6,"versicolor" 59 | "58",4.9,2.4,3.3,1,"versicolor" 60 | "59",6.6,2.9,4.6,1.3,"versicolor" 61 | "60",5.2,2.7,3.9,1.4,"versicolor" 62 | "61",5,2,3.5,1,"versicolor" 63 | "62",5.9,3,4.2,1.5,"versicolor" 64 | "63",6,2.2,4,1,"versicolor" 65 | "64",6.1,2.9,4.7,1.4,"versicolor" 66 | "65",5.6,2.9,3.6,1.3,"versicolor" 67 | "66",6.7,3.1,4.4,1.4,"versicolor" 68 | "67",5.6,3,4.5,1.5,"versicolor" 69 | "68",5.8,2.7,4.1,1,"versicolor" 70 | "69",6.2,2.2,4.5,1.5,"versicolor" 71 | "70",5.6,2.5,3.9,1.1,"versicolor" 72 | "71",5.9,3.2,4.8,1.8,"versicolor" 73 | "72",6.1,2.8,4,1.3,"versicolor" 74 | "73",6.3,2.5,4.9,1.5,"versicolor" 75 | "74",6.1,2.8,4.7,1.2,"versicolor" 76 | "75",6.4,2.9,4.3,1.3,"versicolor" 77 | "76",6.6,3,4.4,1.4,"versicolor" 78 | "77",6.8,2.8,4.8,1.4,"versicolor" 79 | "78",6.7,3,5,1.7,"versicolor" 80 | "79",6,2.9,4.5,1.5,"versicolor" 81 | "80",5.7,2.6,3.5,1,"versicolor" 82 | "81",5.5,2.4,3.8,1.1,"versicolor" 83 | "82",5.5,2.4,3.7,1,"versicolor" 84 | "83",5.8,2.7,3.9,1.2,"versicolor" 85 | "84",6,2.7,5.1,1.6,"versicolor" 86 | "85",5.4,3,4.5,1.5,"versicolor" 87 | "86",6,3.4,4.5,1.6,"versicolor" 88 | "87",6.7,3.1,4.7,1.5,"versicolor" 89 | "88",6.3,2.3,4.4,1.3,"versicolor" 90 | "89",5.6,3,4.1,1.3,"versicolor" 91 | "90",5.5,2.5,4,1.3,"versicolor" 92 | "91",5.5,2.6,4.4,1.2,"versicolor" 93 | "92",6.1,3,4.6,1.4,"versicolor" 94 | "93",5.8,2.6,4,1.2,"versicolor" 95 | "94",5,2.3,3.3,1,"versicolor" 96 | "95",5.6,2.7,4.2,1.3,"versicolor" 97 | "96",5.7,3,4.2,1.2,"versicolor" 98 | "97",5.7,2.9,4.2,1.3,"versicolor" 99 | "98",6.2,2.9,4.3,1.3,"versicolor" 100 | "99",5.1,2.5,3,1.1,"versicolor" 101 | "100",5.7,2.8,4.1,1.3,"versicolor" 102 | "101",6.3,3.3,6,2.5,"virginica" 103 | "102",5.8,2.7,5.1,1.9,"virginica" 104 | "103",7.1,3,5.9,2.1,"virginica" 105 | "104",6.3,2.9,5.6,1.8,"virginica" 106 | "105",6.5,3,5.8,2.2,"virginica" 107 | "106",7.6,3,6.6,2.1,"virginica" 108 | "107",4.9,2.5,4.5,1.7,"virginica" 109 | "108",7.3,2.9,6.3,1.8,"virginica" 110 | "109",6.7,2.5,5.8,1.8,"virginica" 111 | "110",7.2,3.6,6.1,2.5,"virginica" 112 | "111",6.5,3.2,5.1,2,"virginica" 113 | "112",6.4,2.7,5.3,1.9,"virginica" 114 | "113",6.8,3,5.5,2.1,"virginica" 115 | "114",5.7,2.5,5,2,"virginica" 116 | "115",5.8,2.8,5.1,2.4,"virginica" 117 | "116",6.4,3.2,5.3,2.3,"virginica" 118 | "117",6.5,3,5.5,1.8,"virginica" 119 | "118",7.7,3.8,6.7,2.2,"virginica" 120 | "119",7.7,2.6,6.9,2.3,"virginica" 121 | "120",6,2.2,5,1.5,"virginica" 122 | "121",6.9,3.2,5.7,2.3,"virginica" 123 | "122",5.6,2.8,4.9,2,"virginica" 124 | "123",7.7,2.8,6.7,2,"virginica" 125 | "124",6.3,2.7,4.9,1.8,"virginica" 126 | "125",6.7,3.3,5.7,2.1,"virginica" 127 | "126",7.2,3.2,6,1.8,"virginica" 128 | "127",6.2,2.8,4.8,1.8,"virginica" 129 | "128",6.1,3,4.9,1.8,"virginica" 130 | "129",6.4,2.8,5.6,2.1,"virginica" 131 | "130",7.2,3,5.8,1.6,"virginica" 132 | "131",7.4,2.8,6.1,1.9,"virginica" 133 | "132",7.9,3.8,6.4,2,"virginica" 134 | "133",6.4,2.8,5.6,2.2,"virginica" 135 | "134",6.3,2.8,5.1,1.5,"virginica" 136 | "135",6.1,2.6,5.6,1.4,"virginica" 137 | "136",7.7,3,6.1,2.3,"virginica" 138 | "137",6.3,3.4,5.6,2.4,"virginica" 139 | "138",6.4,3.1,5.5,1.8,"virginica" 140 | "139",6,3,4.8,1.8,"virginica" 141 | "140",6.9,3.1,5.4,2.1,"virginica" 142 | "141",6.7,3.1,5.6,2.4,"virginica" 143 | "142",6.9,3.1,5.1,2.3,"virginica" 144 | "143",5.8,2.7,5.1,1.9,"virginica" 145 | "144",6.8,3.2,5.9,2.3,"virginica" 146 | "145",6.7,3.3,5.7,2.5,"virginica" 147 | "146",6.7,3,5.2,2.3,"virginica" 148 | "147",6.3,2.5,5,1.9,"virginica" 149 | "148",6.5,3,5.2,2,"virginica" 150 | "149",6.2,3.4,5.4,2.3,"virginica" 151 | "150",5.9,3,5.1,1.8,"virginica" 152 | -------------------------------------------------------------------------------- /鸢尾花分类/鸢尾花分类.py: -------------------------------------------------------------------------------- 1 | # -*- coding: utf-8 -*- 2 | """ 3 | Created on Fri Jul 19 21:29:25 2019 4 | 5 | @author: Leo 6 | """ 7 | 8 | #鸢尾花分类 9 | import numpy as np 10 | import pandas as pd 11 | from keras.models import Sequential 12 | from keras.layers import Dense 13 | from keras.wrappers.scikit_learn import KerasClassifier 14 | from keras.utils import np_utils 15 | from sklearn.model_selection import cross_val_score 16 | from sklearn.model_selection import KFold #将数据集分成K个小数据集(每次选一个作为测试集) 17 | from sklearn.preprocessing import LabelEncoder #将数据集中文本转为数字 18 | from keras.models import model_from_json #保存模型 19 | 20 | # reproducibility 可重复性 21 | seed = 13 22 | np.random.seed(seed) 23 | 24 | # load data 25 | df = pd.read_csv('iris.csv') 26 | X = df.values[:,0:4].astype(float) 27 | Y = df.values[:,4] 28 | 29 | encoder = LabelEncoder() 30 | Y_encoded = encoder.fit_transform(Y) 31 | Y_onehot = np_utils.to_categorical(Y_encoded) 32 | 33 | # define a network 34 | def baseline_model(): 35 | model = Sequential() 36 | model.add(Dense(7,input_dim=4,activation='tanh')) 37 | model.add(Dense(3,activation='softmax')) 38 | model.compile(loss='mean_squared_error',optimizer='sgd',metrics=['accuracy']) 39 | return model 40 | 41 | estimator = KerasClassifier(build_fn=baseline_model,epochs=20,batch_size=1,verbose=1) 42 | 43 | # evaluate 44 | kfold = KFold(n_splits=10,shuffle=True,random_state=seed) #十次交叉验证 45 | result = cross_val_score(estimator,X,Y_onehot,cv=kfold) 46 | print('Accuracy of cross validation, mean %.2f, std %.2f' % (result.mean(),result.std())) 47 | 48 | # save model 49 | estimator.fit(X,Y_onehot) 50 | model_json = estimator.model.to_json() 51 | with open("model.json","w") as json_file: 52 | json_file.write(model_json) 53 | 54 | estimator.model.save_weights('model.h5') 55 | print('saved model to disk') 56 | 57 | # load model and use it for prediction 58 | json_file = open('model.json','r') 59 | loaded_model_json = json_file.read() 60 | json_file.close() 61 | 62 | loaded_model = model_from_json(loaded_model_json) 63 | loaded_model.load_weights('model.h5') 64 | print('loaded model from disk') 65 | 66 | predicted = loaded_model.predict(X) 67 | print('predicted probability:'+str(predicted)) 68 | 69 | predicted_label = loaded_model.predict_classes(X) 70 | print('predicted label:'+str(predicted_label)) 71 | 72 | --------------------------------------------------------------------------------