├── r_train.py ├── tool.py ├── pca.py ├── r_predict.py ├── pair.py ├── baseline.py ├── README.md ├── main.py ├── y.csv └── x.csv /r_train.py: -------------------------------------------------------------------------------- 1 | from sklearn import svm 2 | from pair import pair 3 | 4 | def r_train(x,y): 5 | 6 | x2,y2=pair(x,y) 7 | svc=svm.SVC(kernel='linear').fit(x2,y2) 8 | 9 | return svc -------------------------------------------------------------------------------- /tool.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | def sort(s): 4 | r=[] 5 | for i in range(len(s)): 6 | r.append((i+1,s[i])) 7 | r.sort(key=lambda tup:tup[1],reverse=True) 8 | r=np.asarray(r) 9 | return r -------------------------------------------------------------------------------- /pca.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from sklearn.decomposition import PCA 3 | 4 | def pca(x): 5 | pca=PCA(n_components='mle',svd_solver='full') 6 | #pca=PCA(n_components=12,svd_solver='full') 7 | return pca.fit_transform(x) -------------------------------------------------------------------------------- /r_predict.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from tool import sort 3 | 4 | def r_predict(svc,x): 5 | 6 | s=[] 7 | for i in range(len(x)): 8 | t=[] 9 | for k in range(len(x)): 10 | if i!=k: 11 | t.append(x[i]-x[k]) 12 | s.append(sum(svc.predict(np.asarray(t)))) 13 | 14 | return sort(np.asarray(s)) -------------------------------------------------------------------------------- /pair.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | def pair(x, y): 4 | x2 = [] 5 | y2 = [] 6 | 7 | for i in range(len(x)): 8 | for k in range(len(x)): 9 | if i==k or y[i,0]==y[k,0] or y[i,1]!=y[k,1]: 10 | continue 11 | x2.append(x[i]-x[k]) 12 | y2.append(np.sign(y[i,0]-y[k,0])) 13 | 14 | return np.asarray(x2), np.asarray(y2) -------------------------------------------------------------------------------- /baseline.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from tool import sort 3 | from sklearn.metrics.pairwise import cosine_similarity 4 | 5 | def baseline(x,x2): 6 | s=[] 7 | for i in range(len(x)): 8 | 9 | c=0 10 | for t in x2: 11 | c+=cosine_similarity(x[i].reshape(1,-1),t.reshape(1,-1))[0,0] 12 | s.append(c) 13 | 14 | return sort(np.asarray(s,'f')) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Ranking SVM 2 | 3 | Rank each item by "pair-wise" approach 4 | 5 | ## Implementation 6 | - item x: ("x.csv") x has feature values and a grade-level y (at the same row in "y.csv") 7 | - grade-level y: ("y.csv") y consists of grade (the first) and query id (the second) 8 | - one x or one y is one row in "csv" file 9 | - ranking SVM is implemented based on "pair-wise" approach 10 | - items are compared if items are in the same query id 11 | - this is implemented by using machine learning tool "scikit-learn" 12 | - (optional) pca for reducing feature dimension 13 | - (optional) baseline method for this task: finding most simimlar items (in test data) with items of high grade (in the train data) 14 | - train/test data: please refer to "main.py" 15 | -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import csv 3 | from baseline import baseline 4 | from r_train import r_train 5 | from r_predict import r_predict 6 | from pca import pca 7 | 8 | # data 9 | train=np.arange(92) 10 | test=np.arange(88) 11 | 12 | x=[] 13 | for t in csv.reader(open('x.csv', 'r')): 14 | x.append(t) 15 | x=np.asarray(x,'f') 16 | #x=pca(x) 17 | 18 | y=[] 19 | for t in csv.reader(open('y.csv', 'r')): 20 | y.append(t) 21 | y=np.asarray(y,'d') 22 | 23 | # train 24 | rsvm=r_train(x[train],y[train]) 25 | # rank 26 | r=r_predict(rsvm,x[test]) 27 | #r=baseline(x[test],x[-4:]) 28 | 29 | import pylab as pl 30 | pl.scatter(r[:,0],r[:,1]) 31 | pl.plot([0,len(r)],[r[4,1],r[4,1]],'k--',lw=2) 32 | pl.xlabel('CANDIDATE_ID') 33 | pl.ylabel('SCORE') 34 | pl.show() 35 | -------------------------------------------------------------------------------- /y.csv: -------------------------------------------------------------------------------- 1 | 0,0 2 | 0,0 3 | 0,0 4 | 0,0 5 | 0,0 6 | 0,0 7 | 0,0 8 | 0,0 9 | 0,0 10 | 0,0 11 | 0,0 12 | 0,0 13 | 0,0 14 | 0,0 15 | 0,0 16 | 0,0 17 | 0,0 18 | 0,0 19 | 0,0 20 | 0,0 21 | 0,0 22 | 0,0 23 | 0,0 24 | 0,0 25 | 0,0 26 | 0,0 27 | 0,0 28 | 0,0 29 | 0,0 30 | 0,0 31 | 0,0 32 | 0,0 33 | 0,0 34 | 0,0 35 | 0,0 36 | 0,0 37 | 0,0 38 | 0,0 39 | 0,0 40 | 0,0 41 | 0,0 42 | 0,0 43 | 0,0 44 | 0,0 45 | 0,0 46 | 0,0 47 | 0,0 48 | 0,0 49 | 0,0 50 | 0,0 51 | 0,0 52 | 0,0 53 | 0,0 54 | 0,0 55 | 0,0 56 | 0,0 57 | 0,0 58 | 0,0 59 | 0,0 60 | 0,0 61 | 0,0 62 | 0,0 63 | 0,0 64 | 0,0 65 | 0,0 66 | 0,0 67 | 0,0 68 | 0,0 69 | 0,0 70 | 0,0 71 | 0,0 72 | 0,0 73 | 0,0 74 | 0,0 75 | 0,0 76 | 0,0 77 | 0,0 78 | 0,0 79 | 0,0 80 | 0,0 81 | 0,0 82 | 0,0 83 | 0,0 84 | 0,0 85 | 0,0 86 | 0,0 87 | 0,0 88 | 0,0 89 | 1,0 90 | 1,0 91 | 1,0 92 | 1,0 93 | -------------------------------------------------------------------------------- /x.csv: -------------------------------------------------------------------------------- 1 | 3.27586129,5.119878246,2.80679416,-2.813303748,0.005943459,3.266897091,1.093250851,2.072796321,0.706910538,-0.507238087,-0.815670895,-0.983549029,-1.806126434,-0.16845865,0.14477116,0.574236078,-0.006410175,0.400805858,0.478156795,0.562425102,0.099777028,-0.100682134,0.385238549,0.759816247,0.074244949 2 | -0.203167481,-2.239077898,-0.201983463,1.610259798,-1.043566553,-0.680730514,-0.601459143,-0.51119156,-1.052808279,0.022257845,0.188138273,-0.100649016,0.122318535,-1.181876475,1.314085762,-0.412499482,-0.064542963,-0.686821628,-1.216465659,0.641354898,0.64414842,-0.882894409,0.159792707,-0.537869056,-0.020045087 3 | -1.140389639,-1.746959073,-1.333646892,2.157376263,0.53613533,-2.174696621,0.646365473,-2.528452332,0.111705996,0.630184925,0.471854823,-0.254078636,0.248517047,-0.696385917,-0.603060669,0.336611459,-0.797047651,0.624691038,0.288688994,0.758780607,0.426630139,0.684390559,0.779207906,0.433782358,0.373294422 4 | -0.465826951,-4.80026533,-1.495226772,1.862717625,0.049835493,-0.131066085,-0.242453486,-1.285628977,-0.310918432,0.313679297,-0.826506517,0.486842991,0.411814859,-1.259809568,0.177626786,0.341728769,0.996970343,-0.192697658,0.711530522,-0.32825027,-0.339618364,-0.473100562,-0.301189496,0.011908826,-0.26364966 5 | 3.65977963,-2.994025026,0.370149122,2.443038972,-0.370663963,-0.882106243,-1.728879107,0.108660488,0.444056267,0.011870326,0.552729705,1.13119609,-1.301700923,1.680587855,0.208933791,1.102455555,-0.015875721,-1.047812863,0.135369497,-1.132772643,0.820653676,-0.19505629,0.548872767,-0.236580303,-0.10015915 6 | 3.570350498,0.733777773,-1.355631816,-2.099782831,-1.086712018,3.264128505,1.705011214,-0.84037503,-0.603626596,-0.853848171,0.804966349,-0.418011587,0.261610208,0.013792626,-0.30929849,-0.429972671,0.219056672,-0.291207973,-0.677351397,0.30216909,0.723582405,-0.394737728,-0.291422172,0.133370365,-0.105642327 7 | -0.4481237,-1.700171241,2.019731778,1.956787224,-0.963470422,-1.788420057,-0.924143894,1.272134062,0.555667904,-0.451752863,0.184512808,0.181450087,-2.270182365,0.556367186,1.987729545,0.062338965,0.259098348,1.214921252,0.094328264,-0.196771927,0.052099968,0.720366312,-0.440715389,0.736541505,-0.064038448 8 | 2.744459864,-2.8455947,0.270931192,1.988376355,-1.286981927,-0.744224526,-0.809976428,-0.327810455,-0.304637962,-0.536396032,1.165674959,-0.397737364,-1.708214613,0.430819665,0.800671806,0.185825148,-0.336259464,-0.278497423,-0.077857984,0.426032006,1.075300158,-0.191385063,-0.095974896,0.328346352,-0.078384368 9 | 5.199050146,2.213850997,0.872012876,-0.967424938,1.585457025,-2.892382306,0.876090943,-0.309591444,-2.11142979,0.646872435,-0.047391873,1.29050507,0.47557677,0.341031976,-0.909264629,-1.016424412,-0.281012124,0.083143667,0.889035889,-0.706524536,0.386223538,-0.15653286,0.037243116,0.526899487,0.200669734 10 | -0.048789759,0.020021411,0.590025961,1.069438182,-1.261398913,1.818745958,-0.960434117,-0.680064887,1.783787194,-2.102226775,1.706460382,-0.226432102,-1.563111819,-0.839138265,-1.375937178,0.147848121,1.508633885,-0.157110015,0.43987476,-0.087117028,0.029077133,-0.799228493,0.253398658,-0.662395088,0.315139348 11 | 3.390635402,-1.15943011,-0.491519153,2.179274247,1.426242388,1.243735138,1.231955106,0.152472373,1.914688592,0.430056865,0.495418105,-1.365205529,-0.145406809,-0.272326235,0.253672493,0.094346923,-0.551005477,0.635646788,0.205077912,-0.053118371,-0.390797048,0.819532789,-0.090111103,0.354567112,-0.194955407 12 | -0.958518823,-2.204263564,-0.694112466,0.602380381,-0.026758189,2.272359893,0.696815181,-0.018603589,1.994060329,0.156732603,0.651563582,-0.018862316,-0.430674426,-0.363894968,0.668042567,0.722686674,-0.717689655,0.400781856,-0.370084914,0.443025946,-0.765286078,0.217952097,0.576953496,-0.335803227,-0.630091289 13 | -5.159617332,-1.428756622,1.282395553,0.384899376,-2.819132902,-0.309012499,-0.487887974,1.587071426,0.267809005,-0.41917278,0.543373869,-0.432417494,0.171030185,-0.218187589,-0.858027577,0.062766342,0.922416746,-0.660204173,0.462459819,-0.264148451,-1.21371849,-0.879320939,-0.227704077,0.250639735,0.147085026 14 | 1.24333845,2.564781414,0.565744336,-0.119241618,-1.182862321,-0.6171914,-1.319130859,0.476304712,-0.75063045,0.764129148,-1.792192156,-1.795300127,0.581693424,-0.240751443,0.447794079,-0.175704726,-0.007678832,0.339006544,-0.504363409,-0.933401039,-0.4815311,-0.048501914,0.170907601,-0.753749994,0.020971246 15 | 1.671028952,-0.541168246,0.700986963,0.30171908,0.157663258,0.829162209,1.075451907,0.862185356,-0.662015172,-0.604822903,0.932667542,1.104836729,0.125275721,0.753050917,0.528899219,-0.513460007,-0.232226108,0.083818992,0.935520129,0.808210744,-0.821323925,-0.010874048,-0.523347232,-0.064053881,-0.157041011 16 | 1.530835126,1.556330147,0.084066903,0.46954696,-1.453471335,-0.322784508,-1.114916793,-0.936843972,-0.837394784,0.826354073,-1.049294873,-2.379779939,0.888767011,-0.992978968,-0.313926318,1.951479211,0.041669447,1.069330618,0.282355684,0.453950101,-0.221301996,-1.043979606,-0.185545512,0.472145326,-0.163022752 17 | 1.640105838,-0.353146902,0.752562972,-0.798179621,0.380991705,-1.695027607,-0.225515611,0.767069993,-1.57470479,-0.327838395,1.279858596,1.308324214,1.04669116,-0.031413553,0.251756483,0.006997958,0.19877466,1.082294272,0.344913887,1.081173467,-0.49117715,-0.957194905,-0.309983938,0.281575765,-0.210796404 18 | -0.327747305,0.450458787,0.592648073,-0.148892336,-0.958440801,0.613534355,-0.200874196,-0.527200065,-0.003320769,0.645611556,-0.536455507,-0.205296038,0.041060834,-0.277563692,-0.267191202,0.427829985,0.436572784,1.446298536,0.021350234,0.397072629,0.607124604,-0.2675279,0.799081237,-0.423066719,0.351817003 19 | -0.880029824,2.04521603,1.611891313,0.848048107,-1.906283659,-0.101935217,1.662413616,-0.638069423,-0.45171525,0.729103538,-0.200773134,0.719885093,-0.182366127,-0.125313147,0.351992855,-0.917514001,-0.499335788,-0.069604862,-0.093297792,0.309907603,0.609941954,0.123789036,-0.405603396,-0.561640492,0.096997582 20 | -2.678391851,-1.274631129,-0.240298366,-1.433350909,0.490706986,0.371456877,0.085022683,0.796100978,-1.511668192,-0.777755431,0.925555353,0.562726849,1.105560817,-0.151598221,-0.191127923,0.359291628,0.539602096,-0.580893618,-0.428619827,-0.087579143,0.300866825,0.29868666,-0.063933574,-0.03864957,0.010554337 21 | 1.452374843,-0.677442892,-1.709398424,-2.533027685,3.174225996,-1.866493297,-1.377363717,-0.212592315,0.914007955,1.003777819,2.557040482,-0.648857211,-1.162021178,-0.787903172,0.044567469,-0.588727902,1.103535938,0.65330637,-0.879962445,-0.523481162,-0.575513821,-0.094872405,-0.313387824,0.203222881,-0.18960085 22 | 0.452132487,1.044948956,2.506828142,1.398471279,0.405561593,-0.871720184,0.831653803,0.416862825,0.123208697,0.263130374,-1.042023098,0.544791628,0.203719281,-1.098291399,1.250795471,-0.29117971,1.478419665,-0.089844173,-0.904987593,0.924333911,-0.686634911,-0.722669859,-0.452184388,-0.227727699,0.830620279 23 | 0.855244193,-0.355895106,0.147677248,-1.534013668,3.172155153,-1.019619429,-0.867367315,0.940985235,0.097219971,-1.466259064,1.136521319,-0.833929957,0.268207973,0.229519226,0.911170801,0.238026465,-0.832175717,0.796513633,-0.475328123,-0.332278049,0.055693609,-0.54041869,0.016067299,-0.835172922,0.517377427 24 | 0.690029072,0.190510538,1.163005258,-0.168346521,-0.183464309,0.445046655,-1.333684341,-0.703217522,-1.443786026,-1.736734188,-1.343659555,0.708612486,-1.057472723,-0.506492359,-1.182549607,-0.600487021,-0.389230848,0.294776048,0.387899994,-0.154657805,0.391816439,0.262762689,-0.001371501,0.320276331,-0.492498141 25 | 0.135773977,-0.874447549,1.01042307,-1.030710605,1.146531334,0.009890367,-2.2624054,1.486747455,-0.415999191,-1.522534087,-0.964131975,0.263900708,-0.616799717,-1.9753693,0.381201262,0.313289735,-1.372191242,-0.970788521,0.02873049,0.579056434,-1.084465603,0.657684455,-0.118889588,0.136942668,-0.326508667 26 | -0.997322717,-0.530828098,0.898602028,-0.750429291,-1.275324118,-0.364039737,-0.124837115,1.768249034,0.050413743,-0.388838507,1.386507541,0.308087111,0.887227361,-0.044731169,0.107627813,0.582447194,0.947762579,0.495167939,0.075509077,-0.051717914,-0.393512891,0.395952132,0.311490899,-0.227067191,0.200615545 27 | -3.929859571,0.694702024,0.284475086,2.116250197,-0.815000601,0.500875668,2.026228696,0.149856175,1.349944019,2.492091671,-0.258816622,0.915178908,0.635773823,1.518366583,-0.098414087,0.56629809,-0.45955586,0.818428087,0.533089316,0.759031535,0.302667257,0.054070074,0.008655344,-0.287830668,-0.113078122 28 | 3.548148458,-3.174086162,4.707411055,0.313511444,1.370439878,-0.032486727,-0.059107141,0.090444663,1.115746754,0.296655288,-1.150842845,-0.092213757,2.558656312,-0.651009183,0.52796343,-1.282263572,-0.794965287,0.632881999,-0.690903835,-0.528561223,0.279196092,0.475140542,0.453813167,-0.735185424,-0.166917262 29 | 3.559886441,-0.115617931,-5.245872736,1.903433095,0.157356891,-1.110894513,-0.214494574,2.359403017,-0.890707577,-0.694909369,-1.195382439,-1.406446535,-0.000590904,-0.017689116,-0.32879382,0.247232973,0.946757282,0.483536532,0.636610982,1.520064303,0.303006929,0.919348043,0.179534507,-0.382412161,-0.069795722 30 | -2.051747852,-0.356231154,3.2994025,-1.065987623,-0.802631077,-1.01345731,0.615864259,0.365815977,0.205415187,-0.24909209,1.158523337,0.068528202,0.720488251,-0.269348046,-0.566638455,0.894558689,-0.385379483,0.015274352,-0.491778593,0.104044969,0.231531831,0.406540265,-0.275356934,0.360851396,0.221393848 31 | 0.263478142,1.849054701,-3.203696819,-0.107337428,-0.016519894,-1.503009199,1.003385732,0.608848172,-0.232776661,1.354658627,-0.742253772,-1.465368225,-0.365180444,1.471579831,-0.058569285,0.359405395,0.2833232,-1.192299176,-0.971336985,-0.183560761,-0.509275381,-0.287876128,-0.065496572,-0.232571347,-0.410687355 32 | -8.276404085,0.425796322,-0.270889846,-0.212916055,0.938926858,-0.999838007,-0.454631811,0.291680009,-0.054432307,0.30148518,-1.48294479,0.500461926,-0.257426607,-0.731444817,-0.547215702,-1.075034573,0.33169386,-0.058582893,0.342163612,0.770615795,0.482981012,-0.798099001,0.168384503,-0.171452265,-1.103846774 33 | 1.749634793,1.47390823,-0.439150071,1.032919587,-0.64152512,0.642720038,-0.122005868,0.641101025,-0.202601407,-1.27530876,0.162994044,-0.071981888,0.425632061,-0.730829391,0.037260241,-0.596112631,-0.172219706,-1.012170869,1.710321728,-1.05394825,-0.004817005,0.339994659,-0.208594874,-0.948843284,-0.358732349 34 | 2.096989929,0.215792557,0.512538619,0.915156387,-1.073074561,-0.34724465,-0.129620101,1.252455167,0.596978407,-1.165160738,0.178569301,-0.199291019,-0.42894429,0.198582609,-0.742222021,-2.387227575,0.404658082,0.530816194,0.109674799,-0.139975217,0.487411868,-0.237820962,0.311752235,-0.566537037,-0.365909758 35 | 4.150776802,0.20961797,0.019697358,-0.285535872,1.117871188,1.755937519,-1.143016907,-0.602435351,0.780480816,-0.195243245,-1.229755632,0.3255421,1.462210236,1.563473547,1.022124486,-1.184380672,1.973154884,-0.43998714,-0.841715983,0.514690517,0.409297168,0.658046158,-0.668936805,0.1453475,-0.518954332 36 | 2.215169924,-1.266968787,0.797732844,-0.126423154,0.538145594,2.195644732,-0.388318808,-0.550817055,0.578380121,0.887339031,-0.613742472,0.945644171,0.531561678,0.117048605,1.216536696,-0.137195752,0.276651499,-0.728963126,-0.058456275,-0.241684516,0.121257202,-0.457595354,-0.220627569,0.261490831,-0.059375704 37 | 2.929780272,1.726710314,-3.787432005,-2.473623586,-3.483528241,-3.342105853,2.211449685,-0.53681872,3.929473811,-3.190043483,-1.802983392,2.247750457,1.093822512,-0.658657729,0.966190392,0.598166175,-0.121349624,0.356325861,-0.358695365,-0.642735864,0.021703708,-0.123530544,0.070368512,0.334264733,0.092528236 38 | 2.512816384,0.310000474,-0.14066082,0.446288108,-2.563550536,-0.572924838,-0.311248257,-0.191971656,0.303653281,0.188967425,-0.241090375,0.838540706,0.205362228,0.030682879,-0.950110507,0.124197153,-0.648565366,-0.894300072,-0.397105148,0.192373547,-1.431992852,0.075964684,0.188848796,0.329994397,0.262978842 39 | 4.05430295,0.279597147,-2.247024922,-1.664695669,-1.079972677,0.795037335,-4.746154418,2.33972542,1.218344651,3.926170009,0.024869848,1.879605317,0.094680932,-0.759947249,-0.604241313,-0.254492411,-0.166190861,0.292650739,0.375877612,-0.078960246,0.531300987,0.62509709,-0.174374236,0.456674778,0.659149886 40 | -3.769864372,-0.172675337,-1.478751462,-2.585811531,-1.039318198,-0.36988657,-1.173350093,1.255430621,2.084011792,0.385696842,0.610539412,-0.243805369,-0.240838759,0.303292671,1.75275157,-0.207935383,-1.291960231,-0.03532802,0.178852398,0.288370503,0.534334983,-0.652184344,-0.141360782,-0.335702284,-0.672289441 41 | -0.914271744,0.522236946,1.138549374,0.533041538,-0.837558349,-0.3062337,0.324719454,-1.155343985,-0.439262355,-0.430586656,0.244932387,0.003687397,-0.322128616,-0.52737097,-0.329414551,-0.755470611,0.143165056,0.01813131,0.575012142,0.028872653,-0.311183255,0.973639041,-0.246738299,0.718926133,0.445622879 42 | -0.196968634,1.342670096,1.029399214,0.492044252,-1.136915852,-0.8228599,0.60391185,-0.280953566,0.219236293,0.823441219,-1.21702361,-0.228629543,-1.00527446,0.743455914,0.516148459,-0.155501678,0.136154907,-1.264299331,0.896949964,0.097500074,0.162417662,0.495346798,-0.27784671,-0.47420201,0.387479243 43 | -4.36441099,-0.846290648,1.007855638,-1.471774274,0.545591918,0.201512468,0.731749816,-0.304677327,0.990397441,-0.059706257,0.822288474,1.150108212,-0.672462333,-0.470641383,-0.333986605,0.239067555,0.106010568,0.078706971,0.371052359,-0.318544954,0.403886102,0.423129555,0.345333372,0.158887578,0.039879493 44 | 2.490342805,-1.180308385,0.215927304,-0.01318633,-0.548869702,1.182094943,1.36913554,0.084315698,-0.100536018,1.074866762,0.704413092,0.810143775,0.342908073,-0.31926114,-0.45189546,0.857156208,0.515421388,-0.253731391,-0.143380412,0.619226346,0.224181531,-0.619578051,-0.990707623,0.507553336,-0.13704958 45 | 3.033377089,-1.25019964,-0.361533615,0.244504443,-0.745262154,0.665791597,1.104544447,-1.395562242,-0.716983472,0.539789691,0.922116641,0.366014147,0.810472137,-0.552088949,-0.111438546,-0.487675253,-0.584052771,0.266368059,0.497078925,-0.552628151,-0.205518702,-0.480718852,-0.331370345,0.458631319,-0.710797528 46 | -0.052989203,-0.089025771,0.065055496,1.577380643,2.187696879,-0.716111058,0.196408014,0.927924278,0.031783258,-1.620149866,-0.657331365,-0.013937519,0.05390102,0.590452352,-1.032425441,0.374952667,-0.226641598,-0.162565283,-0.575055054,0.095720662,0.188694523,-0.114877541,-0.268464966,-0.136476115,0.283165352 47 | -1.817940528,-0.726733102,-0.02047168,1.243437698,0.967994862,-0.243734365,0.800099451,1.558504646,-0.274700549,-0.988746294,-0.530936232,0.206646732,0.591084305,0.643639194,-0.165126131,-0.100659357,0.202251309,0.341941402,0.130670702,-0.139325018,0.624390377,-0.361671428,-0.53675237,0.829892062,0.204137493 48 | -2.22476008,-0.196212578,0.49905697,-0.214219156,1.773913836,-0.61278779,0.431744703,1.519658582,0.578531345,0.824889473,-1.093270892,-0.441136707,-0.379607611,-0.861318013,-0.590001409,0.064810768,-0.518442271,-0.475013415,0.211169248,-0.895467178,0.717264457,-0.99966193,-1.086617408,0.214617916,-0.123941647 49 | 0.10740192,-0.328862744,0.701224555,1.046700915,1.756417732,0.369172903,0.158800321,1.041356361,0.470551741,-1.39424424,-0.770999087,-0.164923428,0.018596296,0.443019505,-0.997655113,1.070012689,-0.96403607,0.328609258,-0.386572732,0.105131784,0.347204153,-0.381160059,0.109079813,0.483187413,-0.103375191 50 | 1.402881652,-1.328636833,-0.739344147,0.20889542,1.515343974,-0.443848056,1.082839495,1.075040764,0.184944584,0.197160489,0.004449143,-1.453915232,0.712815796,0.336952695,-0.296480854,-0.255501877,-0.468019919,-1.352923735,0.415971275,-0.522626667,0.062463614,-0.763020808,0.25481263,0.98431097,0.516112279 51 | -0.030391517,0.158286927,1.92756069,-0.466825893,-1.140915552,-0.492246993,-1.21163868,-1.517113676,-0.293478277,0.313000197,-0.610916528,-0.31107623,-0.301349871,1.945152415,0.646945634,1.115548872,0.012630647,0.119423481,-0.040417361,-0.546074957,-0.731707222,0.452114589,-0.426324619,-0.136246482,-0.124341818 52 | -1.835278775,0.224057568,1.990809572,-1.883582271,-1.611498179,-2.251100936,-0.999385358,-0.230159606,0.034980611,0.223900797,1.184090949,-2.597626147,1.685936406,-0.304828454,0.622412218,-0.330607308,0.588596788,-1.250240272,0.391669264,0.793917046,0.353293116,0.419753459,0.785034824,0.384399378,-0.175652089 53 | -0.135855733,3.170073565,1.645132227,0.227805795,1.201325962,-1.692446549,0.738542985,-0.791923671,0.392256944,1.327134288,0.366873261,0.992594893,-1.429781588,0.423478673,0.174983511,0.500147191,-0.051649123,-0.021182629,-0.528036966,-0.098273707,-0.581059389,-0.886173991,0.054708168,-0.233328293,-0.424176696 54 | 0.915924916,-0.185941896,0.307751433,-0.611572813,-1.93237447,-0.488451583,-0.353581962,-0.397588857,-1.505889042,-0.032720532,0.917556559,-0.060436054,0.407235001,0.260379852,-0.370628151,1.071564239,0.725482683,0.46811159,-0.115252168,-0.48875458,-0.135900135,0.816940609,-0.679806806,0.058322604,-0.56641434 55 | 1.260349956,0.3845229,1.793071678,-0.899633316,-0.846494535,-1.144169787,0.522780674,-0.494065595,1.539987245,0.329415995,1.225930876,-1.628241225,0.643983833,0.95750805,-0.761265062,0.372271279,-0.299294711,-0.422461115,0.114738532,-0.081664749,0.957805407,0.12543398,0.09573317,-0.02202031,0.052469853 56 | 0.200451215,0.363135631,0.409421964,1.393944306,0.355637933,-0.11477058,-0.986306088,0.365792651,0.786769894,-0.269780656,-0.27508506,0.073268522,0.560163645,-0.138178533,-1.105093539,0.133479469,-0.211310395,0.179681767,-0.718942012,0.689038227,-0.461908299,0.496515422,-1.044011446,-0.49596999,0.559520782 57 | -3.211647434,-0.311598166,-0.453492858,-0.123251116,1.027339315,0.268029032,-0.670456515,-0.613528382,0.870284502,-0.450615002,-0.207934563,-0.507932974,0.478377395,0.150476892,-0.82324128,0.500840085,0.782492492,0.252217806,0.596024717,-0.145215543,0.021461338,-0.029822801,0.062988696,0.036670363,-0.024627171 58 | -1.927994433,0.409382302,-0.457725413,0.31611025,1.724283311,0.44585314,-0.395986123,-0.482047881,1.276896567,0.099594099,-0.628063366,0.719707445,-0.092712027,0.339682664,-0.541231015,-0.101317722,0.240906566,-0.464510858,-0.203211584,0.352475318,0.059496967,-0.288954805,0.457912811,-0.600854782,0.766981491 59 | 0.328490603,0.15333998,0.017349129,1.293365192,0.280513284,1.052704167,-0.094944068,-0.862906156,0.969145959,0.735071667,-0.885377175,-0.474551974,0.465911024,-0.322647882,0.055227814,0.271197223,-0.426185098,0.008270125,0.384756733,-0.479042429,-0.509433855,-0.488129926,-0.498322649,-0.205464881,-0.087093578 60 | -4.641944092,0.319382368,-0.509321002,0.616669456,1.15547586,0.533618847,-0.76501828,-1.401852089,0.605019587,-0.233620447,-1.688045566,-0.706384321,-0.106638178,-0.61532823,0.004719345,-0.420633427,-0.16462745,-0.159552203,-0.194838042,-0.792382939,-0.33912123,0.863543942,-0.42709462,0.390945316,0.452605384 61 | 0.386791264,0.16150421,-0.023376002,-0.357827552,0.248460478,-0.163413194,0.53381666,1.059471973,-1.114597762,0.421187675,-0.218769417,0.237084528,0.067721335,-0.154960074,-0.634800893,0.800547126,0.66730345,0.791599498,-0.261189314,-0.81139031,0.667685072,0.344407059,0.708104129,-0.479875088,-0.252049256 62 | 3.002340816,-0.126395858,-0.294765944,0.021428019,0.648747733,-0.355283156,0.989462741,0.206226833,-1.543849153,-0.244443893,-0.316192586,-0.480224786,-0.33898936,0.197628825,1.216263429,0.154333587,-0.56178197,0.151034511,1.059381934,0.665667187,-0.268125558,-0.177677269,0.116984738,-0.526780604,-0.156491624 63 | -0.457898472,-0.410974724,-0.237622923,-0.489773016,1.060235189,0.875198789,0.380631148,0.571134313,0.022144998,0.788462771,-0.9660684,0.246946376,0.155587076,0.190956813,0.005915059,0.708627974,-0.242374476,0.07414186,-0.208966908,-0.141832676,-0.008237767,-0.218689598,0.403048634,0.388940769,-0.442309328 64 | -0.080647831,-0.263844079,0.449635834,-1.315729059,0.276734359,-0.232498494,1.104191886,0.125484518,-1.937389154,0.285300533,-0.693581911,0.146575135,-0.623092628,-1.260401522,1.130602565,1.217804567,-0.152508965,-0.507612383,0.225505789,-0.263787595,0.524913838,0.63896217,0.280595214,-0.56184643,0.307849169 65 | 0.093617229,-0.959341076,-0.712105063,-0.472601398,-1.044613716,0.990512048,0.230693546,-0.975417858,-0.47541324,-0.260591243,0.005452165,-1.070891899,-0.209204378,-0.690895988,-0.173298023,-0.12275621,0.259318622,-0.518450137,-1.353516664,-0.457991221,0.930447051,0.084485668,-0.154538684,0.428208834,-0.027174823 66 | 0.410363288,-1.273980575,-1.4344825,-0.894760601,-1.033907962,0.567750452,2.10326354,0.877705717,-0.683363932,0.920419556,1.508428328,-0.791998339,-1.121929413,-0.386019273,0.262618476,-0.863767472,-0.112759121,0.24754212,0.116155105,-0.754306305,-0.554001992,-0.204851364,-0.579868713,-1.13281574,0.704285849 67 | 0.413796151,-0.617775741,-0.059649794,0.555230148,-0.937582271,1.169925817,0.377947167,-0.916018944,-0.162590093,0.502690751,-0.972920509,-0.324317716,-0.943725117,-1.140041697,0.062474553,-0.548558174,0.729093535,0.79358455,-0.236310062,-0.858771373,0.036826298,-0.092151304,0.468143272,0.530287871,-0.063696941 68 | -0.174647091,-1.626460313,-0.589214627,-0.343816938,-1.488053929,0.397269815,0.913508474,0.975180799,-1.614456737,-0.055051667,-0.968018668,-0.514995942,-1.320548463,0.757114687,-0.296302507,0.475445426,-0.709008964,-0.110749151,-1.231688891,-0.187899981,-0.039799864,0.341894053,-0.391901664,0.210820735,0.007374501 69 | -2.940468325,-2.129721205,-1.396071165,-0.484403364,-0.986031674,0.951293782,1.87970039,0.967214775,-1.503126745,0.345802395,-0.306901966,-0.244556132,0.08422769,-0.714332364,1.019272056,-1.118147549,-0.371959962,0.822918654,-0.239291979,-0.517675345,-0.11626601,0.096313222,0.89501702,0.566215361,0.450911784 70 | -2.277217078,0.246413002,-0.099571243,-1.156111968,0.451575175,0.187260982,-0.966766195,-0.708769324,0.602454157,0.019576864,-0.174979533,-0.329489886,0.355788388,0.70461653,-0.493903316,0.19340307,0.600902,0.49932682,0.624311872,-0.121302786,0.203001696,0.011873421,0.058759496,-0.244817098,-0.40458876 71 | 2.645311215,0.786177077,-0.198115444,0.226235109,-0.283444175,0.001311333,-0.823979938,-0.494631179,-0.53857063,-0.096186264,0.023917166,0.351488131,0.162930728,0.209817504,-0.818531449,-0.114730153,-0.160387122,-0.399009307,0.346938564,0.317847108,-0.451291482,-0.332618939,0.682437313,-0.413464842,0.04109319 72 | -1.570934948,0.307215797,0.4256736,-0.585669626,0.242334239,-0.097226795,-0.060252121,0.002033178,0.437642116,-0.349199718,-0.027574711,-0.494976646,0.31892821,0.586459088,-0.538055392,-0.334022613,0.336800531,-0.317424085,0.416082137,-0.087702792,0.236959245,0.541894984,-0.189758435,0.435243406,-0.128489381 73 | 1.850340211,-0.318555311,0.1661495,-0.002111759,0.16723172,0.489456647,-0.052420442,0.196492153,0.23794224,-0.514460715,0.20685729,0.01895844,-0.016557492,0.248582505,-0.514489109,-0.4077859,-0.813025138,-0.429403089,0.533177863,0.421173455,0.210965043,0.10464742,0.255521928,-0.267181692,-0.223385255 74 | 1.168461608,-1.421225231,-0.345575038,-0.520832441,0.685814876,0.815307746,-0.470424195,-0.764740771,0.058500761,-1.04831106,0.029083238,-0.115119513,0.193731332,0.822167557,-0.185734405,0.197109203,0.056743473,0.118617316,-0.160995178,0.728983543,0.386145863,-0.317855054,-0.295881304,0.027417248,0.691621247 75 | -2.389914849,4.605728968,-0.235220768,1.119055446,0.416442631,0.127923712,-0.936310651,-0.486861621,-1.659618613,-0.387334462,0.753496927,1.674019891,-0.651623879,-0.488428022,0.636226449,0.430343784,0.327322146,-0.554640949,-1.35343202,0.343442191,0.707860872,0.437835525,0.509374194,0.071376627,-0.286635322 76 | -6.640094446,1.346501152,-1.867217853,0.603671538,0.066921368,0.610353318,-0.15430123,0.889807206,-1.054774788,-0.239937708,0.667113945,0.272774517,0.679492543,0.831375632,1.127110912,-0.865317334,-0.210552646,0.076464285,0.433111424,-0.426456257,-0.083650574,0.351975231,-0.669995088,0.442226749,0.105379705 77 | -3.043212826,4.078145746,-1.477796279,2.3766918,-0.656635203,1.863405927,-1.771285384,-0.611032781,-0.65189968,-1.167704618,1.683490665,-0.391390149,1.774343831,1.290635081,1.137401681,-0.094894198,-0.849059185,0.926908898,-0.042310531,-0.815280969,0.215944371,-0.286788531,-0.14430581,-0.031302641,0.398683398 78 | 0.335599315,4.359277353,-0.258135589,3.369259835,0.198242688,0.092191836,-0.56201287,0.147741201,0.776476161,-0.197986668,1.687904016,-0.334695581,0.126801713,-1.04841906,-0.249333312,-0.712452944,-0.952625672,-0.367327523,-0.937449717,0.072280006,-0.798956342,0.450491147,0.27272211,0.515260489,-0.488428988 79 | 1.771256453,3.616085756,-0.893824363,2.420627476,0.820719195,-0.062517231,0.190345987,0.335364378,-0.23703637,0.887367097,1.077665268,0.798120409,0.43658123,-0.844393274,0.021151677,-0.030326829,0.237217125,-0.343406428,0.117418341,-0.540790119,0.11154549,-0.713383429,0.747273332,0.485584541,0.12906105 80 | -0.308375984,-2.294973892,-0.339778409,-0.719151651,0.2946182,0.073809392,1.013740771,0.851968675,-0.466058721,0.129520136,0.342209646,0.456958754,0.080379604,1.74696245,-1.478234282,-0.527446141,-0.427486008,-0.190377322,-1.04043815,-0.159010812,-1.170295501,0.204598802,1.057733029,0.119458548,-0.186281447 81 | -2.776961559,-1.523966624,-0.740506583,-0.921539833,-0.78253225,0.55710416,0.033504844,-0.019826973,-0.621185518,0.214475177,-0.271387574,0.601797094,0.182173746,0.516005586,-0.868096453,-0.679080751,-0.095250493,0.009768515,-0.467739417,0.730325032,-0.144446825,0.369208815,-0.134832373,0.061611502,0.03878011 82 | -1.785886272,0.006006695,0.351968811,-0.039357067,-0.623778006,-0.231846168,-0.389577655,0.408464029,-0.857775087,-0.176849677,-1.200741328,0.475312408,-0.598650652,0.878903062,-1.152157577,-0.190430699,0.416548165,0.946478262,-0.355523772,-0.686519372,-0.105409656,-0.310728012,0.060012984,-0.546677332,0.037815184 83 | -2.619050141,-0.738031856,-0.355107186,-0.770539556,-0.488822645,1.327900965,-0.670323785,0.235282128,-0.046283429,0.501963838,-0.190205619,0.677646932,0.284528362,0.125770885,0.550273803,0.452526982,-0.729328524,-0.929501385,0.364172865,0.511057318,0.429844252,-0.247273901,0.725332364,0.061795191,0.657762021 84 | 0.507917134,-1.218938573,0.289754951,-1.129521115,-1.366948042,0.685310519,-0.518350608,-0.542062396,-0.399555166,0.602440796,-0.312543576,0.371621045,0.313695998,0.4079604,-0.569888324,-0.507236916,-0.299100398,0.030519969,-0.189559666,0.146739421,-0.818597204,0.002518495,0.575206415,-0.385351702,-0.168141031 85 | 0.016776443,0.056654798,-1.12066331,-1.994707344,0.658356295,0.133232859,-1.127783088,-2.529875289,-0.928416769,-0.530632648,0.100834329,0.307717771,-0.314167108,0.010927852,-0.236263673,0.306560882,-1.159799126,0.249616508,0.240707252,0.166725077,-0.10260041,-0.119491443,-0.555931326,-0.276371986,0.135710616 86 | -0.094771863,-0.015609799,-0.246741713,-0.585074167,2.184533782,0.58533683,0.270866347,-0.850076095,-0.401642818,-0.461416958,-0.189544953,0.364958199,0.118977987,0.542770771,1.238054165,0.757895731,1.158464978,-0.256000216,0.629183392,-0.293673693,-0.728431107,0.239888636,0.683811567,0.258731116,0.059502056 87 | -0.033238577,0.27547547,-0.223467401,-0.971617932,0.560975679,-0.876588322,0.316621928,-1.562069874,0.747928516,0.401107303,-0.206951135,-0.693016782,-1.328715999,0.610835526,0.130495359,-1.518434867,0.1070454,0.183893859,0.147685184,0.569265557,-0.144373792,-0.033738724,0.041732655,0.304126198,0.208782884 88 | -0.654975911,0.973135943,-0.3567976,-0.051806913,1.450856942,-0.067542499,1.991799333,-0.149658824,0.766985006,0.865432945,0.852558083,0.218234112,0.140825535,-0.951682351,-0.476869146,0.771854974,0.205556188,-0.377889774,0.023851764,0.006314078,0.276265304,1.019832517,-0.678090956,-0.762160541,-0.236267953 89 | 0.089562881,0.172366253,-1.157427217,-1.796966864,0.45294037,0.246879195,-1.176979921,-2.276239631,-0.843186705,-0.45432644,0.001274013,0.100124814,-0.353322019,-0.015749673,-0.231663788,0.249532814,-1.106836592,0.155223278,0.14429177,0.260405202,-0.090762341,-0.296446593,-0.438639741,-0.376133298,0.163646401 90 | -0.051983789,0.019828252,-0.151446602,-0.479028901,2.001302174,0.749326707,0.23586987,-0.706888988,-0.32141214,-0.426848268,-0.151308043,0.347021797,0.129091015,0.496522346,1.254325573,0.63984045,1.094847755,-0.315026087,0.553744424,-0.220717865,-0.726632037,0.050363247,0.750100129,0.224119186,0.083260333 91 | -0.038291149,0.274096313,-0.222549278,-0.973609722,0.557520902,-0.873799613,0.31774264,-1.557858002,0.749472271,0.402346699,-0.203645309,-0.694432915,-1.331702942,0.613058618,0.132875655,-1.518756695,0.112086197,0.183846519,0.146654938,0.570091372,-0.143710842,-0.034453769,0.040588722,0.300972421,0.20296588 92 | -0.394512489,0.738632372,-0.384667709,-0.226353304,1.235602011,-0.1992376,1.771419463,-0.003129423,0.331929374,0.503442833,0.820954517,0.286168458,0.054791795,-0.973069625,-0.565570982,0.605185682,0.379858008,-0.242952098,0.047569051,-0.002527607,0.193799434,1.023076207,-0.293800215,-0.623747305,-0.130467214 93 | --------------------------------------------------------------------------------