@ -0,0 +1,4 @@
|
||||
8.1 8.5
|
||||
7.2 8.0
|
||||
9.0 8.0
|
||||
8.5 9.5
|
||||
|
После Ширина: | Высота: | Размер: 94 KiB |
|
После Ширина: | Высота: | Размер: 105 KiB |
|
После Ширина: | Высота: | Размер: 20 KiB |
|
После Ширина: | Высота: | Размер: 21 KiB |
|
После Ширина: | Высота: | Размер: 33 KiB |
|
После Ширина: | Высота: | Размер: 34 KiB |
|
После Ширина: | Высота: | Размер: 55 KiB |
|
После Ширина: | Высота: | Размер: 64 KiB |
|
После Ширина: | Высота: | Размер: 73 KiB |
|
После Ширина: | Высота: | Размер: 31 KiB |
|
После Ширина: | Высота: | Размер: 40 KiB |
|
После Ширина: | Высота: | Размер: 102 KiB |
|
После Ширина: | Высота: | Размер: 57 KiB |
|
После Ширина: | Высота: | Размер: 84 KiB |
@ -0,0 +1,109 @@
|
||||
2.165463900000000053e-01 -6.546517800000000165e-01 -2.036404900000000073e-01 2.034008599999999944e+00 2.385968699999999831e+00 -6.140064399999999728e-02 3.200971200000000128e+00 -1.112015200000000092e+00 5.159934400000000032e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 2.015500100000000128e+00 -1.439841399999999938e+00 1.964730400000000099e+00 2.786245700000000158e-01 3.865805400000000169e+00 -3.606048100000000201e+00 -1.658481099999999930e+00 -2.044421400000000055e+00 4.987466999999999651e+00 -4.932939700000000260e-01
|
||||
2.165463900000000053e-01 -5.653378999999999488e-01 -2.036404900000000073e-01 2.778793499999999916e+00 2.051602599999999832e+00 -6.140064399999999728e-02 4.372112699999999741e+00 -9.325388300000000408e-01 5.623183000000000042e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 2.015500100000000128e+00 -1.439841399999999938e+00 1.964730400000000099e+00 6.226310299999999742e-01 3.865805400000000169e+00 -3.906626000000000154e+00 -1.658481099999999930e+00 -2.113388699999999787e+00 6.490482000000000085e+00 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 6.965369199999999594e+00 -7.104097199999999390e-02 4.354484899999999659e-02 -6.140064399999999728e-02 5.285028299999999568e+00 -8.727133700000000438e-01 7.590724599999999489e-01 -4.204873499999999820e-01 4.874045800000000039e-02 1.433020200000000077e+00 -1.297293599999999936e+00 9.747052600000000178e-01 3.030676300000000101e+00 -4.882788900000000210e-01 -4.199225699999999950e-01 -1.850025400000000042e+00 -1.147847099999999898e+00 3.918656299999999870e+00 -4.932939700000000260e-01
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 6.834588300000000061e+00 -5.695920399999999661e-01 3.073559799999999731e-01 -6.140064399999999728e-02 4.776187700000000369e+00 -6.334115099999999554e-01 1.222321100000000049e+00 -4.204873499999999820e-01 -7.172275099999999570e-01 1.883118300000000023e+00 -1.297293599999999936e+00 1.909729000000000010e+00 2.342663400000000173e+00 9.630825400000000425e-01 -3.666163699999999803e+00 -2.169265799999999800e+00 -2.389257699999999929e+00 4.252659600000000317e+00 -2.126605500000000148e+00
|
||||
-9.474410199999999671e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 8.098599499999999951e-01 7.405433699999999786e-02 -6.140064399999999728e-02 3.586204599999999854e+00 -1.112015200000000092e+00 3.306939900000000154e+00 -4.204873499999999820e-01 1.904085100000000086e+00 1.909594599999999920e+00 -1.439841399999999938e+00 1.744724799999999965e+00 1.310643999999999920e+00 9.630825400000000425e-01 -6.002693000000000056e-01 -1.786177300000000079e+00 -1.630617900000000065e+00 3.217249300000000201e+00 -4.932939700000000260e-01
|
||||
4.912314699999999895e-03 -9.199884400000000184e-01 6.242462399999999967e+00 -3.778152200000000072e-01 4.855851999999999946e-01 -6.140064399999999728e-02 5.685267299999999580e+00 -5.735860400000000192e-01 1.453945400000000054e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.883118300000000023e+00 -1.297293599999999936e+00 1.909729000000000010e+00 1.654650399999999966e+00 2.414444000000000035e+00 -3.666163699999999803e+00 -2.743898600000000076e+00 -4.044471800000000172e+00 2.783044900000000155e+00 -2.126605500000000148e+00
|
||||
4.912314699999999895e-03 -9.199884400000000184e-01 6.078098400000000012e+00 -9.221169799999999750e-01 -2.026570700000000086e-02 -6.140064399999999728e-02 6.488522699999999865e+00 -4.539351099999999750e-01 9.906967700000000043e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 9.829221200000000103e-01 -1.297293599999999936e+00 3.968151000000000317e-02 2.786245700000000158e-01 9.630825400000000425e-01 -3.666163699999999803e+00 -2.935442800000000130e+00 -4.113439099999999904e+00 2.181838899999999803e+00 -2.126605500000000148e+00
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 7.394861299999999638e+00 -1.786230199999999935e-01 -6.446275900000000315e-03 -6.140064399999999728e-02 3.175601499999999966e+00 -1.590619000000000005e+00 1.453945400000000054e+00 -4.204873499999999820e-01 2.261536800000000014e+00 8.770166900000000432e-01 -8.340133899999999656e-01 5.346940799999999605e-01 -6.538189499999999543e-02 -4.882788900000000210e-01 -1.261540600000000012e+00 -8.284559599999999913e-01 -1.078879900000000003e+00 9.126262600000000225e-01 -4.932939700000000260e-01
|
||||
-1.009047200000000033e-01 -7.090911399999999531e-01 7.585824800000000145e+00 -4.691003599999999940e-01 4.007486699999999735e-01 -6.140064399999999728e-02 2.487126700000000135e+00 -9.325388300000000408e-01 6.432603000000000071e-01 -4.204873499999999820e-01 -1.934558299999999953e-02 9.829221200000000103e-01 -1.297293599999999936e+00 3.968151000000000317e-02 3.374682700000000146e+00 -4.882788900000000210e-01 -4.199225699999999950e-01 -1.339240699999999951e+00 -5.961090999999999474e-01 2.749644599999999883e+00 1.140017499999999906e+00
|
||||
-1.009047200000000033e-01 -9.199884400000000184e-01 6.856868600000000313e+00 -5.412246600000000241e-01 3.337194099999999941e-01 -6.140064399999999728e-02 2.316181199999999940e+00 -6.334115099999999554e-01 8.748846200000000017e-01 -4.204873499999999820e-01 -7.512705299999999919e-01 1.433020200000000077e+00 -1.297293599999999936e+00 9.747052600000000178e-01 1.998656900000000070e+00 9.630825400000000425e-01 -3.666163699999999803e+00 -2.169265799999999800e+00 -2.389257699999999929e+00 4.252659600000000317e+00 -2.126605500000000148e+00
|
||||
-2.067217600000000044e-01 -9.199884400000000184e-01 7.093301099999999693e+00 -5.184923999999999644e-01 3.548458199999999785e-01 -6.140064399999999728e-02 5.018415400000000304e+00 -9.325388300000000408e-01 8.748846200000000017e-01 -4.204873499999999820e-01 -7.041011499999999534e-02 1.644831099999999990e+00 -1.297293599999999936e+00 1.414716400000000096e+00 3.030676300000000101e+00 -4.882788900000000210e-01 -4.199225699999999950e-01 -1.722329199999999894e+00 -1.009912600000000049e+00 3.618053300000000139e+00 -4.932939700000000260e-01
|
||||
-1.009047200000000033e-01 -9.199884400000000184e-01 6.600593299999999886e+00 -1.051022399999999912e+00 -1.400649300000000042e-01 -6.140064399999999728e-02 2.494063399999999930e+00 9.818760600000000505e-01 5.274481500000000045e-01 -4.204873499999999820e-01 6.955578500000000330e-01 1.433020200000000077e+00 -1.226019699999999935e+00 1.084708100000000064e+00 2.342663400000000173e+00 -4.882788900000000210e-01 -1.193446900000000033e-01 -8.284559599999999913e-01 -3.892073400000000127e-01 1.213229300000000066e+00 -4.932939700000000260e-01
|
||||
-1.009047200000000033e-01 -9.199884400000000184e-01 7.711561900000000414e+00 -1.635871099999999911e+00 -6.835984699999999581e-01 -6.140064399999999728e-02 5.538793799999999656e+00 2.118559900000000162e+00 -1.325546300000000066e+00 -4.204873499999999820e-01 -1.044531399999999999e-01 -6.586120500000000044e-01 1.994578700000000093e-01 -1.060346400000000022e+00 -4.093883600000000067e-01 -4.882788900000000210e-01 -1.682349700000000059e+00 -5.092155200000000326e-01 -5.961090999999999474e-01 8.124252600000000379e-01 1.140017499999999906e+00
|
||||
-2.067217600000000044e-01 -9.199884400000000184e-01 7.089064900000000335e+00 -1.635871099999999911e+00 -6.835984699999999581e-01 -6.140064399999999728e-02 4.935133699999999735e+00 2.118559900000000162e+00 -1.325546300000000066e+00 -4.204873499999999820e-01 -1.384961600000000070e-01 -6.586120500000000044e-01 1.994578700000000093e-01 -1.060346400000000022e+00 -4.093883600000000067e-01 -4.882788900000000210e-01 -1.682349700000000059e+00 -6.369116900000000303e-01 -1.009912600000000049e+00 6.120232599999999579e-01 1.140017499999999906e+00
|
||||
-2.067217600000000044e-01 -9.199884400000000184e-01 7.237258899999999606e+00 -1.635871099999999911e+00 -6.835984699999999581e-01 -6.140064399999999728e-02 8.587321700000000391e+00 2.118559900000000162e+00 -1.325546300000000066e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 -1.188139199999999951e+00 5.914642100000000458e-01 -1.555358999999999936e+00 -1.097401300000000024e+00 -4.882788900000000210e-01 -1.682349700000000059e+00 -8.284559599999999913e-01 -1.147847099999999898e+00 7.761792400000000480e-02 -2.126605500000000148e+00
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 2.030279600000000073e-01 -5.706745500000000026e-01 3.063499399999999873e-01 -6.140064399999999728e-02 4.771056299999999695e+00 -9.325388300000000408e-01 8.748846200000000017e-01 -4.204873499999999820e-01 -1.725391799999999864e-01 1.883118300000000023e+00 -1.297293599999999936e+00 1.909729000000000010e+00 3.374682700000000146e+00 -4.882788900000000210e-01 -4.199225699999999950e-01 -1.658481099999999930e+00 -8.719781199999999677e-01 3.517852299999999932e+00 -4.932939700000000260e-01
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 1.867770699999999895e-01 -4.214977300000000149e-01 6.879286399999999524e-02 -6.140064399999999728e-02 5.478199199999999713e+00 -8.727133700000000438e-01 7.590724599999999489e-01 -4.204873499999999820e-01 6.576196900000000345e-02 1.433020200000000077e+00 -1.297293599999999936e+00 9.747052600000000178e-01 2.686669800000000219e+00 -4.882788900000000210e-01 -4.199225699999999950e-01 -1.850025400000000042e+00 -1.147847099999999898e+00 3.785054900000000000e+00 -4.932939700000000260e-01
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 3.201495300000000155e-01 -5.497234699999999918e-01 3.258209799999999823e-01 -6.140064399999999728e-02 4.870370699999999609e+00 -6.334115099999999554e-01 1.106508899999999906e+00 -4.204873499999999820e-01 -7.853135500000000269e-01 1.883118300000000023e+00 -1.297293599999999936e+00 1.909729000000000010e+00 2.342663400000000173e+00 9.630825400000000425e-01 -3.666163699999999803e+00 -2.233113900000000207e+00 -3.492733799999999889e+00 4.119058299999999839e+00 -2.126605500000000148e+00
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 3.852575100000000252e-01 -3.333030000000000159e-01 5.269529699999999650e-01 -6.140064399999999728e-02 5.896268599999999971e+00 -5.137605800000000222e-01 1.338133199999999912e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.221209299999999942e+00 -1.297293599999999936e+00 5.346940799999999605e-01 1.310643999999999920e+00 2.414444000000000035e+00 -3.666163699999999803e+00 -2.680050500000000113e+00 -3.975504599999999833e+00 2.916646300000000025e+00 -2.126605500000000148e+00
|
||||
4.912314699999999895e-03 -9.199884400000000184e-01 -2.036404900000000073e-01 6.278152299999999464e-01 -6.835984699999999581e-01 1.585204200000000085e+01 1.510130500000000042e+00 -7.530624399999999996e-01 -1.674247799999999953e-01 -4.204873499999999820e-01 9.168374900000000327e-01 4.533949700000000083e-01 -1.083471999999999991e+00 -7.303380499999999609e-01 -1.097401300000000024e+00 9.630825400000000425e-01 -2.223389899999999919e+00 -1.083848300000000098e+00 -8.030108700000000432e-01 1.714234299999999989e+00 1.140017499999999906e+00
|
||||
4.912314699999999895e-03 -9.199884400000000184e-01 -2.036404900000000073e-01 1.259323799999999993e+00 -1.454642800000000014e-01 -6.140064399999999728e-02 2.466523399999999810e+00 -8.727133700000000438e-01 2.958238400000000046e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 4.269186099999999762e-01 -1.083471999999999991e+00 -7.853394399999999997e-01 -4.093883600000000067e-01 -4.882788900000000210e-01 -2.223389899999999919e+00 -1.850025400000000042e+00 -2.389257699999999929e+00 4.116212599999999888e-01 -4.932939700000000260e-01
|
||||
4.912314699999999895e-03 -9.199884400000000184e-01 -2.036404900000000073e-01 2.304856099999999852e+00 -2.258054300000000014e-01 -6.140064399999999728e-02 -2.782949499999999854e-01 -7.530624399999999996e-01 -1.674247799999999953e-01 -4.204873499999999820e-01 1.018966599999999945e+00 4.269186099999999762e-01 -1.083471999999999991e+00 -7.853394399999999997e-01 -7.533948200000000206e-01 3.865805400000000169e+00 -2.223389899999999919e+00 -1.020000199999999912e+00 -8.030108700000000432e-01 1.346830600000000100e+00 1.140017499999999906e+00
|
||||
-2.323062499999999808e+00 -1.069149800000000067e-01 -1.697457099999999941e-01 6.132577799999999746e-01 1.667926900000000101e+00 -6.140064399999999728e-02 2.387091299999999805e+00 1.400654300000000019e+00 1.917194000000000065e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.565401999999999960e+00 -1.083471999999999991e+00 1.579720599999999919e+00 1.310643999999999920e+00 -4.882788900000000210e-01 -2.704314500000000177e+00 -3.190835199999999983e+00 -2.872028499999999873e+00 7.122242600000000534e-01 -2.126605500000000148e+00
|
||||
-2.323062499999999808e+00 2.038597400000000115e-01 -2.036404900000000073e-01 1.472924799999999923e+00 1.483288600000000068e+00 -6.140064399999999728e-02 3.405861300000000202e+00 1.400654300000000019e+00 1.801381899999999980e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.565401999999999960e+00 -1.083471999999999991e+00 1.579720599999999919e+00 9.666375000000000384e-01 -4.882788900000000210e-01 -2.704314500000000177e+00 -2.935442800000000130e+00 -2.872028499999999873e+00 6.788239299999999643e-01 -2.126605500000000148e+00
|
||||
-2.323062499999999808e+00 -4.350371599999999783e-02 -1.671022699999999972e-01 7.886664300000000294e-01 1.569663599999999937e+00 -6.140064399999999728e-02 2.594963900000000212e+00 1.400654300000000019e+00 1.801381899999999980e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.565401999999999960e+00 -1.083471999999999991e+00 1.579720599999999919e+00 6.226310299999999742e-01 -4.882788900000000210e-01 -2.704314500000000177e+00 -3.126987100000000019e+00 -2.940995800000000049e+00 8.124252600000000379e-01 -2.126605500000000148e+00
|
||||
-2.323062499999999808e+00 -4.884767700000000046e-01 -1.316864000000000090e-01 -1.039045999999999914e+00 2.089721200000000056e+00 -6.140064399999999728e-02 2.550835199999999858e+00 1.400654300000000019e+00 2.033006199999999986e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.327114799999999928e+00 -9.765611499999999889e-01 1.249712200000000051e+00 6.226310299999999742e-01 9.630825400000000425e-01 -2.704314500000000177e+00 -3.510075599999999962e+00 -2.940995800000000049e+00 6.120232599999999579e-01 -2.126605500000000148e+00
|
||||
-2.323062499999999808e+00 1.281601300000000110e-01 -1.599460799999999905e-01 1.762508700000000039e-01 2.010976100000000155e+00 -6.140064399999999728e-02 1.439705299999999966e+00 1.340828799999999932e+00 2.148818299999999848e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.485972899999999930e+00 -9.765611499999999889e-01 1.579720599999999919e+00 2.786245700000000158e-01 -4.882788900000000210e-01 -2.884661200000000036e+00 -3.063139000000000056e+00 -2.734093999999999802e+00 1.280029899999999943e+00 -2.126605500000000148e+00
|
||||
-2.323062499999999808e+00 -1.101699000000000012e-01 -1.698813999999999880e-01 6.042540499999999870e-01 1.398278600000000038e+00 -6.140064399999999728e-02 2.376421300000000070e+00 1.400654300000000019e+00 1.917194000000000065e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.565401999999999960e+00 -1.083471999999999991e+00 1.579720599999999919e+00 1.310643999999999920e+00 -4.882788900000000210e-01 -2.704314500000000177e+00 -3.254683299999999946e+00 -2.872028499999999873e+00 7.122242600000000534e-01 -2.126605500000000148e+00
|
||||
-1.009047200000000033e-01 -9.199884400000000184e-01 -1.466606299999999863e-01 -6.906291300000000355e-01 1.951804700000000059e+00 -6.140064399999999728e-02 4.202435600000000271e+00 1.340828799999999932e+00 2.958238400000000046e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 -1.555612500000000120e-01 -4.420070500000000124e-01 -1.005344999999999933e+00 9.666375000000000384e-01 -4.882788900000000210e-01 -9.008471799999999696e-01 -1.083848300000000098e+00 -1.147847099999999898e+00 -1.895847400000000016e-01 -4.932939700000000260e-01
|
||||
2.165463900000000053e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 1.617520000000000069e+00 1.332110399999999917e+00 -6.140064399999999728e-02 2.292046599999999934e+00 1.161352500000000010e+00 6.419952900000000517e-02 -4.204873499999999820e-01 -7.512705299999999919e-01 -1.026085399999999981e-01 -2.638223499999999833e-01 -6.203352500000000047e-01 2.786245700000000158e-01 -4.882788900000000210e-01 6.100204299999999885e-02 -8.923040399999999650e-01 -8.719781199999999677e-01 9.794269300000000289e-01 1.140017499999999906e+00
|
||||
2.165463900000000053e-01 -4.261098400000000175e-01 -1.624636299999999978e-01 -1.635871099999999911e+00 -4.876827799999999824e-02 -6.140064399999999728e-02 6.197760999999999854e+00 1.101526999999999923e+00 6.419952900000000517e-02 -4.204873499999999820e-01 -1.398087899999999939e+00 6.916821899999999745e-01 -6.914656300000000533e-01 3.696898900000000210e-01 -6.538189499999999543e-02 9.630825400000000425e-01 -2.824545599999999990e+00 -1.786177300000000079e+00 -2.182355999999999963e+00 1.714234299999999989e+00 -2.126605500000000148e+00
|
||||
2.165463900000000053e-01 2.937676100000000123e-01 -1.699084100000000097e-01 -1.076287900000000075e+00 3.565073200000000164e-01 -6.140064399999999728e-02 5.026890100000000139e+00 1.041701500000000058e+00 6.419952900000000517e-02 -4.204873499999999820e-01 -1.398087899999999939e+00 1.035874799999999984e+00 -6.914656300000000533e-01 1.084708100000000064e+00 -6.538189499999999543e-02 -4.882788900000000210e-01 -2.824545599999999990e+00 -1.275392599999999987e+00 -1.837519700000000089e+00 4.252659600000000317e+00 -2.126605500000000148e+00
|
||||
2.165463900000000053e-01 1.454575200000000068e-01 -1.740301599999999893e-01 -1.144663900000000067e+00 6.859228299999999834e-01 -6.140064399999999728e-02 4.378644200000000097e+00 9.220505900000000032e-01 1.800116800000000072e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.035874799999999984e+00 -6.914656300000000533e-01 1.084708100000000064e+00 9.666375000000000384e-01 -4.882788900000000210e-01 -2.824545599999999990e+00 -9.561521299999999890e-01 -1.630617900000000065e+00 5.822475299999999798e+00 -2.126605500000000148e+00
|
||||
2.165463900000000053e-01 1.890722699999999867e-01 -1.805236600000000025e-01 -1.252384799999999965e+00 3.855892300000000050e-01 -6.140064399999999728e-02 5.175225900000000046e+00 9.818760600000000505e-01 4.116359900000000072e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.168256600000000089e+00 -8.696503300000000269e-01 1.084708100000000064e+00 6.226310299999999742e-01 -4.882788900000000210e-01 -2.884661200000000036e+00 -1.339240699999999951e+00 -1.768552399999999913e+00 5.388270999999999589e+00 -2.126605500000000148e+00
|
||||
2.165463900000000053e-01 3.422228799999999654e-02 -1.771215600000000112e-01 -1.195947199999999988e+00 1.340947700000000020e-01 -6.140064399999999728e-02 5.977819399999999561e+00 1.041701500000000058e+00 4.116359900000000072e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.168256600000000089e+00 -8.696503300000000269e-01 1.084708100000000064e+00 2.786245700000000158e-01 -4.882788900000000210e-01 -2.884661200000000036e+00 -1.722329199999999894e+00 -2.044421400000000055e+00 3.584652900000000031e+00 -2.126605500000000148e+00
|
||||
2.165463900000000053e-01 -1.571955399999999947e-01 -2.036404900000000073e-01 -1.635871099999999911e+00 -6.835984699999999581e-01 -6.140064399999999728e-02 7.223380699999999877e+00 1.161352500000000010e+00 2.958238400000000046e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.062351199999999940e+00 -8.696503300000000269e-01 8.647024700000000008e-01 6.226310299999999742e-01 9.630825400000000425e-01 -2.884661200000000036e+00 -2.041569599999999873e+00 -2.389257699999999929e+00 2.248639600000000183e+00 -2.126605500000000148e+00
|
||||
2.165463900000000053e-01 -1.513992399999999905e-01 -2.036404900000000073e-01 -1.635871099999999911e+00 -6.835984699999999581e-01 -6.140064399999999728e-02 7.280384299999999698e+00 1.221177900000000038e+00 4.116359900000000072e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.062351199999999940e+00 -8.696503300000000269e-01 8.647024700000000008e-01 1.310643999999999920e+00 9.630825400000000425e-01 -2.884661200000000036e+00 -2.105417699999999837e+00 -2.458225000000000104e+00 2.081637900000000041e+00 -2.126605500000000148e+00
|
||||
2.165463900000000053e-01 5.884707200000000027e-02 -2.036404900000000073e-01 -1.635871099999999911e+00 -2.642009699999999794e-01 -6.140064399999999728e-02 6.139267499999999878e+00 1.161352500000000010e+00 5.274481500000000045e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.221209299999999942e+00 -8.696503300000000269e-01 1.194710799999999962e+00 1.654650399999999966e+00 -4.882788900000000210e-01 -2.884661200000000036e+00 -1.850025400000000042e+00 -2.113388699999999787e+00 2.950046599999999852e+00 -2.126605500000000148e+00
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -4.648681900000000145e-01 3.306762800000000002e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 8.622251300000000063e-01 1.800116800000000072e-01 -4.204873499999999820e-01 2.700200899999999904e-01 2.945368300000000272e-01 -7.627395099999999539e-01 -5.653338599999999659e-01 -6.538189499999999543e-02 9.630825400000000425e-01 -2.704314500000000177e+00 -1.658481099999999930e+00 -2.044421400000000055e+00 1.380230899999999927e+00 -4.932939700000000260e-01
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -3.897682399999999880e-01 3.562676699999999919e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 8.622251300000000063e-01 1.800116800000000072e-01 -4.204873499999999820e-01 4.912997299999999901e-01 2.415841099999999908e-01 -7.627395099999999539e-01 -6.753366499999999828e-01 -6.538189499999999543e-02 9.630825400000000425e-01 -2.704314500000000177e+00 -1.722329199999999894e+00 -2.113388699999999787e+00 1.179828899999999958e+00 -4.932939700000000260e-01
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -8.835101600000000444e-02 3.151599899999999899e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 8.622251300000000063e-01 1.800116800000000072e-01 -4.204873499999999820e-01 4.402351999999999932e-01 2.415841099999999908e-01 -7.627395099999999539e-01 -6.753366499999999828e-01 -6.538189499999999543e-02 9.630825400000000425e-01 -1.862696399999999919e+00 -1.722329199999999894e+00 -2.044421400000000055e+00 3.448205899999999824e-01 -4.932939700000000260e-01
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 8.028004199999999244e-03 2.753884000000000221e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 9.220505900000000032e-01 1.800116800000000072e-01 -4.204873499999999820e-01 1.338480099999999895e-01 2.945368300000000272e-01 -7.627395099999999539e-01 -5.653338599999999659e-01 -6.538189499999999543e-02 9.630825400000000425e-01 -3.004892299999999850e+00 -1.786177300000000079e+00 -2.182355999999999963e+00 1.814435299999999973e+00 -4.932939700000000260e-01
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 4.556897699999999662e-02 2.129187599999999847e+00 -6.140064399999999728e-02 1.315811199999999959e+00 1.041701500000000058e+00 6.419952900000000517e-02 -4.204873499999999820e-01 9.980498899999999673e-02 2.945368300000000272e-01 -7.627395099999999539e-01 -5.653338599999999659e-01 2.786245700000000158e-01 9.630825400000000425e-01 -3.004892299999999850e+00 -1.977721499999999910e+00 -2.458225000000000104e+00 1.447031600000000084e+00 -2.126605500000000148e+00
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 2.525713199999999881e-01 1.422447299999999970e+00 -6.140064399999999728e-02 1.512061799999999900e+00 1.041701500000000058e+00 6.419952900000000517e-02 -4.204873499999999820e-01 1.849125399999999864e-01 2.945368300000000272e-01 -7.627395099999999539e-01 -5.653338599999999659e-01 -6.538189499999999543e-02 9.630825400000000425e-01 -3.004892299999999850e+00 -2.041569599999999873e+00 -2.665126700000000071e+00 1.447031600000000084e+00 -2.126605500000000148e+00
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -7.916692599999999858e-02 1.727626000000000106e+00 -6.140064399999999728e-02 2.181453299999999818e+00 1.161352500000000010e+00 -1.674247799999999953e-01 -4.204873499999999820e-01 3.171894799999999681e-02 2.945368300000000272e-01 -7.627395099999999539e-01 -5.653338599999999659e-01 -4.093883600000000067e-01 9.630825400000000425e-01 -3.004892299999999850e+00 -2.296962000000000170e+00 -3.009962999999999944e+00 9.126262600000000225e-01 -2.126605500000000148e+00
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -4.252467900000000273e-02 1.167387100000000011e+00 -6.140064399999999728e-02 3.498174999999999812e+00 1.161352500000000010e+00 -3.990490899999999952e-01 -4.204873499999999820e-01 -1.934558299999999953e-02 2.945368300000000272e-01 -7.627395099999999539e-01 -5.653338599999999659e-01 -7.533948200000000206e-01 9.630825400000000425e-01 -3.004892299999999850e+00 -2.233113900000000207e+00 -2.872028499999999873e+00 7.790249299999999488e-01 -2.126605500000000148e+00
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -4.825668000000000180e-01 1.192107599999999934e+00 -6.140064399999999728e-02 2.455209299999999928e+00 1.041701500000000058e+00 -1.674247799999999953e-01 -4.204873499999999820e-01 2.019340500000000038e-01 2.415841099999999908e-01 -7.627395099999999539e-01 -6.753366499999999828e-01 6.226310299999999742e-01 9.630825400000000425e-01 -3.004892299999999850e+00 -2.041569599999999873e+00 -2.458225000000000104e+00 1.179828899999999958e+00 -4.932939700000000260e-01
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -1.234333200000000019e+00 1.555435300000000076e+00 -6.140064399999999728e-02 3.528525600000000040e+00 1.161352500000000010e+00 -3.990490899999999952e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.621550400000000003e-01 -5.845548099999999803e-01 -5.653338599999999659e-01 -4.093883600000000067e-01 -4.882788900000000210e-01 -3.004892299999999850e+00 -2.169265799999999800e+00 -2.596159500000000175e+00 6.454235900000000470e-01 -2.126605500000000148e+00
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -1.023903400000000019e+00 2.444453699999999952e+00 -6.140064399999999728e-02 2.622615500000000210e+00 1.101526999999999923e+00 -1.674247799999999953e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 2.415841099999999908e-01 -7.627395099999999539e-01 -6.753366499999999828e-01 6.226310299999999742e-01 -4.882788900000000210e-01 -1.742465200000000047e+00 -2.105417699999999837e+00 -2.458225000000000104e+00 1.778189199999999914e-01 -4.932939700000000260e-01
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -9.064873300000000356e-01 2.027834799999999937e+00 -6.140064399999999728e-02 3.179202999999999779e+00 1.161352500000000010e+00 -1.674247799999999953e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 8.272596499999999853e-02 -7.627395099999999539e-01 -1.005344999999999933e+00 1.310643999999999920e+00 -4.882788900000000210e-01 -3.004892299999999850e+00 -2.233113900000000207e+00 -2.527192200000000000e+00 5.786229299999999798e-01 -4.932939700000000260e-01
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -1.969948700000000164e-02 2.620804199999999806e+00 -6.140064399999999728e-02 2.786160300000000145e+00 1.161352500000000010e+00 2.958238400000000046e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 9.829221200000000103e-01 -9.765611499999999889e-01 5.346940799999999605e-01 1.998656900000000070e+00 9.630825400000000425e-01 -3.004892299999999850e+00 -2.616202400000000150e+00 -2.389257699999999929e+00 7.456245999999999707e-01 -2.126605500000000148e+00
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -7.801124600000000631e-02 2.212019000000000180e+00 -6.140064399999999728e-02 2.183279399999999981e+00 1.101526999999999923e+00 6.432603000000000071e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.433020200000000077e+00 -9.765611499999999889e-01 1.469717799999999963e+00 2.686669800000000219e+00 2.414444000000000035e+00 -1.742465200000000047e+00 -2.552354300000000187e+00 -2.113388699999999787e+00 5.118222599999999733e-01 -2.126605500000000148e+00
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -2.033510400000000107e-01 2.359426099999999860e+00 -6.140064399999999728e-02 1.661869199999999935e+00 1.041701500000000058e+00 5.274481500000000045e-01 -4.204873499999999820e-01 -7.342490200000000300e-01 1.433020200000000077e+00 -9.765611499999999889e-01 1.469717799999999963e+00 1.998656900000000070e+00 9.630825400000000425e-01 -1.742465200000000047e+00 -2.424658099999999816e+00 -2.182355999999999963e+00 5.452225899999999514e-01 -2.126605500000000148e+00
|
||||
-1.264892099999999964e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 2.009261999999999854e-02 2.394366100000000053e+00 -6.140064399999999728e-02 2.861610999999999905e+00 1.161352500000000010e+00 2.958238400000000046e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 9.829221200000000103e-01 -9.765611499999999889e-01 5.346940799999999605e-01 1.998656900000000070e+00 9.630825400000000425e-01 -3.004892299999999850e+00 -2.552354300000000187e+00 -2.458225000000000104e+00 7.122242600000000534e-01 -2.126605500000000148e+00
|
||||
-1.159075099999999914e+00 -9.199884400000000184e-01 -1.692480700000000005e-01 -1.065333499999999933e+00 4.088501899999999800e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 9.818760600000000505e-01 6.432603000000000071e-01 -4.204873499999999820e-01 -5.640339199999999664e-01 6.387294799999999606e-01 -1.012198099999999990e+00 -2.353254700000000088e-01 1.310643999999999920e+00 -4.882788900000000210e-01 -1.321656200000000059e+00 -2.105417699999999837e+00 -2.113388699999999787e+00 1.280029899999999943e+00 -4.932939700000000260e-01
|
||||
-1.159075099999999914e+00 -9.199884400000000184e-01 -1.836570299999999989e-01 -3.098444300000000040e-01 2.705371799999999993e+00 1.392131099999999932e+01 -2.782949499999999854e-01 1.281003399999999903e+00 7.590724599999999489e-01 -4.204873499999999820e-01 -3.087112599999999873e-01 8.240639800000000292e-01 -1.261656700000000075e+00 -2.353254700000000088e-01 9.666375000000000384e-01 -4.882788900000000210e-01 -4.147088300000000061e+00 -3.063139000000000056e+00 -3.078930300000000120e+00 2.950046599999999852e+00 -2.126605500000000148e+00
|
||||
-1.159075099999999914e+00 -9.199884400000000184e-01 -1.819506200000000073e-01 -5.564280799999999916e-01 2.994759199999999844e+00 1.511530800000000063e+01 -2.782949499999999854e-01 1.340828799999999932e+00 7.590724599999999489e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 7.446349100000000387e-01 -1.261656700000000075e+00 -4.003296700000000263e-01 -6.538189499999999543e-02 9.630825400000000425e-01 -4.147088300000000061e+00 -3.318531399999999909e+00 -3.423766500000000157e+00 2.282039900000000010e+00 -2.126605500000000148e+00
|
||||
-1.159075099999999914e+00 -9.199884400000000184e-01 -1.788082699999999914e-01 1.190056500000000010e-02 3.144823900000000005e+00 1.731405399999999872e+01 -2.782949499999999854e-01 1.281003399999999903e+00 7.590724599999999489e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 7.446349100000000387e-01 -1.261656700000000075e+00 -4.003296700000000263e-01 2.786245700000000158e-01 9.630825400000000425e-01 -4.147088300000000061e+00 -3.190835199999999983e+00 -3.216864800000000191e+00 2.582642900000000186e+00 -2.126605500000000148e+00
|
||||
-1.159075099999999914e+00 -9.199884400000000184e-01 -1.795185800000000109e-01 -4.353921499999999778e-01 2.663423900000000177e+00 1.681704500000000024e+01 -2.782949499999999854e-01 1.400654300000000019e+00 7.590724599999999489e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 7.446349100000000387e-01 -1.261656700000000075e+00 -4.003296700000000263e-01 -4.093883600000000067e-01 9.630825400000000425e-01 -4.147088300000000061e+00 -3.446227499999999999e+00 -3.768602800000000030e+00 2.081637900000000041e+00 -2.126605500000000148e+00
|
||||
-1.159075099999999914e+00 -9.199884400000000184e-01 -2.036404900000000073e-01 -2.160894999999999899e-01 2.395199100000000136e+00 1.990038699999999849e+01 -2.782949499999999854e-01 1.520305199999999912e+00 5.274481500000000045e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 7.446349100000000387e-01 -1.261656700000000075e+00 -4.003296700000000263e-01 6.226310299999999742e-01 2.414444000000000035e+00 -4.147088300000000061e+00 -3.637771799999999889e+00 -3.975504599999999833e+00 1.580632899999999896e+00 -2.126605500000000148e+00
|
||||
6.398145400000000427e-01 -9.199884400000000184e-01 -1.558342500000000075e-01 1.536369600000000002e+00 3.738620000000000054e+00 -6.140064399999999728e-02 3.481048200000000037e+00 9.220505900000000032e-01 1.338133199999999912e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 8.505403400000000058e-01 -1.261656700000000075e+00 -1.803240799999999977e-01 1.310643999999999920e+00 2.414444000000000035e+00 -1.141309499999999977e+00 -2.169265799999999800e+00 -1.354748899999999923e+00 1.981436900000000056e+00 -4.932939700000000260e-01
|
||||
6.398145400000000427e-01 -9.199884400000000184e-01 -1.662600800000000045e-01 1.464656699999999923e+00 2.774200099999999836e+00 -6.140064399999999728e-02 2.661191399999999874e+00 7.425741900000000228e-01 1.338133199999999912e+00 -4.204873499999999820e-01 -1.278937400000000002e+00 8.505403400000000058e-01 -1.261656700000000075e+00 -1.803240799999999977e-01 6.226310299999999742e-01 9.630825400000000425e-01 -5.922911000000000148e-02 -1.658481099999999930e+00 -1.009912600000000049e+00 3.350850599999999790e+00 1.140017499999999906e+00
|
||||
6.398145400000000427e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 1.620549199999999912e+00 3.553331599999999924e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 7.425741900000000228e-01 1.222321100000000049e+00 -4.204873499999999820e-01 -1.278937400000000002e+00 8.505403400000000058e-01 -1.261656700000000075e+00 -1.803240799999999977e-01 6.226310299999999742e-01 9.630825400000000425e-01 -5.922911000000000148e-02 -1.530784900000000004e+00 -9.409453800000000534e-01 3.083647899999999886e+00 1.140017499999999906e+00
|
||||
6.398145400000000427e-01 -9.199884400000000184e-01 -1.621394100000000116e-01 1.806447200000000031e+00 3.155374699999999866e+00 -6.140064399999999728e-02 2.985229200000000027e+00 8.023996599999999590e-01 1.222321100000000049e+00 -4.204873499999999820e-01 -1.193829800000000052e+00 8.505403400000000058e-01 -1.261656700000000075e+00 -1.803240799999999977e-01 1.310643999999999920e+00 9.630825400000000425e-01 -1.141309499999999977e+00 -1.913873399999999947e+00 -1.216814400000000074e+00 1.847835600000000023e+00 -4.932939700000000260e-01
|
||||
-2.067217600000000044e-01 -4.007567300000000055e-01 -2.036404900000000073e-01 3.391185999999999812e+00 3.988334599999999952e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 8.622251300000000063e-01 7.590724599999999489e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.406543799999999900e+00 -1.439841399999999938e+00 6.996982699999999555e-01 1.310643999999999920e+00 2.414444000000000035e+00 -9.008471799999999696e-01 -2.041569599999999873e+00 -1.492683399999999994e+00 1.948036600000000007e+00 -4.932939700000000260e-01
|
||||
-2.067217600000000044e-01 -4.964275599999999899e-01 -2.036404900000000073e-01 2.464927499999999938e+00 3.671953400000000034e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 9.818760600000000505e-01 6.432603000000000071e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.406543799999999900e+00 -1.439841399999999938e+00 6.996982699999999555e-01 2.786245700000000158e-01 -4.882788900000000210e-01 -9.008471799999999696e-01 -2.233113900000000207e+00 -1.492683399999999994e+00 2.449041600000000152e+00 -4.932939700000000260e-01
|
||||
-2.067217600000000044e-01 -5.508412299999999595e-01 -2.036404900000000073e-01 2.448678300000000085e+00 3.586908900000000067e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 1.041701500000000058e+00 6.432603000000000071e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.406543799999999900e+00 -1.439841399999999938e+00 6.996982699999999555e-01 9.666375000000000384e-01 -4.882788900000000210e-01 -4.567897300000000271e+00 -2.424658099999999816e+00 -1.699585200000000018e+00 8.294100000000000250e+00 -4.932939700000000260e-01
|
||||
-2.067217600000000044e-01 -5.894448599999999594e-01 -1.760816000000000048e-01 2.478711699999999851e+00 2.715440099999999912e+00 -6.140064399999999728e-02 1.888855699999999915e+00 1.041701500000000058e+00 8.748846200000000017e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 2.306740000000000013e+00 -1.439841399999999938e+00 2.569745800000000191e+00 1.654650399999999966e+00 -4.882788900000000210e-01 -4.567897300000000271e+00 -2.807746700000000040e+00 -1.630617900000000065e+00 7.659493600000000235e+00 -4.932939700000000260e-01
|
||||
-2.067217600000000044e-01 -5.285552500000000320e-01 -1.710049600000000114e-01 1.612483799999999912e+00 2.335284399999999927e+00 -6.140064399999999728e-02 2.288067700000000038e+00 1.101526999999999923e+00 9.906967700000000043e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 2.306740000000000013e+00 -1.439841399999999938e+00 2.569745800000000191e+00 2.786245700000000158e-01 -4.882788900000000210e-01 -4.567897300000000271e+00 -2.871594700000000167e+00 -1.630617900000000065e+00 7.793095000000000105e+00 -2.126605500000000148e+00
|
||||
-2.067217600000000044e-01 -4.914022499999999849e-01 -1.679073500000000108e-01 1.328023299999999907e+00 2.070918999999999954e+00 -6.140064399999999728e-02 2.531654800000000094e+00 1.161352500000000010e+00 1.106508899999999906e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 2.306740000000000013e+00 -1.439841399999999938e+00 2.569745800000000191e+00 1.310643999999999920e+00 -4.882788900000000210e-01 -4.567897300000000271e+00 -3.063139000000000056e+00 -1.699585200000000018e+00 7.425691300000000439e+00 -2.126605500000000148e+00
|
||||
-2.067217600000000044e-01 -4.318304499999999768e-01 -1.629405899999999963e-01 1.064820300000000053e+00 1.826309299999999913e+00 -6.140064399999999728e-02 2.922226799999999791e+00 1.161352500000000010e+00 1.222321100000000049e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 2.306740000000000013e+00 -1.439841399999999938e+00 2.569745800000000191e+00 9.666375000000000384e-01 -4.882788900000000210e-01 -4.567897300000000271e+00 -3.190835199999999983e+00 -1.561650699999999947e+00 7.358890599999999615e+00 -2.126605500000000148e+00
|
||||
-2.067217600000000044e-01 -9.199884400000000184e-01 -1.536818399999999862e-01 8.504289299999999718e-01 1.627063099999999984e+00 -6.140064399999999728e-02 3.650307600000000097e+00 1.281003399999999903e+00 1.106508899999999906e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 2.306740000000000013e+00 -1.439841399999999938e+00 2.569745800000000191e+00 9.666375000000000384e-01 -4.882788900000000210e-01 -4.567897300000000271e+00 -3.701619899999999852e+00 -1.975454199999999938e+00 5.655473599999999657e+00 -2.126605500000000148e+00
|
||||
8.514486100000000501e-01 -9.199884400000000184e-01 -4.196450100000000127e-02 5.097702299999999909e-01 -1.850815199999999994e-01 -6.140064399999999728e-02 4.807196900000000106e+00 1.041701500000000058e+00 1.106508899999999906e+00 -2.960067800000000249e-01 -1.347023400000000093e+00 -4.732775499999999913e-01 -1.925484699999999993e-01 -1.280351999999999935e+00 -4.093883600000000067e-01 -4.882788900000000210e-01 -2.996914099999999914e-01 -6.369116900000000303e-01 -4.581745899999999927e-01 -3.231860799999999867e-01 1.140017499999999906e+00
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -1.722676499999999944e-01 4.459118799999999827e-01 2.837618299999999927e-01 -6.140064399999999728e-02 4.655842899999999673e+00 9.220505900000000032e-01 8.748846200000000017e-01 -4.204873499999999820e-01 -5.470124100000000045e-01 8.240639800000000292e-01 -1.083471999999999991e+00 3.968151000000000317e-02 2.786245700000000158e-01 -4.882788900000000210e-01 -2.163274299999999872e+00 -1.850025400000000042e+00 -1.975454199999999938e+00 1.046227599999999924e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -1.792111100000000068e-01 3.904298299999999777e-01 4.462962999999999791e-01 -6.140064399999999728e-02 3.563814700000000002e+00 1.041701500000000058e+00 5.274481500000000045e-01 -4.204873499999999820e-01 -6.831844900000000331e-01 8.240639800000000292e-01 -1.083471999999999991e+00 3.968151000000000317e-02 -6.538189499999999543e-02 -4.882788900000000210e-01 -4.800381400000000021e-01 -1.594632999999999967e+00 -1.423716200000000098e+00 1.680833900000000103e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -1.823664700000000027e-01 1.287078000000000111e-01 3.003563000000000205e-01 -6.140064399999999728e-02 3.067558399999999796e+00 9.818760600000000505e-01 9.906967700000000043e-01 -4.204873499999999820e-01 -5.470124100000000045e-01 8.240639800000000292e-01 -1.083471999999999991e+00 3.968151000000000317e-02 -6.538189499999999543e-02 -4.882788900000000210e-01 -4.800381400000000021e-01 -1.913873399999999947e+00 -1.423716200000000098e+00 1.647433600000000053e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -1.765072199999999925e-01 1.645898199999999978e-01 1.530374700000000088e-01 -6.140064399999999728e-02 3.989067599999999825e+00 9.220505900000000032e-01 1.569757499999999917e+00 -4.204873499999999820e-01 -1.934558299999999953e-02 8.240639800000000292e-01 -1.083471999999999991e+00 3.968151000000000317e-02 2.786245700000000158e-01 -4.882788900000000210e-01 -2.163274299999999872e+00 -2.233113900000000207e+00 -2.044421400000000055e+00 8.124252600000000379e-01 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -1.794354900000000030e-01 3.718185500000000254e-01 6.274611200000000666e-02 -6.140064399999999728e-02 3.528525600000000040e+00 9.220505900000000032e-01 1.453945400000000054e+00 -4.204873499999999820e-01 -2.324072999999999851e-03 8.240639800000000292e-01 -1.083471999999999991e+00 3.968151000000000317e-02 2.786245700000000158e-01 -4.882788900000000210e-01 -1.021078300000000105e+00 -2.105417699999999837e+00 -1.699585200000000018e+00 1.079627899999999974e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -1.819951599999999892e-01 5.185819200000000295e-01 -1.617945599999999831e-02 -6.140064399999999728e-02 3.125956200000000074e+00 9.220505900000000032e-01 1.569757499999999917e+00 -4.204873499999999820e-01 -8.743162499999999893e-02 8.240639800000000292e-01 -1.083471999999999991e+00 3.968151000000000317e-02 2.786245700000000158e-01 -4.882788900000000210e-01 -1.021078300000000105e+00 -2.105417699999999837e+00 -1.768552399999999913e+00 1.079627899999999974e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -1.786018299999999892e-01 4.409670199999999873e-01 -2.975734500000000171e-01 -6.140064399999999728e-02 3.659639299999999817e+00 9.220505900000000032e-01 1.917194000000000065e+00 -4.204873499999999820e-01 2.189555599999999935e-01 8.240639800000000292e-01 -1.083471999999999991e+00 3.968151000000000317e-02 9.666375000000000384e-01 -4.882788900000000210e-01 -2.584083300000000083e+00 -2.233113900000000207e+00 -2.044421400000000055e+00 1.213229300000000066e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 7.019600499999999466e-01 -2.490622999999999865e-01 -6.140064399999999728e-02 4.154513399999999912e+00 9.220505900000000032e-01 2.033006199999999986e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 8.240639800000000292e-01 -1.083471999999999991e+00 3.968151000000000317e-02 6.226310299999999742e-01 -4.882788900000000210e-01 -2.584083300000000083e+00 -2.488506199999999779e+00 -2.389257699999999929e+00 7.122242600000000534e-01 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 1.892891099999999938e+00 4.517521499999999773e-02 -6.140064399999999728e-02 3.438903100000000101e+00 9.220505900000000032e-01 1.801381899999999980e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 8.240639800000000292e-01 -1.083471999999999991e+00 3.968151000000000317e-02 2.786245700000000158e-01 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.296962000000000170e+00 -2.182355999999999963e+00 1.981436900000000056e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 2.550347599999999826e+00 -3.299172300000000058e-01 -6.140064399999999728e-02 3.329692699999999839e+00 9.220505900000000032e-01 1.801381899999999980e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 6.122531199999999840e-01 -1.154745799999999933e+00 -5.103324599999999878e-01 -6.538189499999999543e-02 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.360809999999999853e+00 -2.182355999999999963e+00 1.948036600000000007e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 1.877137700000000020e+00 4.046818699999999991e-01 -6.140064399999999728e-02 1.572006699999999979e+00 9.220505900000000032e-01 2.148818299999999848e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.886314000000000046e-01 -1.154745799999999933e+00 -1.390354799999999891e+00 -7.533948200000000206e-01 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.360809999999999853e+00 -1.768552399999999913e+00 1.814435299999999973e+00 1.140017499999999906e+00
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 1.951201100000000022e+00 4.276256600000000185e-01 -6.140064399999999728e-02 2.555671400000000038e+00 9.220505900000000032e-01 1.801381899999999980e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 7.975876200000000527e-01 -1.154745799999999933e+00 -1.253226799999999919e-01 2.786245700000000158e-01 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.424658099999999816e+00 -2.320290500000000034e+00 2.315440300000000118e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 1.813760199999999934e+00 3.028448200000000146e-01 -6.140064399999999728e-02 3.495309699999999964e+00 9.818760600000000505e-01 1.569757499999999917e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 8.240639800000000292e-01 -1.190382800000000074e+00 -1.253226799999999919e-01 6.226310299999999742e-01 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.360809999999999853e+00 -2.320290500000000034e+00 2.482441899999999979e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -7.384623500000000451e-01 -2.036404900000000073e-01 1.628029900000000030e+00 4.830671999999999744e-01 -6.140064399999999728e-02 3.292136499999999799e+00 9.220505900000000032e-01 1.569757499999999917e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.406543799999999900e+00 -1.190382800000000074e+00 1.084708100000000064e+00 1.310643999999999920e+00 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.233113900000000207e+00 -2.251323199999999858e+00 2.482441899999999979e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -7.555763100000000287e-01 -2.036404900000000073e-01 1.547713799999999917e+00 3.730759799999999737e-01 -6.140064399999999728e-02 4.033461299999999916e+00 9.818760600000000505e-01 1.338133199999999912e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.538925600000000005e+00 -1.368567499999999937e+00 1.084708100000000064e+00 9.666375000000000384e-01 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.360809999999999853e+00 -2.389257699999999929e+00 2.916646300000000025e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 -3.405394900000000002e-01 5.202276700000000309e-01 -6.140064399999999728e-02 5.861965500000000162e+00 1.101526999999999923e+00 5.274481500000000045e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 7.975876200000000527e-01 -1.012198099999999990e+00 9.468290699999999671e-02 2.786245700000000158e-01 -4.882788900000000210e-01 -3.545932500000000154e+00 -2.552354300000000187e+00 -3.078930300000000120e+00 1.781034900000000087e+00 -2.126605500000000148e+00
|
||||
1.107293500000000042e-01 -5.556284299999999510e-01 -2.036404900000000073e-01 1.387813699999999928e+00 7.214435799999999732e-01 -6.140064399999999728e-02 6.888291500000000234e+00 1.101526999999999923e+00 7.590724599999999489e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.565401999999999960e+00 -1.368567499999999937e+00 1.139709499999999931e+00 -6.538189499999999543e-02 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.488506199999999779e+00 -2.734093999999999802e+00 4.219259300000000046e+00 -2.126605500000000148e+00
|
||||
1.107293500000000042e-01 -6.574070800000000325e-01 -2.036404900000000073e-01 1.269545600000000052e+00 6.664869300000000329e-01 -6.140064399999999728e-02 4.886410099999999979e+00 1.041701500000000058e+00 8.748846200000000017e-01 -4.204873499999999820e-01 -1.398087899999999939e+00 1.565401999999999960e+00 -1.368567499999999937e+00 1.139709499999999931e+00 2.786245700000000158e-01 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.105417699999999837e+00 -1.975454199999999938e+00 3.117048299999999994e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -7.004868300000000048e-01 -2.036404900000000073e-01 2.007249100000000119e+00 7.271353000000000399e-01 -6.140064399999999728e-02 2.599952099999999877e+00 9.818760600000000505e-01 1.453945400000000054e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.538925600000000005e+00 -1.368567499999999937e+00 1.084708100000000064e+00 2.786245700000000158e-01 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.360809999999999853e+00 -1.837519700000000089e+00 2.749644599999999883e+00 -4.932939700000000260e-01
|
||||
1.107293500000000042e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 1.842792999999999903e+00 3.111469399999999830e-01 -6.140064399999999728e-02 3.527069200000000126e+00 9.818760600000000505e-01 1.569757499999999917e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 6.387294799999999606e-01 -1.190382800000000074e+00 -5.103324599999999878e-01 -6.538189499999999543e-02 -4.882788900000000210e-01 -6.603848700000000127e-01 -2.424658099999999816e+00 -2.320290500000000034e+00 2.482441899999999979e+00 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 5.692962200000000195e-01 2.595423600000000164e+00 -6.140064399999999728e-02 1.812335900000000111e+00 1.221177900000000038e+00 1.338133199999999912e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 7.181585499999999511e-01 -1.439841399999999938e+00 -7.303380499999999609e-01 1.654650399999999966e+00 2.414444000000000035e+00 -1.862696399999999919e+00 -2.680050500000000113e+00 -1.630617900000000065e+00 -2.563854099999999803e-01 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -1.823449799999999899e-01 4.837624799999999947e-01 2.271247499999999864e+00 -6.140064399999999728e-02 1.396321499999999993e+00 1.221177900000000038e+00 1.569757499999999917e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 7.181585499999999511e-01 -1.439841399999999938e+00 -7.303380499999999609e-01 9.666375000000000384e-01 2.414444000000000035e+00 -1.862696399999999919e+00 -2.871594700000000167e+00 -1.699585200000000018e+00 -2.563854099999999803e-01 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -1.842095699999999892e-01 2.981724199999999936e-01 2.012528300000000048e+00 -6.140064399999999728e-02 2.777687199999999912e+00 1.221177900000000038e+00 1.569757499999999917e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 7.181585499999999511e-01 -1.439841399999999938e+00 -7.303380499999999609e-01 9.666375000000000384e-01 2.414444000000000035e+00 -1.862696399999999919e+00 -2.999290900000000093e+00 -1.699585200000000018e+00 -2.563854099999999803e-01 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -1.857890500000000111e-01 1.409597400000000000e-01 1.793368099999999909e+00 -6.140064399999999728e-02 2.529275399999999951e+00 1.221177900000000038e+00 1.685569700000000060e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 7.181585499999999511e-01 -1.439841399999999938e+00 -7.303380499999999609e-01 6.226310299999999742e-01 2.414444000000000035e+00 -1.862696399999999919e+00 -3.126987100000000019e+00 -1.768552399999999913e+00 -2.897857400000000139e-01 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -1.878364800000000001e-01 7.236910100000000234e-01 1.509278200000000014e+00 -6.140064399999999728e-02 3.450049200000000038e+00 1.221177900000000038e+00 1.917194000000000065e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 2.809790800000000033e+00 -1.439841399999999938e+00 3.614772299999999827e+00 1.998656900000000070e+00 9.630825400000000425e-01 -1.862696399999999919e+00 -3.190835199999999983e+00 -1.699585200000000018e+00 -2.229850800000000022e-01 -2.126605500000000148e+00
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -1.849998599999999882e-01 5.287414299999999567e-01 1.328100400000000070e+00 -6.140064399999999728e-02 4.119239099999999709e+00 1.281003399999999903e+00 1.685569700000000060e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 5.328240400000000543e-01 -1.439841399999999938e+00 -1.115347799999999889e+00 1.310643999999999920e+00 -4.882788900000000210e-01 -1.862696399999999919e+00 -3.063139000000000056e+00 -1.906486899999999984e+00 -3.231860799999999867e-01 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -1.843164300000000033e-01 6.081039499999999487e-01 1.103934399999999982e+00 -6.140064399999999728e-02 4.280468599999999846e+00 1.281003399999999903e+00 1.569757499999999917e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 5.328240400000000543e-01 -1.439841399999999938e+00 -1.115347799999999889e+00 6.226310299999999742e-01 -4.882788900000000210e-01 -1.862696399999999919e+00 -3.063139000000000056e+00 -1.837519700000000089e+00 -3.231860799999999867e-01 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -1.817479100000000125e-01 5.431914500000000201e-01 1.341529600000000100e+00 -6.140064399999999728e-02 3.164841700000000202e+00 1.281003399999999903e+00 2.033006199999999986e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 5.857767600000000074e-01 -1.439841399999999938e+00 -1.005344999999999933e+00 1.310643999999999920e+00 -4.882788900000000210e-01 -1.862696399999999919e+00 -3.254683299999999946e+00 -1.975454199999999938e+00 -3.565864100000000203e-01 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -1.799788099999999891e-01 7.192773000000000083e-01 1.140380500000000019e+00 -6.140064399999999728e-02 3.443074999999999886e+00 1.340828799999999932e+00 2.033006199999999986e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.621550400000000003e-01 -8.696503300000000269e-01 -1.005344999999999933e+00 9.666375000000000384e-01 -4.882788900000000210e-01 -1.862696399999999919e+00 -3.382379400000000036e+00 -2.044421400000000055e+00 -3.899867499999999931e-01 -4.932939700000000260e-01
|
||||
-3.125388000000000055e-01 -9.199884400000000184e-01 -1.810197299999999898e-01 6.156709799999999788e-01 1.060141100000000058e+00 -6.140064399999999728e-02 3.279366599999999909e+00 1.340828799999999932e+00 2.148818299999999848e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.459496600000000033e+00 -9.765611499999999889e-01 1.524719200000000052e+00 9.666375000000000384e-01 -4.882788900000000210e-01 -1.862696399999999919e+00 -3.382379400000000036e+00 -2.044421400000000055e+00 -2.229850800000000022e-01 -2.126605500000000148e+00
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 -1.805742399999999970e-01 1.042659299999999956e+00 1.094481700000000002e+00 -6.140064399999999728e-02 3.349429999999999907e+00 1.281003399999999903e+00 1.685569700000000060e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.459496600000000033e+00 -9.765611499999999889e-01 1.524719200000000052e+00 6.226310299999999742e-01 9.630825400000000425e-01 -1.982927499999999954e+00 -3.126987100000000019e+00 -1.837519700000000089e+00 -2.258307600000000054e-02 -2.126605500000000148e+00
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 -1.611781499999999923e-01 8.295637099999999542e-01 9.530231700000000306e-01 -6.140064399999999728e-02 3.060819500000000026e+00 1.221177900000000038e+00 1.338133199999999912e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.459496600000000033e+00 -9.765611499999999889e-01 1.524719200000000052e+00 6.226310299999999742e-01 -4.882788900000000210e-01 -1.982927499999999954e+00 -2.616202400000000150e+00 -1.561650699999999947e+00 2.446195899999999979e-01 -4.932939700000000260e-01
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 -1.710553999999999963e-01 7.966295399999999693e-01 8.235100100000000145e-01 -6.140064399999999728e-02 3.565299299999999949e+00 1.281003399999999903e+00 1.453945400000000054e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.459496600000000033e+00 -9.765611499999999889e-01 1.524719200000000052e+00 -6.538189499999999543e-02 -4.882788900000000210e-01 -1.862696399999999919e+00 -2.807746700000000040e+00 -1.699585200000000018e+00 1.081725700000000026e-02 -4.932939700000000260e-01
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 -1.646348499999999992e-01 9.523956000000000088e-01 1.120470300000000030e+00 -6.140064399999999728e-02 2.788995200000000008e+00 1.221177900000000038e+00 1.222321100000000049e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.459496600000000033e+00 -9.765611499999999889e-01 1.524719200000000052e+00 6.226310299999999742e-01 -4.882788900000000210e-01 -1.922811999999999966e+00 -2.488506199999999779e+00 -1.492683399999999994e+00 2.446195899999999979e-01 -4.932939700000000260e-01
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 -1.509341100000000102e-01 6.957258400000000398e-01 1.212427700000000108e+00 -6.140064399999999728e-02 2.484822299999999817e+00 1.221177900000000038e+00 1.222321100000000049e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 1.459496600000000033e+00 -9.765611499999999889e-01 1.524719200000000052e+00 2.786245700000000158e-01 -4.882788900000000210e-01 -1.321656200000000059e+00 -2.296962000000000170e+00 -1.423716200000000098e+00 1.444185900000000133e-01 -4.932939700000000260e-01
|
||||
-4.183558299999999841e-01 -9.199884400000000184e-01 -2.036404900000000073e-01 1.173281800000000041e+00 2.579785699999999959e+00 -6.140064399999999728e-02 -2.782949499999999854e-01 1.101526999999999923e+00 3.191127700000000011e+00 -4.204873499999999820e-01 -1.398087899999999939e+00 4.269186099999999762e-01 -8.696503300000000269e-01 -4.553310600000000097e-01 2.786245700000000158e-01 -4.882788900000000210e-01 -4.026857099999999967e+00 -3.829316099999999778e+00 -1.285781599999999969e+00 3.584652900000000031e+00 -4.932939700000000260e-01
|
||||
@ -0,0 +1,568 @@
|
||||
#import helpers21
|
||||
import math
|
||||
from pandas import DataFrame
|
||||
|
||||
|
||||
import matplotlib.patches as patches
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib import colors
|
||||
import sklearn
|
||||
from sklearn import preprocessing
|
||||
from sklearn.metrics import precision_score, recall_score, f1_score, confusion_matrix
|
||||
from sklearn.metrics import zero_one_loss
|
||||
from sklearn import svm
|
||||
from sklearn.datasets import make_blobs
|
||||
|
||||
from sklearn.model_selection import train_test_split
|
||||
from matplotlib import pyplot
|
||||
from pandas import DataFrame
|
||||
import numpy as np
|
||||
import matplotlib.pylab as plt
|
||||
|
||||
import tensorflow.keras
|
||||
import numpy as np
|
||||
import math
|
||||
import matplotlib.pylab as plt
|
||||
from sklearn import svm
|
||||
import numpy as np
|
||||
from pandas import DataFrame
|
||||
from sklearn.metrics import precision_score, recall_score, f1_score, confusion_matrix
|
||||
from tensorflow.keras.models import Sequential
|
||||
from tensorflow.keras.layers import Dense, Activation
|
||||
from tensorflow.keras.callbacks import Callback
|
||||
|
||||
|
||||
|
||||
visual = True
|
||||
verbose_show = False
|
||||
|
||||
|
||||
# generate 2d classification dataset
|
||||
def datagen(x_c, y_c, n_samples, n_features):
|
||||
|
||||
center = [[x_c, y_c]] if n_features == 2 else None
|
||||
X, Y = make_blobs(n_samples = n_samples, centers = center, n_features = n_features, cluster_std = 0.1)
|
||||
if n_features == 2:
|
||||
plt.figure(figsize=(12, 8))
|
||||
plt.scatter(X[:,0], X[:,1], marker='o', s=7, color = 'b', label = 'Training set')
|
||||
plt.legend(loc = 'upper left', fontsize = 12)
|
||||
plt.title('Training set')
|
||||
plt.xlabel('x')
|
||||
plt.ylabel('y')
|
||||
plt.savefig('out/train_set.png')
|
||||
plt.show()
|
||||
np.savetxt('data.txt', X)
|
||||
|
||||
return X
|
||||
|
||||
|
||||
def ire(vector1, vector2):
|
||||
x = 0
|
||||
for i in range(len(vector1)):
|
||||
x += (vector2[i] - vector1[i])**2
|
||||
# !! Round to .xx
|
||||
ire = round(math.sqrt(x), 2)
|
||||
return ire
|
||||
|
||||
def ire_array(array1, array2):
|
||||
ire_list = []
|
||||
for index in range(array1.shape[0]):
|
||||
ire_list.append(ire(array1[index], array2[index]))
|
||||
ire_array = np.array(ire_list)
|
||||
return ire_array
|
||||
|
||||
class EarlyStoppingOnValue(tensorflow.keras.callbacks.Callback):
|
||||
|
||||
def __init__(self, monitor='loss', baseline=None):
|
||||
super(tensorflow.keras.callbacks.Callback, self).__init__()
|
||||
self.baseline = baseline
|
||||
self.monitor = monitor
|
||||
|
||||
def on_epoch_end(self, epoch, logs=None):
|
||||
current_value = self.get_monitor_value(logs)
|
||||
if current_value < self.baseline:
|
||||
self.model.stop_training = True
|
||||
|
||||
def get_monitor_value(self, logs):
|
||||
monitor_value = logs.get(self.monitor)
|
||||
if monitor_value is None:
|
||||
print(
|
||||
'Early stopping conditioned on metric `%s` '
|
||||
'which is not available. Available metrics are: %s' %
|
||||
(self.monitor, ','.join(list(logs.keys()))), RuntimeWarning
|
||||
)
|
||||
return monitor_value
|
||||
|
||||
|
||||
class VerboseEveryNEpochs(Callback):
|
||||
def __init__(self, every_n_epochs=1000, verbose=1):
|
||||
super().__init__()
|
||||
self.every_n_epochs = every_n_epochs
|
||||
self.verbose = verbose
|
||||
|
||||
def on_epoch_end(self, epoch, logs=None):
|
||||
if (epoch + 1) % self.every_n_epochs == 0:
|
||||
if self.verbose:
|
||||
print(f"\nEpoch {epoch + 1}/{self.params['epochs']}")
|
||||
if logs:
|
||||
log_str = ", ".join([f"{k}: {v:.4f}" for k, v in logs.items()])
|
||||
print(f" - {log_str}")
|
||||
|
||||
|
||||
#создание и обучение модели автокодировщика
|
||||
def create_fit_save_ae(cl_train, ae_file, irefile, epohs, verbose_show, patience, **kwargs):
|
||||
verbose_every_n_epochs = kwargs.get('verbose_every_n_epochs', 1000)
|
||||
early_stopping_delta = kwargs.get('early_stopping_delta', 0.01)
|
||||
early_stopping_value = kwargs.get('early_stopping_value', 0.0001)
|
||||
|
||||
size = cl_train.shape[1]
|
||||
#ans = '2'
|
||||
ans = input('Задать архитектуру автокодировщиков или использовать архитектуру по умолчанию? (1/2): ')
|
||||
if ans == '1':
|
||||
n = int(input("Задайте количество скрытых слоёв (нечетное число) : "))
|
||||
# Ниже строки читать входные данные пользователя с помощью функции map ()
|
||||
ae_arch = list(map(int, input("Задайте архитектуру скрытых слоёв автокодировщика, например, в виде 3 1 3 : ").strip().split()))[:n]
|
||||
ae = tensorflow.keras.models.Sequential()
|
||||
|
||||
# input layer
|
||||
ae.add(tensorflow.keras.layers.Dense(size))
|
||||
ae.add(tensorflow.keras.layers.Activation('tanh'))
|
||||
|
||||
# hidden layers
|
||||
for i in range(len(ae_arch)):
|
||||
ae.add(tensorflow.keras.layers.Dense(ae_arch[i]))
|
||||
ae.add(tensorflow.keras.layers.Activation('tanh'))
|
||||
|
||||
# output layer
|
||||
ae.add(tensorflow.keras.layers.Dense(size))
|
||||
ae.add(tensorflow.keras.layers.Activation('linear'))
|
||||
else:
|
||||
ae = tensorflow.keras.models.Sequential()
|
||||
|
||||
# input layer
|
||||
ae.add(tensorflow.keras.layers.Dense(size))
|
||||
ae.add(tensorflow.keras.layers.Activation('tanh'))
|
||||
|
||||
# hidden layers
|
||||
ae.add(tensorflow.keras.layers.Dense(3))
|
||||
ae.add(tensorflow.keras.layers.Activation('tanh'))
|
||||
ae.add(tensorflow.keras.layers.Dense(2))
|
||||
ae.add(tensorflow.keras.layers.Activation('tanh'))
|
||||
ae.add(tensorflow.keras.layers.Dense(1))
|
||||
ae.add(tensorflow.keras.layers.Activation('tanh'))
|
||||
ae.add(tensorflow.keras.layers.Dense(2))
|
||||
ae.add(tensorflow.keras.layers.Activation('tanh'))
|
||||
ae.add(tensorflow.keras.layers.Dense(3))
|
||||
ae.add(tensorflow.keras.layers.Activation('tanh'))
|
||||
|
||||
# output layer
|
||||
ae.add(tensorflow.keras.layers.Dense(size))
|
||||
ae.add(tensorflow.keras.layers.Activation('linear'))
|
||||
|
||||
optimizer = tensorflow.keras.optimizers.Adam(learning_rate=0.001, beta_1=0.9, beta_2=0.999, amsgrad=False)
|
||||
ae.compile(loss='mean_squared_error', optimizer=optimizer)
|
||||
epo = epohs
|
||||
|
||||
|
||||
verbose = 1 if verbose_show else 0
|
||||
|
||||
early_stopping_callback_on_error = EarlyStoppingOnValue(monitor='loss', baseline=early_stopping_value)
|
||||
early_stopping_callback_on_improving = tensorflow.keras.callbacks.EarlyStopping(monitor='loss',
|
||||
min_delta=early_stopping_delta, patience = patience,
|
||||
verbose=verbose, mode='min',
|
||||
baseline=None,
|
||||
restore_best_weights=True)
|
||||
history_callback = tensorflow.keras.callbacks.History()
|
||||
|
||||
history_object = ae.fit(cl_train, cl_train,
|
||||
batch_size=cl_train.shape[0],
|
||||
epochs=epo,
|
||||
callbacks=[
|
||||
early_stopping_callback_on_error,
|
||||
history_callback,
|
||||
early_stopping_callback_on_improving,
|
||||
VerboseEveryNEpochs(every_n_epochs=verbose_every_n_epochs),
|
||||
],
|
||||
verbose=verbose)
|
||||
ae_trainned = ae
|
||||
ae_pred = ae_trainned.predict(cl_train)
|
||||
ae_trainned.save(ae_file)
|
||||
|
||||
IRE_array = np.round(ire_array(cl_train, ae_pred), 2)
|
||||
IREth = np.amax(IRE_array)
|
||||
with open(irefile, 'w') as file:
|
||||
file.write(str(IREth))
|
||||
print()
|
||||
print()
|
||||
|
||||
return ae_trainned, IRE_array, IREth
|
||||
|
||||
def test(y_pred, Y_test):
|
||||
y_pred[y_pred != Y_test] = -100 # find and mark classification error
|
||||
n_errors = (y_pred == -100).astype(int).sum()
|
||||
return n_errors
|
||||
|
||||
def predict_ae(nn, x_test, threshold):
|
||||
x_test_predicted = nn.predict(x_test)
|
||||
ire = ire_array(x_test, x_test_predicted)
|
||||
|
||||
predicted_labels = (ire > threshold).astype(float)
|
||||
predicted_labels = predicted_labels.reshape((predicted_labels.shape[0], 1))
|
||||
ire = np.transpose(np.array([ire]))
|
||||
return predicted_labels, ire
|
||||
|
||||
def load_ae(path_to_ae_file):
|
||||
return tensorflow.keras.models.load_model(path_to_ae_file)
|
||||
|
||||
|
||||
def square_calc(numb_square, X_train, ae, IRE_th, num, visual):
|
||||
# scan
|
||||
x_min, x_max = X_train[:, 0].min() - 2, X_train[:, 0].max() + 1
|
||||
# print(x_min, x_max)
|
||||
y_min, y_max = X_train[:, 1].min() - 1, X_train[:, 1].max() + 1
|
||||
# print(y_min, y_max)
|
||||
h_x = (x_max - x_min) / 100
|
||||
h_y = (y_max - y_min) / 100
|
||||
h_y = h_x
|
||||
#print('ШАГ x:', h_x)
|
||||
#print('ШАГ y:', h_y)
|
||||
xx, yy = np.meshgrid(np.arange(x_min, x_max, h_x), np.arange(y_min, y_max, h_y))
|
||||
X_plot = np.c_[xx.ravel(), yy.ravel()]
|
||||
|
||||
# получение ответов автоэнкодера
|
||||
Z, ire = predict_ae(ae, X_plot, IRE_th)
|
||||
# print('z')
|
||||
# print(Z)
|
||||
|
||||
X_def = np.array([0, 0], ndmin=2)
|
||||
for ind, ans in enumerate(Z):
|
||||
if ans == 0:
|
||||
# print(ans, ' kl= 1')
|
||||
# print(ind, len (svm_predicted_scan))
|
||||
X_def = np.append(X_def, [X_plot[ind]], axis=0)
|
||||
|
||||
# построение областей покрытия и границ классов
|
||||
X_def = np.delete(X_def, 0, axis=0)
|
||||
Z = Z.reshape(xx.shape)
|
||||
|
||||
if visual:
|
||||
plt.figure(figsize=(12, 6))
|
||||
# fig, ax = plt.subplots()
|
||||
plt.contourf(xx, yy, Z, cmap=plt.cm.tab10, alpha=0.5)
|
||||
plt.scatter(X_train[:, 0], X_train[:, 1], marker='o', s=7, color='b')
|
||||
plt.legend(['C1'])
|
||||
plt.xlabel('X')
|
||||
plt.ylabel('Y')
|
||||
plt.xlim(xx.min(), xx.max())
|
||||
plt.ylim(yy.min(), yy.max())
|
||||
plt.title('Autoencoder AE' + str(num) + '. Training set. Class boundary')
|
||||
plt.savefig('out/AE' + str(num) + '_train_def.png')
|
||||
plt.show()
|
||||
|
||||
h_x = (x_max - x_min) / numb_square
|
||||
h_y = (y_max - y_min) / numb_square
|
||||
h_x = abs(h_x)
|
||||
h_y = abs(h_y)
|
||||
|
||||
col_id = np.zeros(numb_square)
|
||||
col_id_ae = np.zeros(numb_square)
|
||||
|
||||
for i in range(numb_square):
|
||||
for x in X_train[:, 0]:
|
||||
if x_min + i * h_x <= x < x_min + (i + 1) * h_x:
|
||||
col_id[i] = 1
|
||||
for x in X_def[:, 0]:
|
||||
if x_min + i * h_x <= x < x_min + (i + 1) * h_x:
|
||||
col_id_ae[i] = 1
|
||||
|
||||
amount = 0
|
||||
cart = np.zeros((numb_square, numb_square))
|
||||
for_rect = np.array([0, 0], ndmin=2)
|
||||
for index, element in enumerate(col_id):
|
||||
if element == 1:
|
||||
for i in range(numb_square):
|
||||
for xy in X_train:
|
||||
if y_min + i * h_y <= xy[1] < y_min + (i + 1) * h_y and x_min + index * h_x <= xy[0] < x_min + (
|
||||
index + 1) * h_x:
|
||||
amount = amount + 1
|
||||
cart[numb_square - i - 1, index] = 1
|
||||
for_rect = np.append(for_rect, np.array([x_min + index * h_x, y_min + i * h_y], ndmin=2),
|
||||
axis=0)
|
||||
break
|
||||
|
||||
for_rect = np.delete(for_rect, 0, axis=0)
|
||||
# print('cart', cart)
|
||||
#print('amount: ', amount)
|
||||
|
||||
amount_ae = 0
|
||||
cart_ae = np.zeros((numb_square, numb_square))
|
||||
for_rect_ae = np.array([0, 0], ndmin=2)
|
||||
for index, element in enumerate(col_id_ae):
|
||||
if element == 1:
|
||||
for i in range(numb_square):
|
||||
for xy in X_def:
|
||||
if y_min + i * h_y <= xy[1] < y_min + (i + 1) * h_y and x_min + index * h_x <= xy[0] < x_min + (
|
||||
index + 1) * h_x:
|
||||
amount_ae = amount_ae + 1
|
||||
cart_ae[numb_square - i - 1, index] = 1
|
||||
for_rect_ae = np.append(for_rect_ae, np.array([x_min + index * h_x, y_min + i * h_y], ndmin=2),
|
||||
axis=0)
|
||||
break
|
||||
|
||||
for_rect_ae = np.delete(for_rect_ae, 0, axis=0)
|
||||
# print('cart_ae', cart_ae)
|
||||
print('amount: ', amount)
|
||||
print('amount_ae: ', amount_ae)
|
||||
|
||||
if visual:
|
||||
label0_ae = 'Распознанное AE' + str(num) + ' множество'
|
||||
s0_ae = 0.3
|
||||
label0 = 'Обучающее множество'
|
||||
s0 = 12
|
||||
|
||||
fig = plt.figure(figsize=(16, 7))
|
||||
ax_1 = fig.add_subplot(1, 2, 1)
|
||||
ax_2 = fig.add_subplot(1, 2, 2)
|
||||
|
||||
ax_1.grid(which='major', axis='both', linestyle='-', color='k', linewidth=0.5)
|
||||
ax_1.set_xticks(np.arange(x_min, x_max, h_x))
|
||||
ax_1.set_yticks(np.arange(y_min, y_max, h_y))
|
||||
x_lbl = np.round(np.arange(x_min, x_max, h_x), 1).tolist()
|
||||
y_lbl = np.round(np.arange(y_min, y_max, h_y), 1).tolist()
|
||||
|
||||
ax_1.set_xticklabels(x_lbl)
|
||||
ax_1.set_yticklabels(y_lbl)
|
||||
|
||||
for xy in for_rect:
|
||||
rect = patches.Rectangle((xy[0], xy[1]), h_x, h_y, linewidth=1, edgecolor='none', facecolor='royalblue',
|
||||
alpha=0.3)
|
||||
ax_1.add_patch(rect)
|
||||
|
||||
ax_1.scatter(X_train[:, 0], X_train[:, 1], marker='o', s=s0, color='indigo', label=label0)
|
||||
ax_1.legend(loc='upper left', fontsize=12)
|
||||
ax_1.set_title('Площадь обучающего множества |Xt|', fontsize=14)
|
||||
ax_1.set_xlabel('X')
|
||||
ax_1.set_ylabel('Y')
|
||||
ax_1.set_xlim(x_min, x_max)
|
||||
ax_1.set_ylim(y_min, y_max)
|
||||
|
||||
ax_2.grid(which='major', axis='both', linestyle='-', color='k', linewidth=0.5)
|
||||
ax_2.set_xticks(np.arange(x_min, x_max, h_x))
|
||||
ax_2.set_yticks(np.arange(y_min, y_max, h_y))
|
||||
ax_2.set_xticklabels(x_lbl)
|
||||
ax_2.set_yticklabels(y_lbl)
|
||||
|
||||
for xy in for_rect_ae:
|
||||
rect = patches.Rectangle((xy[0], xy[1]), h_x, h_y, linewidth=1, edgecolor='none', facecolor='coral', alpha=0.4)
|
||||
ax_2.add_patch(rect)
|
||||
|
||||
ax_2.scatter(X_def[:, 0], X_def[:, 1], marker='o', s=s0, color='b', label=label0_ae)
|
||||
ax_2.legend(loc='upper left', fontsize=12)
|
||||
ax_2.set_title('Площадь деформированного множества |Xd|', fontsize=14)
|
||||
ax_2.set_xlabel('X')
|
||||
ax_2.set_ylabel('Y')
|
||||
|
||||
ax_2.set_xlim(x_min, x_max)
|
||||
ax_2.set_ylim(y_min, y_max)
|
||||
# plt.xlim(x_min - 4*h_x ,x_max + 4*h_x)
|
||||
# plt.ylim(y_min - 4*h_y, y_max + 4*h_y)
|
||||
plt.savefig('out/XtXd_' + str(num) + '.png')
|
||||
plt.show()
|
||||
|
||||
|
||||
if visual:
|
||||
fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(22, 8))
|
||||
# n = 1
|
||||
|
||||
for ax in axes.flat:
|
||||
# ax.set(title='axes_' + str(n), xticks=[], yticks=[])
|
||||
# n += 1
|
||||
# ax.scatter(X_ov[:, 0], X_ov[:, 1], marker='o', s=s0, color='b', label=label0)
|
||||
ax.grid(which='major', axis='both', linestyle='-', color='k', linewidth=0.5)
|
||||
ax.set_xticks(np.arange(x_min, x_max, h_x))
|
||||
ax.set_yticks(np.arange(y_min, y_max, h_y)) # +0.7
|
||||
x_lbl = np.round(np.arange(x_min, x_max, h_x), 1).tolist()
|
||||
y_lbl = np.round(np.arange(y_min, y_max, h_y), 1).tolist()
|
||||
ax.set_xticklabels(x_lbl)
|
||||
ax.set_yticklabels(y_lbl)
|
||||
ax.set_xlim(x_min, x_max)
|
||||
ax.set_ylim(y_min, y_max)
|
||||
|
||||
ax.set_xlabel('X')
|
||||
ax.set_ylabel('Y')
|
||||
# ax.set_axis_label_font_size(fontsize=14)
|
||||
for xy in for_rect_ae:
|
||||
rect = patches.Rectangle((xy[0], xy[1]), h_x, h_y, linewidth=1, edgecolor='k', facecolor='coral')
|
||||
ax.add_patch(rect)
|
||||
rect = patches.Rectangle((xy[0], xy[1]), h_x, h_y, linewidth=1, edgecolor='none', facecolor='coral',
|
||||
label='Площадь множества |Xd|')
|
||||
ax.add_patch(rect)
|
||||
for xy in for_rect:
|
||||
rect = patches.Rectangle((xy[0], xy[1]), h_x, h_y, linewidth=1, edgecolor='k', facecolor='royalblue')
|
||||
ax.add_patch(rect)
|
||||
rect = patches.Rectangle((xy[0], xy[1]), h_x, h_y, linewidth=1, edgecolor='none', facecolor='royalblue',
|
||||
label='Площадь множества |Xt|')
|
||||
ax.add_patch(rect)
|
||||
|
||||
# ax.scatter(for_rect[0, 0] + 0.1, for_rect[0, 1] + 0.1, marker='o', s=s0, color='cornflowerblue', label='Объем обучающего множества, Xt')
|
||||
# ax.scatter(for_rect_ae[0,0]+ 0.1, for_rect_ae[0,1]+ 0.1, marker='o', s=s0, color='darkorange', label='Объем деформированного множества, Xd')
|
||||
ax.legend(loc='upper left', fontsize=16)
|
||||
####ax.set_ylim(-2.5, 2.9)
|
||||
# ax.set_ylim(-1.7, 2.4)#ae2
|
||||
|
||||
nn = 0
|
||||
for xy_ae in for_rect_ae:
|
||||
for xy in for_rect:
|
||||
if xy_ae[0] == xy[0] and xy_ae[1] == xy[1]:
|
||||
nn = nn + 1
|
||||
if nn == 1:
|
||||
rect1 = patches.Rectangle((xy_ae[0], xy_ae[1]), h_x, h_y, linewidth=1, edgecolor='k',
|
||||
facecolor='none', hatch='/', label='Площадь на пересечении |Xt| и |Xd|')
|
||||
axes[2].add_patch(rect1)
|
||||
else:
|
||||
rect1 = patches.Rectangle((xy_ae[0], xy_ae[1]), h_x, h_y, linewidth=1, edgecolor='k',
|
||||
facecolor='none', hatch='/')
|
||||
axes[2].add_patch(rect1)
|
||||
|
||||
# now#rect1 = patches.Rectangle((xy_ae[0]- 2*h_x, xy_ae[1]-2*h_y), h_x, h_y, linewidth=1, edgecolor='k', facecolor='none', hatch='/', label='Площадь на пересечении |Xt| и |Xd|')
|
||||
# now#axes[2].add_patch(rect1)
|
||||
axes[2].legend(loc='upper left', fontsize=16)
|
||||
# print('true')
|
||||
flag = 1
|
||||
n = 0
|
||||
for xy_ae in for_rect_ae:
|
||||
flag = 1
|
||||
for xy in for_rect:
|
||||
if xy_ae[0] == xy[0] and xy_ae[1] == xy[1]:
|
||||
# print(xy_ae[0], '!=', xy[0],' and ', xy_ae[1], '!=', xy[1])
|
||||
flag = 0
|
||||
|
||||
if flag == 1:
|
||||
n = n + 1
|
||||
if n == 1:
|
||||
rect2 = patches.Rectangle((xy_ae[0], xy_ae[1]), h_x, h_y, linewidth=1, edgecolor='k', facecolor='none',
|
||||
hatch='/', label='Площадь |Xd| за исключением |Xt| (|Xd\Xt|)')
|
||||
axes[0].add_patch(rect2)
|
||||
else:
|
||||
rect2 = patches.Rectangle((xy_ae[0], xy_ae[1]), h_x, h_y, linewidth=1, edgecolor='k', facecolor='none',
|
||||
hatch='/')
|
||||
axes[0].add_patch(rect2)
|
||||
|
||||
rect1 = patches.Rectangle((for_rect_ae[0, 0], for_rect_ae[0, 1]), h_x, h_y, linewidth=1, edgecolor='k',
|
||||
facecolor='none', label='Площадь |Xt| за исключением |Xd| (|Xt\Xd|)')
|
||||
axes[1].add_patch(rect1)
|
||||
# now#rect2 = patches.Rectangle((xy_ae[0], xy_ae[1]), h_x, h_y, linewidth=1, edgecolor='k', facecolor='none', hatch='/', label='Площадь |Xd| за исключением |Xt| (|Xd\Xt|)')
|
||||
# now#axes[0].add_patch(rect2)
|
||||
axes[0].legend(loc='upper left', fontsize=16)
|
||||
axes[1].legend(loc='upper left', fontsize=16)
|
||||
axes[0].set_title('Excess. AE' + str(num), fontsize=20)
|
||||
axes[1].set_title('Deficit. AE' + str(num), fontsize=20)
|
||||
axes[2].set_title('Coating. AE' + str(num), fontsize=20)
|
||||
plt.savefig('out/XtXd_' + str(num) + '_metrics.png')
|
||||
plt.show()
|
||||
|
||||
square_ov = amount * h_x * h_y
|
||||
square_ae = amount_ae * h_x * h_y
|
||||
|
||||
print()
|
||||
print('Оценка качества AE' + str(num))
|
||||
extra_pre_ae = square_ov / square_ae
|
||||
# print('square_ov:', square_ov)
|
||||
# print('square_ae:', square_ae)
|
||||
|
||||
Ex = cart_ae - cart
|
||||
Excess = np.sum(Ex == 1) / amount
|
||||
print('IDEAL = 0. Excess: ', Excess)
|
||||
Def = cart - cart_ae
|
||||
Deficit = np.sum(Def == 1) / amount
|
||||
print('IDEAL = 0. Deficit: ', Deficit)
|
||||
cart[cart > 0] = 5
|
||||
Coa = cart - cart_ae
|
||||
Coating = np.sum(Coa == 4) / amount
|
||||
print('IDEAL = 1. Coating: ', Coating)
|
||||
summa = Deficit + Coating
|
||||
print('summa: ', summa)
|
||||
print('IDEAL = 1. Extrapolation precision (Approx): ', extra_pre_ae)
|
||||
print()
|
||||
print()
|
||||
|
||||
with open('out/result.txt', 'w') as file:
|
||||
file.write(
|
||||
'------------Оценка качества AE' + str(num) + ' С ПОМОЩЬЮ НОВЫХ МЕТРИК------------' + '\n' + \
|
||||
'Approx = ' + str(extra_pre_ae) + '\n' + \
|
||||
'Excess = ' + str(Excess) + '\n' + \
|
||||
'Deficit = ' + str(Deficit) + '\n' + \
|
||||
'Coating = ' + str(Coating) + '\n')
|
||||
|
||||
return xx, yy, Z
|
||||
|
||||
#####2D
|
||||
def plot_xdef(X_train, xx, yy, Z):
|
||||
|
||||
plt.contourf(xx, yy, Z, cmap=plt.cm.tab10, alpha=0.5)
|
||||
plt.scatter(X_train[:, 0], X_train[:, 1], marker='o', s=7, color='b')
|
||||
plt.legend(['C1'])
|
||||
plt.xlabel('X')
|
||||
plt.ylabel('Y')
|
||||
plt.xlim(xx.min(), xx.max())
|
||||
plt.ylim(yy.min(), yy.max())
|
||||
|
||||
def plot2in1(X_train, xx, yy, Z1, Z2):
|
||||
|
||||
plt.subplot(1, 2, 1)
|
||||
plot_xdef(X_train, xx, yy, Z1)
|
||||
plt.title('Autoencoder AE1')#. Training set. Class boundary')
|
||||
|
||||
plt.subplot(1, 2, 2)
|
||||
plot_xdef(X_train, xx, yy, Z2)
|
||||
plt.title('Autoencoder AE2')#. Training set. Class boundary')
|
||||
plt.savefig('out/AE1_AE2_train_def.png')
|
||||
plt.show()
|
||||
|
||||
|
||||
def anomaly_detection_ae(predicted_labels, ire, ire_th):
|
||||
ire = np.round(ire,2)
|
||||
ire_th = np.round(ire_th, 2)
|
||||
if predicted_labels.sum() == 0:
|
||||
print("Аномалий не обнаружено")
|
||||
else:
|
||||
print()
|
||||
print('%-10s%-10s%-10s%-10s' % ('i', 'Labels', 'IRE', 'IREth'))
|
||||
for i, pred in enumerate(predicted_labels):
|
||||
print('%-10s%-10s%-10s%-10s' % (i, pred, ire[i], ire_th))
|
||||
print('Обнаружено ', predicted_labels.sum(), ' аномалий')
|
||||
|
||||
|
||||
def plot2in1_anomaly(X_train, xx, yy, Z1, Z2, anomalies):
|
||||
|
||||
plt.subplot(1, 2, 1)
|
||||
plot_xdef(X_train, xx, yy, Z1)
|
||||
plt.scatter(anomalies[:, 0], anomalies[:, 1], marker='o', s=12, color='r')
|
||||
plt.title('Autoencoder AE1')#. Training set. Class boundary')
|
||||
|
||||
plt.subplot(1, 2, 2)
|
||||
plot_xdef(X_train, xx, yy, Z2)
|
||||
plt.scatter(anomalies[:, 0], anomalies[:, 1], marker='o', s=12, color='r')
|
||||
plt.title('Autoencoder AE2')#. Training set. Class boundary')
|
||||
plt.savefig('out/AE1_AE2_train_def_anomalies.png')
|
||||
plt.show()
|
||||
|
||||
def ire_plot(title, IRE_test, IREth, ae_name):
|
||||
|
||||
x = range(1, len(IRE_test) + 1)
|
||||
IREth_array = [IREth for x in x]
|
||||
plt.figure(figsize = (16, 8))
|
||||
plt.title('IRE for ' + title + ' set. ' + ae_name, fontsize = 24)
|
||||
plt.plot(x, IRE_test, linestyle = '-', color = 'r', lw = 2, label = 'IRE')
|
||||
plt.plot(x, IREth_array, linestyle = '-', color = 'k', lw = 2, label = 'IREth')
|
||||
#plt.xlim(0, len(x))
|
||||
ymax = 1.5 * max(np.amax(IRE_test), IREth)
|
||||
plt.ylim(0, ymax)
|
||||
plt.xlabel('Vector number', fontsize = 20)
|
||||
plt.ylabel('IRE', fontsize = 20)
|
||||
plt.grid()
|
||||
plt.legend(loc = 'upper left', fontsize = 16)
|
||||
plt.gcf().savefig('out/IRE_' + title + ae_name + '.png')
|
||||
plt.show()
|
||||
|
||||
return
|
||||
|
После Ширина: | Высота: | Размер: 21 KiB |
|
После Ширина: | Высота: | Размер: 22 KiB |
@ -0,0 +1 @@
|
||||
3.64
|
||||
|
После Ширина: | Высота: | Размер: 35 KiB |
@ -0,0 +1 @@
|
||||
0.4
|
||||
|
После Ширина: | Высота: | Размер: 32 KiB |
@ -0,0 +1 @@
|
||||
3.07
|
||||
|
После Ширина: | Высота: | Размер: 42 KiB |
|
После Ширина: | Высота: | Размер: 60 KiB |
|
После Ширина: | Высота: | Размер: 57 KiB |
|
После Ширина: | Высота: | Размер: 106 KiB |
|
После Ширина: | Высота: | Размер: 86 KiB |
|
После Ширина: | Высота: | Размер: 98 KiB |
|
После Ширина: | Высота: | Размер: 110 KiB |
|
После Ширина: | Высота: | Размер: 66 KiB |
|
После Ширина: | Высота: | Размер: 77 KiB |
@ -0,0 +1,5 @@
|
||||
------------Оценка качества AE2 С ПОМОЩЬЮ НОВЫХ МЕТРИК------------
|
||||
Approx = 0.7333333333333333
|
||||
Excess = 0.36363636363636365
|
||||
Deficit = 0.0
|
||||
Coating = 1.0
|
||||
|
После Ширина: | Высота: | Размер: 45 KiB |
@ -0,0 +1,282 @@
|
||||
# Отчет по лабораторной работе №2
|
||||
Юсуфов Юнус,Романов Мирон , А-01-22
|
||||
## 1. Определили свой набор данных по таблице.
|
||||
Бригада №9 -> k = 9 mod 3 = 0 -> Cardio
|
||||
## 2. Подготовили программную среду Google Colaboratory для выполнения лабораторной работы.
|
||||
```
|
||||
import os
|
||||
os.chdir('/content/drive/MyDrive/Colab Notebooks/is_lab2/')
|
||||
```
|
||||
|
||||
```
|
||||
!wget -N http://uit.mpei.ru/git/main/is_dnn/raw/branch/main/labworks/LW2/lab02_lib.py
|
||||
!wget -N http://uit.mpei.ru/git/main/is_dnn/raw/branch/main/labworks/LW2/data/cardio_train.txt
|
||||
!wget -N http://uit.mpei.ru/git/main/is_dnn/raw/branch/main/labworks/LW2/data/cardio_test.txt
|
||||
```
|
||||
|
||||
### Задание 1.
|
||||
|
||||
## 1. В среде GoogleColab создалиновый блокнот(notebook). Импортировали необходимые для работы библиотеки и модули.
|
||||
|
||||
```
|
||||
import numpy as np
|
||||
import lab02_lib as lib
|
||||
```
|
||||
|
||||
## 2. Сгенерировали индивидуальный набор двумерных данныхв пространстве признаковс координатами центра (k, k), где k–номер бригады. Вывели полученные данные на рисунок и в консоль.
|
||||
|
||||
```
|
||||
# генерация датасета
|
||||
# data=lib.datagen(9, 9, 1000, 2)
|
||||
data = np.loadtxt('data.txt', dtype=float)
|
||||
# вывод данных и размерности
|
||||
print('Исходные данные:')
|
||||
print(data)
|
||||
print('Размерность данных:')
|
||||
print(data.shape)
|
||||
```
|
||||
>Исходные данные:
|
||||
>[[9.19152143 8.99994525]
|
||||
>[9.04581739 9.01557436]
|
||||
>[9.15556184 9.0895709 ]
|
||||
>...
|
||||
>[8.95859907 8.92197639]
|
||||
>[9.00243424 8.96375469]
|
||||
>[8.86636465 9.13183014]]
|
||||
>Размерность данных:
|
||||
>(1000, 2)
|
||||
|
||||
## 3. Создали и обучили автокодировщик AE1 простой архитектуры, выбрав небольшое количество эпох обучения. Зафиксировали значения, для будущего внесения в таблицу.
|
||||
|
||||
```
|
||||
# обучение AE1
|
||||
patience = 300
|
||||
ae1_trained, IRE1, IREth1 = lib.create_fit_save_ae(data,'out/AE1.h5','out/AE1_ire_th.txt', 1000, True, patience)
|
||||
|
||||
# Построение графика ошибки реконструкции
|
||||
lib.ire_plot('training', IRE1, IREth1, 'AE1')
|
||||
```
|
||||
* 5 Скрытых слоев
|
||||
* 5 3 1 3 5
|
||||
|
||||
## 4. Зафиксировали ошибку MSE, на которой обучение завершилось. Построили график ошибки реконструкции обучающей выборки. Зафиксировали порог ошибки реконструкции – порог обнаружения аномалий.
|
||||
|
||||

