In [19]:
import json
import numpy as np
import os, sys
sys.path.append('../classification')
import classify_nested
from sklearn.feature_selection import f_classif
from sklearn.feature_selection import SelectKBest
from importlib import reload

In [20]:
reload(classify_nested)
X = np.random.randn(10*150).reshape(10,150)
y = np.array([np.random.random_integers(2)-1 for i in range(10)])
print(X)
print(y)

print(classify_nested.customScore(X,y))
print(f_classif(X,y))


[[-0.21691158  0.90048644  0.16600168 ..., -0.19508829 -0.22549076
   2.31706733]
 [-1.8505463  -1.21364341  0.88501355 ..., -1.44516826 -0.32793582
  -1.09191327]
 [ 0.25348016 -0.70214711  0.97341693 ...,  0.02497137  1.90734062
   0.13467117]
 ..., 
 [-1.85888995  0.83504587  2.00605694 ..., -0.11576481 -0.14075465
   0.10064678]
 [ 0.29062942  0.185243    0.10799425 ..., -0.19272408 -0.65237792
  -1.65459477]
 [ 0.69825641 -0.21716935 -1.71415687 ...,  0.72428301 -1.25100438
   0.63857934]]
[0 1 0 1 1 1 1 0 1 1]
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
(array([ 40.        ,  38.04917698,  36.19349672,  34.42831906,
        32.74923012,  31.15203132,  29.63272883,  28.18752359,
        26.81280184,  25.50512606,  24.26122639,  23.07799242,
        21.95246544,  20.88183107,  19.86341215,  18.89466211,
        17.97315856,  17.09659728,  16.26278639,  15.46964094,
        14.71517765,  13.99750996,  13.31484335,  12.66547078,
        12.04776848,  11.46019187,  10.90127172,  10.36961043,
         9.86387856,   9.38281152,   8.92520641,   8.48991895,
         8.07586072,   7.68199634,   7.30734096,   6.95095774,
         6.61195553,   6.28948665,   5.98274477,   5.69096286,
         5.41341133,   5.14939614,   4.89825713,   4.65936631,
         4.43212633,   4.21596898,   4.01035375,   3.81476649,
         3.62871813,   3.45174346,  40.        ,  38.04917698,
        36.19349672,  34.42831906,  32.74923012,  31.15203132,
        29.63272883,  28.18752359,  26.81280184,  25.50512606,
        24.26122639,  23.07799242,  21.95246544,  20.88183107,
        19.86341215,  18.89466211,  17.97315856,  17.09659728,
        16.26278639,  15.46964094,  14.71517765,  13.99750996,
        13.31484335,  12.66547078,  12.04776848,  11.46019187,
        10.90127172,  10.36961043,   9.86387856,   9.38281152,
         8.92520641,   8.48991895,   8.07586072,   7.68199634,
         7.30734096,   6.95095774,   6.61195553,   6.28948665,
         5.98274477,   5.69096286,   5.41341133,   5.14939614,
         4.89825713,   4.65936631,   4.43212633,   4.21596898,
         4.01035375,   3.81476649,   3.62871813,   3.45174346,
        40.        ,  38.04917698,  36.19349672,  34.42831906,
        32.74923012,  31.15203132,  29.63272883,  28.18752359,
        26.81280184,  25.50512606,  24.26122639,  23.07799242,
        21.95246544,  20.88183107,  19.86341215,  18.89466211,
        17.97315856,  17.09659728,  16.26278639,  15.46964094,
        14.71517765,  13.99750996,  13.31484335,  12.66547078,
        12.04776848,  11.46019187,  10.90127172,  10.36961043,
         9.86387856,   9.38281152,   8.92520641,   8.48991895,
         8.07586072,   7.68199634,   7.30734096,   6.95095774,
         6.61195553,   6.28948665,   5.98274477,   5.69096286,
         5.41341133,   5.14939614,   4.89825713,   4.65936631,
         4.43212633,   4.21596898,   4.01035375,   3.81476649,
         3.62871813,   3.45174346]), array([ 0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,  0.01,
        0.01,  0.01,  0.01,  0.01,  0.01,  0.01]))