|
||||
|
||||
* MSE_stop = 5.3137
|
||||
* IREth1 = 3.6
|
||||
|
||||
## 5. Создали и обучили второй автокодировщик AE2 с усложненной архитектурой, задав большее количество эпох обучения.
|
||||
|
||||
```
|
||||
# обучение AE2
|
||||
ae2_trained, IRE2, IREth2 = lib.create_fit_save_ae(data,'out/AE2.h5','out/AE2_ire_th.txt', 3000, True, patience)
|
||||
lib.ire_plot('training', IRE2, IREth2, 'AE2')
|
||||
```
|
||||
* 7 скрытых слоев
|
||||
* 5 3 2 1 2 3 5
|
||||
|
||||
## 6. Зафиксировали ошибку MSE, на которой обучение завершилось. Построили график ошибки реконструкции обучающей выборки. Зафиксировали второй порог ошибки реконструкции – порог обнаружения аномалий.
|
||||
|
||||

|
||||
|
||||
* MSE_stop = 0.0103
|
||||
* IREth1 = 0.4
|
||||
|
||||
## 7. Рассчитали характеристики качества обучения EDCA для AE1 и AE2. Визуализировали и сравнили области пространства признаков, распознаваемые автокодировщиками AE1 и AE2. Сделали вывод о пригодности AE1 и AE2 для качественного обнаружения аномалий.
|
||||
|
||||
* AE1
|
||||
|
||||
```
|
||||
# построение областей покрытия и границ классов
|
||||
# расчет характеристик качества обучения
|
||||
numb_square = 20
|
||||
xx, yy, Z1 = lib.square_calc(numb_square, data, ae1_trained, IREth1, '1', True)
|
||||
```
|
||||
|
||||

|
||||
|
||||
* EDCA AE1
|
||||
|
||||

|
||||

|
||||
|
||||
* Оценка качества AE1
|
||||
* IDEAL = 0. Excess: 12.636363636363637
|
||||
* IDEAL = 0. Deficit: 0.0
|
||||
* IDEAL = 1. Coating: 1.0
|
||||
* summa: 1.0
|
||||
* IDEAL = 1. Extrapolation precision (Approx): 0.07333333333333332
|
||||
|
||||
* AE2
|
||||
|
||||
```
|
||||
# построение областей покрытия и границ классов
|
||||
# расчет характеристик качества обучения
|
||||
numb_square = 20
|
||||
xx, yy, Z2 = lib.square_calc(numb_square, data, ae2_trained, IREth2, '2', True)
|
||||
```
|
||||
|
||||

|
||||
|
||||
* EDCA AE2
|
||||
|
||||

|
||||

|
||||
|
||||
* Оценка качества AE2
|
||||
* IDEAL = 0. Excess: 0.36363636363636365
|
||||
* IDEAL = 0. Deficit: 0.0
|
||||
* IDEAL = 1. Coating: 1.0
|
||||
* summa: 1.0
|
||||
* IDEAL = 1. Extrapolation precision (Approx): 0.7333333333333333
|
||||
|
||||
### Сравним области пространства признаков AE1 и AE2
|
||||
|
||||
```
|
||||
# сравнение характеристик качества обучения и областей аппроксимации
|
||||
lib.plot2in1(data, xx, yy, Z1, Z2)
|
||||
```
|
||||

|
||||
|
||||
### Вывод по пункту.
|
||||
AE1 не достаточно хорошо аппроксимирует область обучающих данных, что может значительно повлиять на результаты тестов. По сравнению с AE2, AE1 плохо ограничивает нашу область признаков с "левой" стороны.
|
||||
|
||||
## 8. Изучили сохраненный набор данных и пространство признаков. Создали тестовую выборку, состоящую из 4-ёх элементов, не входящих в обучающую выборку. Элементы выбраны так, чтобы AE1 распознавал их как норму, а AE2 детектировал как аномалии.
|
||||
|
||||
```
|
||||
# загрузка тестового набора
|
||||
data_test = np.loadtxt('/content/drive/MyDrive/Colab Notebooks/is_lab2/Lab02/data_test.txt', dtype=float)
|
||||
print(data_test)
|
||||
```
|
||||
>[[8.1 8.5]
|
||||
>[7.2 8. ]
|
||||
>[9. 8. ]
|
||||
>[8.5 9.5]]
|
||||
|
||||
## 9. Применили обученные автокодировщики AE1 и AE2 к тестовым данным и вывели значения ошибки реконструкции для каждого элемента тестовой выборки относительно порога.
|
||||
|
||||
```
|
||||
# тестирование АE1
|
||||
predicted_labels1, ire1 = lib.predict_ae(ae1_trained, data_test, IREth1)
|
||||
lib.anomaly_detection_ae(predicted_labels1, ire1, IREth1)
|
||||
lib.ire_plot('test', ire1, IREth1, 'AE1')
|
||||
```
|
||||
>Аномалий не обнаружено
|
||||

|
||||
|
||||
```
|
||||
# тестирование АE2
|
||||
predicted_labels2, ire2 = lib.predict_ae(ae2_trained, data_test, IREth2)
|
||||
lib.anomaly_detection_ae(predicted_labels2, ire2, IREth2)
|
||||
lib.ire_plot('test', ire2, IREth2, 'AE1')
|
||||
```
|
||||
>i Labels IRE IREth
|
||||
>0 [1.] [1.02] 0.4
|
||||
>1 [1.] [2.05] 0.4
|
||||
>2 [1.] [1.] 0.4
|
||||
>3 [1.] [0.69] 0.4
|
||||
>Обнаружено 4.0 аномалий
|
||||

|
||||
|
||||
## 10. Визуализировали элементы обучающей и тестовой выборки в областях пространства признаков, распознаваемых автокодировщиками AE1 и AE2.
|
||||
|
||||
```
|
||||
# построение областей аппроксимации и точек тестового набора
|
||||
lib.plot2in1_anomaly(data, xx, yy, Z1, Z2, data_test)
|
||||
```
|
||||

|
||||
|
||||
## 11. Результаты исследования занесли в таблицу:
|
||||
|
||||
| |Количество скрытых слоев|Количество нейронов в скрытых слоях|Количество эпох обучения|Ошибка MSE_stop|Порог ошибки реконструкции|Значение показателя Excess|Значение показателя Approx|Количество обнаруженных аномалий|
|
||||
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|
||||
|AE1|5|5 3 1 3 5|1000|5.3137|3.6|12.636363636363637|0.07333333333333332|0|
|
||||
|AE2|7|5 3 2 1 2 3 5|3000|0.0103|0.4|0.36363636363636365|0.7333333333333333|4|
|
||||
|
||||
## 12. Сделали выводы о требованиях к:
|
||||
|
||||
* Данным обучения - необходима плотная выборка нормальных состояний без выбросов, покрывающая рабочую область (в эксперименте — 1000 точек вокруг (9, 9)), чтобы модель корректно восстанавливала типичные объекты.
|
||||
* Архитектуре кодировщика - оптимальна глубокая симметричная структура с узким горлышком (5-3-2-1-2-3-5), обеспечивающая точную реконструкцию и устойчивые границы нормы.
|
||||
* Количеству эпох обучения - требуется не менее 3000 эпох для данного набора данных; обучение в 1000 эпох оставляет высокую ошибку и не формирует надежный порог аномалий.
|
||||
* Ошибке MSE_stop, приемлемой для останова обучения - ориентир на значения порядка 0.001 или 0.01 (0.0103 для AE2); более крупные значения, как 5.3137 у AE1, свидетельствуют о недообучении.
|
||||
* Ошибке реконструкции обучающей выборки - целесообразно удерживать порог ниже 0.5 (IREth = 0.4 у AE2), тогда как порог 3.6 у AE1 приводит к пропуску аномалий.
|
||||
* Характеристикам EDCA, для качественного обнаружения аномалий в данных - требуется минимальный Excess (<1) и высокая Approx (≈0.7); такие значения достигаются AE2, тогда как AE1 с Excess = 12.6 непригоден.
|
||||
|
||||
### Задание 2.
|
||||
|
||||
## 1. Изучили описание своего набора реальных данных, что он из себя представляет.
|
||||
|
||||
## 2. Загрузили многомерную обучающую выборку реальных данных cardio_train.txt. Изучили и загрузили тестовую выборку cardio_test.txt.
|
||||
|
||||
```
|
||||
train = np.loadtxt('cardio_train.txt', dtype=float)
|
||||
test = np.loadtxt('cardio_test.txt', dtype=float)
|
||||
|
||||
print('Исходные данные:')
|
||||
print(train)
|
||||
print('Размерность данных:')
|
||||
print(train.shape)
|
||||
print('Исходные данные:')
|
||||
print(test)
|
||||
print('Размерность данных:')
|
||||
print(test.shape)
|
||||
```
|
||||
Исходные данные:
|
||||
>[[ 0.00491231 0.69319077 -0.20364049 ... 0.23149795 -0.28978574 -0.49329397]
|
||||
>[ 0.11072935 -0.07990259 -0.20364049 ... 0.09356344 -0.25638541 -0.49329397]
|
||||
>[ 0.21654639 -0.27244466 -0.20364049 ... 0.02459619 -0.25638541 1.1400175 ]
|
||||
>...
|
||||
>[ 0.85144861 -0.91998844 -0.20364049 ... 0.57633422 -0.65718941 1.1400175 ]
|
||||
>[ 0.85144861 -0.91998844 -0.20364049 ... 0.57633422 -0.62378908 -0.49329397]
|
||||
>[ 1.0630827 -0.51148142 -0.16958144 ... 0.57633422 -0.65718941 -0.49329397]]
|
||||
>Размерность данных:
|
||||
>(1654, 21)
|
||||
|
||||
## 3. Создали и обучили автокодировщик с подходящей для данных
|
||||
архитектурой. Выбрали необходимое количество эпох обучения.
|
||||
|
||||
```
|
||||
# обучение AE3
|
||||
patience = 7500
|
||||
from time import time
|
||||
start = time()
|
||||
ae3_trained, IRE3, IREth3 = lib.create_fit_save_ae(train,'out/AE3.h5','out/AE3_ire_th.txt', 120000, False, 7500, early_stopping_delta = 0.001)
|
||||
print("Время на обучение: ", time() - start)
|
||||
|
||||
# Построение графика ошибки реконструкции
|
||||
lib.ire_plot('training', IRE3, IREth3, 'AE3')
|
||||
```
|
||||
* 15 скрытых слоев
|
||||
* 21 19 17 15 13 11 9 7 9 11 13 15 17 19 21
|
||||
|
||||
## 4. Зафиксировали ошибку MSE, на которой обучение завершилось. Построили график ошибки реконструкции обучающей выборки. Зафиксировали порог ошибки реконструкции – порог обнаружения аномалий.
|
||||
|
||||

|
||||
|
||||
* MSE_stop = 0.0319
|
||||
* IREth1 = 3.07
|
||||
|
||||
## 5. Подали тестовую выборку на вход обученного автокодировщика для обнаружения аномалий. Вывели график ошибки реконструкции элементов тестовой выборки относительно порога.
|
||||
|
||||
```
|
||||
# тестирование АE3
|
||||
predicted_labels3, ire3 = lib.predict_ae(ae3_trained, test, IREth3)
|
||||
lib.anomaly_detection_ae(predicted_labels3, ire3, IREth3)
|
||||
lib.ire_plot('test', ire3, IREth3, 'AE3')
|
||||
```
|
||||
>Обнаружено 94.0 аномалий
|
||||
>Accuracy: 86.23%
|
||||

|
||||
|
||||
|Dataset name|Количество скрытых слоев|Количество нейронов в скрытых слоях|Количество эпох обучения|Ошибка MSE_stop|Порог ошибки реконструкции|% Обнаруженных аномалий|
|
||||
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|
||||
|Cardio|15|21 19 17 15 13 11 9 7 9 11 13 15 17 19 21|85000|0.0319|3.07|86.23|
|
||||
|
||||
## 6. Сделали выводы о требованиях к:
|
||||
|
||||
* Данным обучения - необходима масштабированная и очищенная выборка, охватывающая все состояния нормы; 1654 нормализованных записей cardio_train дают устойчивую оценку распределения.
|
||||
* Архитектуре кодировщика - эффективна глубокая симметричная сеть, которая сжимает 21 признаковое измерение до компактного латентного пространства и поддерживает высокую точность восстановления.
|
||||
* Количеству эпох обучения - требуется длительное обучение (100к+ эпох) с ранней остановкой; меньшая длительность не успевает снизить ошибку реконструкции до приемлемого уровня.
|
||||
* Ошибке MSE_stop, приемлемой для останова обучения - ориентир на значения порядка 0.01 (0.0319), после чего дальнейшее обучение дает минимальный прирост качества при заметном росте времени.
|
||||
* Ошибке реконструкции обучающей выборки, для качественного обнаружения аномалий в случае, когда размерность пространства признаков высока - порог около 3.0 (IREth = 3.07) позволяет выделять ~86% аномалий без чрезмерного количества ложных срабатываний; важно калибровать порог по распределению ошибок.
|
||||