(array([  7.31993875e-01,   1.51223010e+00,   3.17483182e+00,
         4.00535883e-01,   1.40970231e+01,   5.20044470e-01,
         1.52222801e+00,   4.17337856e-01,   2.18639201e-01,
         4.86390773e-01,   1.96469444e+00,   2.40003539e+00,
         1.05573675e+00,   4.02169026e-01,   4.19638906e-01,
         3.28483045e+00,   4.87637925e-01,   4.44201856e+00,
         2.11019227e-02,   6.07600250e-02,   9.45895863e-01,
         6.75586674e-01,   2.70546214e+00,   6.18741534e-01,
         1.18231651e+00,   4.24516995e-01,   7.91802428e-01,
         9.51260331e-02,   6.48942145e-02,   4.24827222e+00,
         3.91769089e+00,   2.50962859e-01,   1.17599429e+00,
         1.82693269e-01,   2.89640384e+00,   7.75934498e-01,
         1.26939256e+00,   9.21980318e-02,   2.27145953e-03,
         4.53935921e-01,   1.42867962e-01,   3.08164307e-01,
         3.48222893e-03,   7.94097586e-02,   2.86776880e-01,
         3.49064999e-02,   2.17135549e-02,   4.07386484e-01,
         1.18609149e+00,   2.16136154e+00,   1.26648730e+00,
         7.12425465e-01,   2.88170998e+00,   5.96267054e-01,
         1.74200142e-01,   1.02827046e+00,   7.58354041e+00,
         3.96811038e-03,   1.02466242e-02,   1.38456754e-02,
         3.16434417e+00,   1.00434364e+00,   3.87554994e-01,
         1.06437487e+00,   5.00067985e-01,   1.78956158e-01,
         5.63846269e-01,   2.19083289e-01,   4.46234706e+00,
         7.16145489e-03,   1.54450233e+00,   2.61066397e+01,
         1.11183479e-02,   1.43811945e-02,   1.39376886e-02,
         1.71324320e-01,   4.99661674e-01,   1.98875342e-01,
         1.64643991e-02,   9.40431434e-01,   1.06571869e+00,
         2.85088216e-01,   2.73636047e+00,   1.57692167e+00,
         9.39805581e-01,   1.98553772e-02,   3.08198094e-02,
         3.32577492e+00,   1.79412097e+00,   8.87598270e-01,
         3.20817053e-01,   3.44577520e+00,   2.64933728e-01,
         1.55922051e+00,   1.62649008e-02,   4.33161329e-01,
         4.60661754e-03,   1.17462464e+00,   1.31319854e+00,
         4.34289261e+00,   1.03249230e-01,   3.43546535e-01,
         8.06561763e-01,   1.98964729e-01,   3.50354808e-01,
         2.07519938e-02,   3.24565089e+00,   2.28847179e-04,
         4.18602494e-01,   2.27773002e+00,   3.97498030e+00,
         9.02155975e-01,   6.79844964e-02,   5.72085196e-01,
         5.84939150e-01,   1.73198569e-02,   7.45469816e-02,
         6.67133303e-01,   1.83127287e-02,   2.07511300e-01,
         7.06646455e-03,   1.43993422e+00,   1.62217944e+00,
         3.96263244e-01,   5.13754775e-01,   2.89494060e+00,
         1.12871901e-01,   2.49270070e-01,   5.05249383e+00,
         8.66385127e-01,   1.51417229e+00,   9.59521703e+00,
         4.23671930e+00,   2.24187857e+00,   7.53357976e-02,
         3.88144130e-01,   5.01919630e-02,   4.66045932e-03,
         1.60526002e+00,   8.14220730e-01,   5.37514631e-02,
         5.22272149e-01,   5.41219495e-01,   2.16925244e-01,
         7.46100941e-03,   1.60265593e+00,   1.51351971e-01,
         9.11606913e-02,   5.57911607e+00,   9.00123042e-01]), array([  4.17124180e-01,   2.53734910e-01,   1.12639689e-01,
         5.44474363e-01,   5.58732340e-03,   4.91356858e-01,
         2.52298210e-01,   5.36355286e-01,   6.52551529e-01,
         5.05301178e-01,   1.98596486e-01,   1.59925780e-01,
         3.34251048e-01,   5.43674587e-01,   5.35261810e-01,
         1.07493547e-01,   5.04771479e-01,   6.81262153e-02,
         8.88094916e-01,   8.11505830e-01,   3.59250808e-01,
         4.34921369e-01,   1.38625376e-01,   4.54183471e-01,
         3.08556440e-01,   5.32957997e-01,   3.99522702e-01,
         7.65637228e-01,   8.05347493e-01,   7.32309209e-02,
         8.31367054e-02,   6.29888491e-01,   3.09769132e-01,
         6.80340918e-01,   1.27189934e-01,   4.04073635e-01,
         2.92539093e-01,   7.69148213e-01,   9.63155671e-01,
         5.19459541e-01,   7.15278225e-01,   5.93986507e-01,
         9.54391238e-01,   7.85251125e-01,   6.06855573e-01,
         8.56442828e-01,   8.86497689e-01,   5.41134997e-01,
         3.07835677e-01,   1.79719859e-01,   2.93053717e-01,
         4.23159492e-01,   1.28024732e-01,   4.62205327e-01,
         6.87381489e-01,   3.40248579e-01,   2.49113465e-02,
         9.51317602e-01,   9.21862403e-01,   9.09231650e-01,
         1.13147016e-01,   3.45607005e-01,   5.50915437e-01,
         3.32397747e-01,   4.99547594e-01,   6.83414217e-01,
         4.74220406e-01,   6.52226435e-01,   6.76174771e-02,
         9.34638651e-01,   2.49138409e-01,   9.19049288e-04,
         9.18619761e-01,   9.07502206e-01,   9.08932110e-01,
         6.89811790e-01,   4.99716776e-01,   6.67452808e-01,
         9.01067772e-01,   3.60568518e-01,   3.32110822e-01,
         6.07898260e-01,   1.36685289e-01,   2.44638213e-01,
         3.60719914e-01,   8.91425231e-01,   8.65005197e-01,
         1.05656546e-01,   2.17228637e-01,   3.73704632e-01,
         5.86651061e-01,   1.00503112e-01,   6.20665773e-01,
         2.47081037e-01,   9.01665312e-01,   5.28922332e-01,
         9.47553172e-01,   3.10032777e-01,   2.84935936e-01,
         7.06786448e-02,   7.56199056e-01,   5.73949784e-01,
         3.95363213e-01,   6.67383416e-01,   5.70257351e-01,
         8.89019397e-01,   1.09290591e-01,   9.88300772e-01,
         5.35753782e-01,   1.69681028e-01,   8.13013591e-02,
         3.70011742e-01,   8.00880391e-01,   4.71115545e-01,
         4.66342285e-01,   8.98546368e-01,   7.91743675e-01,
         4.37697509e-01,   8.95698284e-01,   6.60834618e-01,
         9.35072423e-01,   2.64477171e-01,   2.38544601e-01,
         5.46577814e-01,   4.93909210e-01,   1.27272743e-01,
         7.45539710e-01,   6.31028059e-01,   5.47570677e-02,
         3.79189982e-01,   2.53454914e-01,   1.47188224e-02,
         7.35506228e-02,   1.72691515e-01,   7.90675193e-01,
         5.50619817e-01,   8.28345196e-01,   9.47248098e-01,
         2.40797503e-01,   3.93232011e-01,   8.22479904e-01,
         4.90458598e-01,   4.82936661e-01,   6.53810084e-01,
         9.33289404e-01,   2.41146894e-01,   7.07397022e-01,
         7.70406823e-01,   4.58138781e-02,   3.70524013e-01]))
/usr/lib/python3.6/site-packages/ipykernel/__main__.py:3: DeprecationWarning: This function is deprecated. Please call randint(1, 2 + 1) instead
  app.launch_new_instance()

In [11]:
selector = SelectKBest(k=2)
selector.fit(X,y)
selector.transform(X)


Out[11]:
array([[ 0.5744472 ,  1.28897927],
       [ 0.36782748, -0.35009266],
       [-0.17340258,  0.33533762],
       [ 1.6599005 ,  2.36536355],
       [ 0.27636816,  0.62948091],
       [-0.86466352, -0.03451785],
       [-0.5960366 ,  0.32873435],
       [-0.12540493, -1.18958388],
       [-0.32582336, -0.92904409],
       [ 1.42539249,  0.72388889]])

In [15]:
selector = SelectKBest(classify_nested.customScore, k=2)
selector.fit(X,y)
selector.transform(X)


Out[15]:
<function classify_nested.customScore>

In [ ]: