In [ ]:


In [1]:
from time import time
import psycopg2
from collections import Counter
import pandas as pd
import numpy as np
from sklearn.decomposition import NMF

np.set_printoptions(suppress=True,precision=10)

In [2]:
import sys 
import os
sys.path.append(os.path.abspath("/home/scidb/HeartRatePatterns/Python"))
from LogisticRegresion import ajustLogisticRegression

In [3]:
def selectMatrix(dbname="mimic") :
    conn = psycopg2.connect("dbname="+dbname)
    cur = conn.cursor()
    select_stament = ("SELECT m.subject_id,m.word,m.counting,s.isalive "
                      " FROM matrix m LEFT JOIN subjectwords s ON m.subject_id=s.subject_id "
     #                 " WHERE m.word in (select word from wordspearson where p1>0.01 order by p1 limit 400) "
    )
    cur.execute(select_stament)
    select = []
    for row in cur :
        select.append((row))
    cur.close()
    conn.close()
    return select

In [4]:
def convertMatrix() :
    labels = ['subject_id', 'Word', 'Counting','isAlive']
    df = pd.DataFrame.from_records(selectMatrix(), columns=labels)
    print(len(df))
    table = pd.pivot_table(df,index=["subject_id","isAlive"],columns=["Word"],values=["Counting"],
                       aggfunc={"Counting":[np.sum]},fill_value=0)
    table.columns = [value[2] for value in table.columns.values]
    return table

In [5]:
t0=time()
table = convertMatrix()
print("converMatrix done in %0.3fs." % (time() - t0))
print(table.shape)


134706
converMatrix done in 2.514s.
(658, 5610)

In [6]:
survived = table.index.labels[1].tolist()
patients = table.values

In [7]:
print(table.shape)
print(len(survived))
print(patients.shape)


(658, 5610)
658
(658, 5610)

NMF


In [8]:
def generateNMF(n_components):
    nmf = NMF(n_components=n_components, random_state=1,alpha=.1, l1_ratio=.5)
    patients_nmf = nmf.fit_transform(patients)
    components = nmf.components_
#    print("heatBeats X factor",components.shape)
#    print("patient X factor",patients_nmf.shape)
    return patients_nmf,components
#patients_nmf,components = generateNMF(2)

Pearson


In [9]:
from scipy.stats.stats import pearsonr

In [10]:
def checkPearson(patients_nmf,survived):
    sumofPearson,maxPearson,minPearson = 0,0,0
    n_components = patients_nmf.shape[1]
    for i in range(n_components):
        pearson = pearsonr(patients_nmf[:,i],survived)
        sumofPearson += pearson[0]
        if pearson[0]>maxPearson:
            maxPearson = pearson[0]
        if pearson[0]<minPearson:
            minPearson = pearson[0]
    return (n_components,sumofPearson,(sumofPearson/n_components),maxPearson,minPearson)

In [43]:
def getPearson(patients_nmf,survived):
    n_components = patients_nmf.shape[1]
    pearson = []
    for i in range(n_components):
        pearson.append({"Topic":i,"pearson":pearsonr(patients_nmf[:,i],survived)[0]})
    return sorted(pearson, key = lambda value: value['pearson'],reverse=True)

In [44]:
for i in range(2,20):
    patients_nmf,components = generateNMF(i)
#    result = checkPearson(patients_nmf,survived)
    result = getPearson(patients_nmf,survived)
    print(i,result[:5])


2 [{'Topic': 1, 'pearson': 0.010923444702911286}, {'Topic': 0, 'pearson': -0.098164051702177041}]
3 [{'Topic': 2, 'pearson': 0.051576486119688306}, {'Topic': 1, 'pearson': 0.010921487602107989}, {'Topic': 0, 'pearson': -0.09911156579020626}]
4 [{'Topic': 2, 'pearson': 0.051612592125778033}, {'Topic': 1, 'pearson': 0.019721856687391869}, {'Topic': 3, 'pearson': -0.051550853667254017}, {'Topic': 0, 'pearson': -0.093877478126509789}]
5 [{'Topic': 2, 'pearson': 0.057568926806160658}, {'Topic': 1, 'pearson': 0.019724285322645078}, {'Topic': 4, 'pearson': 0.018563729161985232}, {'Topic': 3, 'pearson': -0.051545932478026253}, {'Topic': 0, 'pearson': -0.093918733284187858}]
6 [{'Topic': 2, 'pearson': 0.057568926957940379}, {'Topic': 5, 'pearson': 0.019983647613144445}, {'Topic': 1, 'pearson': 0.019724132802576653}, {'Topic': 4, 'pearson': 0.018563729257072177}, {'Topic': 3, 'pearson': -0.051545931697064444}]
7 [{'Topic': 2, 'pearson': 0.057610606313159757}, {'Topic': 1, 'pearson': 0.019991910709008898}, {'Topic': 5, 'pearson': 0.0199831716150514}, {'Topic': 4, 'pearson': 0.018574795576296006}, {'Topic': 3, 'pearson': -0.014161003584674639}]
8 [{'Topic': 2, 'pearson': 0.057407611773106257}, {'Topic': 5, 'pearson': 0.019996656461902077}, {'Topic': 1, 'pearson': 0.01999179118766874}, {'Topic': 4, 'pearson': 0.018537587900105023}, {'Topic': 6, 'pearson': -0.012532053773270692}]
9 [{'Topic': 8, 'pearson': 0.049561420732932265}, {'Topic': 2, 'pearson': 0.04257235372052743}, {'Topic': 5, 'pearson': 0.019996648531829742}, {'Topic': 1, 'pearson': 0.019991208169783479}, {'Topic': 4, 'pearson': 0.018844520614700194}]
10 [{'Topic': 8, 'pearson': 0.04964926369445162}, {'Topic': 2, 'pearson': 0.042575183890005815}, {'Topic': 1, 'pearson': 0.020142387266981126}, {'Topic': 5, 'pearson': 0.020005399989176265}, {'Topic': 4, 'pearson': 0.018826378561218889}]
11 [{'Topic': 8, 'pearson': 0.047919902837962554}, {'Topic': 2, 'pearson': 0.044210452116575594}, {'Topic': 1, 'pearson': 0.020141638948655598}, {'Topic': 5, 'pearson': 0.020005397548942858}, {'Topic': 10, 'pearson': 0.019543578446249099}]
12 [{'Topic': 8, 'pearson': 0.04792070471244636}, {'Topic': 2, 'pearson': 0.044207812462486194}, {'Topic': 10, 'pearson': 0.032858391275699214}, {'Topic': 5, 'pearson': 0.020005472496245839}, {'Topic': 11, 'pearson': 0.019538277178628272}]
13 [{'Topic': 8, 'pearson': 0.047822383925451073}, {'Topic': 2, 'pearson': 0.044527209319997714}, {'Topic': 10, 'pearson': 0.032840319669988405}, {'Topic': 5, 'pearson': 0.020005762708643817}, {'Topic': 12, 'pearson': 0.019399234747123417}]
14 [{'Topic': 8, 'pearson': 0.047826061398806574}, {'Topic': 2, 'pearson': 0.04454107968768635}, {'Topic': 10, 'pearson': 0.032856401119907605}, {'Topic': 5, 'pearson': 0.02000541630267241}, {'Topic': 12, 'pearson': 0.019296692002015364}]
15 [{'Topic': 8, 'pearson': 0.047834066963310981}, {'Topic': 2, 'pearson': 0.044545520960138217}, {'Topic': 10, 'pearson': 0.032695158561488046}, {'Topic': 5, 'pearson': 0.020005159664818341}, {'Topic': 12, 'pearson': 0.019440047954467448}]
16 [{'Topic': 8, 'pearson': 0.04737203374366359}, {'Topic': 2, 'pearson': 0.043824316608523151}, {'Topic': 10, 'pearson': 0.032697653892971953}, {'Topic': 12, 'pearson': 0.024803487115974066}, {'Topic': 5, 'pearson': 0.020005202901408791}]
17 [{'Topic': 8, 'pearson': 0.047337493905543079}, {'Topic': 2, 'pearson': 0.043666238873693544}, {'Topic': 10, 'pearson': 0.032703014350655459}, {'Topic': 12, 'pearson': 0.024825447386253537}, {'Topic': 5, 'pearson': 0.020006223822675223}]
18 [{'Topic': 8, 'pearson': 0.047336165138868305}, {'Topic': 2, 'pearson': 0.043723364982473714}, {'Topic': 10, 'pearson': 0.026539274091989831}, {'Topic': 1, 'pearson': 0.025053421051702489}, {'Topic': 12, 'pearson': 0.02482005912166511}]
19 [{'Topic': 8, 'pearson': 0.047337898312394898}, {'Topic': 2, 'pearson': 0.043725222753218593}, {'Topic': 10, 'pearson': 0.027047803801068169}, {'Topic': 12, 'pearson': 0.024822199213069562}, {'Topic': 1, 'pearson': 0.023523412235599932}]

In [45]:
for i in range(20,40):
    patients_nmf,components = generateNMF(i)
    result = getPearson(patients_nmf,survived)
    print(i,result[:5])


20 [{'Topic': 19, 'pearson': 0.048852538079433995}, {'Topic': 2, 'pearson': 0.0426906344684998}, {'Topic': 8, 'pearson': 0.040507101622158481}, {'Topic': 10, 'pearson': 0.027048084153059242}, {'Topic': 12, 'pearson': 0.024288739242923837}]
21 [{'Topic': 19, 'pearson': 0.049580706629770786}, {'Topic': 2, 'pearson': 0.047643549938765732}, {'Topic': 12, 'pearson': 0.046827937776929035}, {'Topic': 8, 'pearson': 0.041545667355194327}, {'Topic': 10, 'pearson': 0.027046932555672948}]
22 [{'Topic': 19, 'pearson': 0.049579750722445581}, {'Topic': 2, 'pearson': 0.047640979983438268}, {'Topic': 12, 'pearson': 0.046820072794736427}, {'Topic': 8, 'pearson': 0.041547121064839751}, {'Topic': 10, 'pearson': 0.02450741660076201}]
23 [{'Topic': 19, 'pearson': 0.049726794364730306}, {'Topic': 2, 'pearson': 0.048364862303391716}, {'Topic': 12, 'pearson': 0.04557566976884371}, {'Topic': 8, 'pearson': 0.041102985246113118}, {'Topic': 10, 'pearson': 0.024507408877847296}]
24 [{'Topic': 2, 'pearson': 0.049507161950157488}, {'Topic': 19, 'pearson': 0.048568865106206081}, {'Topic': 12, 'pearson': 0.046013420274554913}, {'Topic': 8, 'pearson': 0.041155670522841858}, {'Topic': 20, 'pearson': 0.034792449110726299}]
25 [{'Topic': 2, 'pearson': 0.049508695755030988}, {'Topic': 19, 'pearson': 0.048566088313548368}, {'Topic': 12, 'pearson': 0.045983054919306779}, {'Topic': 8, 'pearson': 0.041168601056765612}, {'Topic': 20, 'pearson': 0.034773805461049433}]
26 [{'Topic': 25, 'pearson': 0.073837233665350735}, {'Topic': 19, 'pearson': 0.064150461414138341}, {'Topic': 2, 'pearson': 0.041732122272907762}, {'Topic': 20, 'pearson': 0.041719465646218479}, {'Topic': 12, 'pearson': 0.041677887004826289}]
27 [{'Topic': 25, 'pearson': 0.074048277321981035}, {'Topic': 19, 'pearson': 0.064237900215686261}, {'Topic': 12, 'pearson': 0.04457302291634687}, {'Topic': 20, 'pearson': 0.041470311156206231}, {'Topic': 2, 'pearson': 0.041385653384008084}]
28 [{'Topic': 25, 'pearson': 0.074051495518015487}, {'Topic': 19, 'pearson': 0.064234285143919004}, {'Topic': 12, 'pearson': 0.044571865349669844}, {'Topic': 20, 'pearson': 0.041480390603095968}, {'Topic': 2, 'pearson': 0.041385409689108844}]
29 [{'Topic': 19, 'pearson': 0.065823204501215885}, {'Topic': 25, 'pearson': 0.065534643927780925}, {'Topic': 12, 'pearson': 0.045148367200856659}, {'Topic': 20, 'pearson': 0.044983095718803288}, {'Topic': 2, 'pearson': 0.040756571613208004}]
30 [{'Topic': 19, 'pearson': 0.065779138046910796}, {'Topic': 25, 'pearson': 0.065652626179500406}, {'Topic': 20, 'pearson': 0.045780497149544276}, {'Topic': 12, 'pearson': 0.045233310011748622}, {'Topic': 2, 'pearson': 0.040741766941929623}]
31 [{'Topic': 19, 'pearson': 0.065775847210871236}, {'Topic': 25, 'pearson': 0.065648264904763706}, {'Topic': 20, 'pearson': 0.046859901907288608}, {'Topic': 12, 'pearson': 0.045208061557789267}, {'Topic': 2, 'pearson': 0.040744419372609954}]
32 [{'Topic': 25, 'pearson': 0.065847550638846647}, {'Topic': 19, 'pearson': 0.064767618437896593}, {'Topic': 20, 'pearson': 0.064560022579791487}, {'Topic': 12, 'pearson': 0.045524228030562733}, {'Topic': 2, 'pearson': 0.040790763361822142}]
33 [{'Topic': 25, 'pearson': 0.065211249739056648}, {'Topic': 19, 'pearson': 0.064685436978297567}, {'Topic': 20, 'pearson': 0.064633762106809392}, {'Topic': 2, 'pearson': 0.043135154962717026}, {'Topic': 12, 'pearson': 0.042875569538500614}]
34 [{'Topic': 25, 'pearson': 0.065218442805529381}, {'Topic': 19, 'pearson': 0.064682920562640675}, {'Topic': 20, 'pearson': 0.064623152388634836}, {'Topic': 2, 'pearson': 0.04313067308900357}, {'Topic': 12, 'pearson': 0.042887935458178053}]
35 [{'Topic': 25, 'pearson': 0.065355355129082762}, {'Topic': 20, 'pearson': 0.064726479545795565}, {'Topic': 19, 'pearson': 0.064672680330653431}, {'Topic': 2, 'pearson': 0.043133631405679558}, {'Topic': 12, 'pearson': 0.042899680479894307}]
36 [{'Topic': 20, 'pearson': 0.065868219503131417}, {'Topic': 19, 'pearson': 0.064490764225391461}, {'Topic': 25, 'pearson': 0.062428429499203637}, {'Topic': 12, 'pearson': 0.045409689980662429}, {'Topic': 2, 'pearson': 0.043306538430295145}]
37 [{'Topic': 20, 'pearson': 0.067427697412134197}, {'Topic': 19, 'pearson': 0.064333184149236666}, {'Topic': 25, 'pearson': 0.059700430448030375}, {'Topic': 2, 'pearson': 0.044232455029354148}, {'Topic': 12, 'pearson': 0.042992064348534642}]
38 [{'Topic': 20, 'pearson': 0.066802372774880936}, {'Topic': 19, 'pearson': 0.06409579741878961}, {'Topic': 25, 'pearson': 0.060906651623020579}, {'Topic': 37, 'pearson': 0.047736737973751393}, {'Topic': 2, 'pearson': 0.043805822463940436}]
39 [{'Topic': 20, 'pearson': 0.067193960953076518}, {'Topic': 19, 'pearson': 0.06401172801063168}, {'Topic': 25, 'pearson': 0.060753384760148292}, {'Topic': 37, 'pearson': 0.047876867895698096}, {'Topic': 2, 'pearson': 0.043915218389866659}]

In [46]:
for i in range(40,60):
    patients_nmf,components = generateNMF(i)
    result = getPearson(patients_nmf,survived)
    print(i,result[:5])


40 [{'Topic': 20, 'pearson': 0.066770288446365123}, {'Topic': 19, 'pearson': 0.064011566403275183}, {'Topic': 25, 'pearson': 0.060822433995100865}, {'Topic': 37, 'pearson': 0.047760672822045928}, {'Topic': 2, 'pearson': 0.04380284994807792}]
41 [{'Topic': 20, 'pearson': 0.066844719215676779}, {'Topic': 19, 'pearson': 0.064037085735746388}, {'Topic': 25, 'pearson': 0.060660196318265344}, {'Topic': 40, 'pearson': 0.053154863109741331}, {'Topic': 37, 'pearson': 0.048238079660167334}]
42 [{'Topic': 20, 'pearson': 0.11616399648987753}, {'Topic': 19, 'pearson': 0.062788438905963348}, {'Topic': 25, 'pearson': 0.06106109486579217}, {'Topic': 40, 'pearson': 0.053276392781589021}, {'Topic': 37, 'pearson': 0.048457490713499883}]
43 [{'Topic': 20, 'pearson': 0.11580901700282005}, {'Topic': 25, 'pearson': 0.059269318835252119}, {'Topic': 19, 'pearson': 0.056041948063595512}, {'Topic': 42, 'pearson': 0.054385911497923711}, {'Topic': 40, 'pearson': 0.053023346094911751}]
44 [{'Topic': 20, 'pearson': 0.11551683743984761}, {'Topic': 25, 'pearson': 0.059179420171302025}, {'Topic': 19, 'pearson': 0.055958272167995829}, {'Topic': 43, 'pearson': 0.054408489032529331}, {'Topic': 40, 'pearson': 0.052976655480113162}]
45 [{'Topic': 20, 'pearson': 0.11392240697690734}, {'Topic': 19, 'pearson': 0.058206777144974742}, {'Topic': 2, 'pearson': 0.056510054293436376}, {'Topic': 25, 'pearson': 0.053668117558170976}, {'Topic': 43, 'pearson': 0.052884129004101887}]
46 [{'Topic': 20, 'pearson': 0.1141504907370295}, {'Topic': 19, 'pearson': 0.058217497225183532}, {'Topic': 2, 'pearson': 0.056509212659707514}, {'Topic': 25, 'pearson': 0.05366947737662104}, {'Topic': 43, 'pearson': 0.052885887461945794}]
47 [{'Topic': 20, 'pearson': 0.11384124587479456}, {'Topic': 19, 'pearson': 0.056613611319917316}, {'Topic': 37, 'pearson': 0.052163015516351809}, {'Topic': 46, 'pearson': 0.049796982980171593}, {'Topic': 43, 'pearson': 0.04934628736169739}]
48 [{'Topic': 20, 'pearson': 0.11327018042820948}, {'Topic': 19, 'pearson': 0.05648573905284561}, {'Topic': 37, 'pearson': 0.052237400749629757}, {'Topic': 43, 'pearson': 0.049452004904292031}, {'Topic': 25, 'pearson': 0.048379296006944586}]
49 [{'Topic': 20, 'pearson': 0.11031210322155949}, {'Topic': 43, 'pearson': 0.060244444713744828}, {'Topic': 19, 'pearson': 0.054889497187658468}, {'Topic': 37, 'pearson': 0.052032596742635842}, {'Topic': 40, 'pearson': 0.048343688825491497}]
50 [{'Topic': 20, 'pearson': 0.11094067465059433}, {'Topic': 43, 'pearson': 0.060322677141197274}, {'Topic': 19, 'pearson': 0.054896691240662522}, {'Topic': 37, 'pearson': 0.052028990228117467}, {'Topic': 40, 'pearson': 0.048334147398740313}]
51 [{'Topic': 20, 'pearson': 0.10988845133314817}, {'Topic': 50, 'pearson': 0.059948211599909644}, {'Topic': 19, 'pearson': 0.05410186374028976}, {'Topic': 2, 'pearson': 0.049771020823817153}, {'Topic': 40, 'pearson': 0.048302392166807484}]
52 [{'Topic': 20, 'pearson': 0.11006734246219797}, {'Topic': 50, 'pearson': 0.059533192790421137}, {'Topic': 19, 'pearson': 0.054119524825165459}, {'Topic': 2, 'pearson': 0.049883131508793407}, {'Topic': 40, 'pearson': 0.048330968474427916}]
53 [{'Topic': 20, 'pearson': 0.1074186512514857}, {'Topic': 51, 'pearson': 0.059259939896762329}, {'Topic': 19, 'pearson': 0.05323944403300402}, {'Topic': 2, 'pearson': 0.04734835552998002}, {'Topic': 43, 'pearson': 0.046133107775028818}]
54 [{'Topic': 20, 'pearson': 0.10711868098533829}, {'Topic': 51, 'pearson': 0.058595903983347707}, {'Topic': 19, 'pearson': 0.05321855586390227}, {'Topic': 2, 'pearson': 0.047410394740526059}, {'Topic': 43, 'pearson': 0.046162499568203161}]
55 [{'Topic': 54, 'pearson': 0.091069289033438555}, {'Topic': 20, 'pearson': 0.070572786814190797}, {'Topic': 51, 'pearson': 0.059544632655815992}, {'Topic': 19, 'pearson': 0.053004851927586173}, {'Topic': 2, 'pearson': 0.044639549452942913}]
56 [{'Topic': 54, 'pearson': 0.091071687715289368}, {'Topic': 20, 'pearson': 0.070413058343434504}, {'Topic': 51, 'pearson': 0.059542843728873855}, {'Topic': 19, 'pearson': 0.052999447402955702}, {'Topic': 2, 'pearson': 0.044635487761992887}]
57 [{'Topic': 54, 'pearson': 0.09066048606285923}, {'Topic': 20, 'pearson': 0.067036090367598847}, {'Topic': 50, 'pearson': 0.058080278048779778}, {'Topic': 19, 'pearson': 0.049966655716592256}, {'Topic': 40, 'pearson': 0.046646575107822753}]
58 [{'Topic': 54, 'pearson': 0.089729518877774167}, {'Topic': 20, 'pearson': 0.066652706870936024}, {'Topic': 50, 'pearson': 0.058234067601423141}, {'Topic': 38, 'pearson': 0.056408737992317472}, {'Topic': 19, 'pearson': 0.049895443336722967}]
59 [{'Topic': 54, 'pearson': 0.089563366122067598}, {'Topic': 20, 'pearson': 0.072429385287485715}, {'Topic': 50, 'pearson': 0.058582161790152319}, {'Topic': 38, 'pearson': 0.056446333925916851}, {'Topic': 19, 'pearson': 0.049937038165108132}]

In [47]:
for i in range(61,80):
    patients_nmf,components = generateNMF(i)
    result = getPearson(patients_nmf,survived)
    print(i,result[:5])


61 [{'Topic': 54, 'pearson': 0.081352102482347727}, {'Topic': 60, 'pearson': 0.074001591640284942}, {'Topic': 50, 'pearson': 0.058440760576900036}, {'Topic': 38, 'pearson': 0.056207095973460006}, {'Topic': 19, 'pearson': 0.050127596968311337}]
62 [{'Topic': 54, 'pearson': 0.089053620160214009}, {'Topic': 20, 'pearson': 0.071929733959451708}, {'Topic': 61, 'pearson': 0.062812649830206013}, {'Topic': 50, 'pearson': 0.057759934381003915}, {'Topic': 19, 'pearson': 0.050360054174235794}]
63 [{'Topic': 20, 'pearson': 0.078723829471599019}, {'Topic': 60, 'pearson': 0.070339746203365083}, {'Topic': 61, 'pearson': 0.062756989141877856}, {'Topic': 50, 'pearson': 0.05821631912125852}, {'Topic': 59, 'pearson': 0.052655254862300438}]
64 [{'Topic': 63, 'pearson': 0.078576750440668863}, {'Topic': 60, 'pearson': 0.066193139145581795}, {'Topic': 61, 'pearson': 0.060860172476589862}, {'Topic': 50, 'pearson': 0.057455438936396971}, {'Topic': 19, 'pearson': 0.04960904832823753}]
65 [{'Topic': 20, 'pearson': 0.081136791743507977}, {'Topic': 63, 'pearson': 0.07262106867106595}, {'Topic': 61, 'pearson': 0.063523200992101653}, {'Topic': 50, 'pearson': 0.058085139173289869}, {'Topic': 59, 'pearson': 0.055962711288272314}]
66 [{'Topic': 63, 'pearson': 0.078469419762522433}, {'Topic': 20, 'pearson': 0.068121308239535786}, {'Topic': 61, 'pearson': 0.061746310624138871}, {'Topic': 51, 'pearson': 0.056454043906801643}, {'Topic': 60, 'pearson': 0.052829792661926556}]
67 [{'Topic': 64, 'pearson': 0.077681972433485125}, {'Topic': 60, 'pearson': 0.064771027353611524}, {'Topic': 51, 'pearson': 0.058807709220677844}, {'Topic': 19, 'pearson': 0.049072620331571934}, {'Topic': 2, 'pearson': 0.048555307654872093}]
68 [{'Topic': 20, 'pearson': 0.072414921929944226}, {'Topic': 63, 'pearson': 0.060502882556103484}, {'Topic': 50, 'pearson': 0.057423305285794687}, {'Topic': 59, 'pearson': 0.053790993627220007}, {'Topic': 60, 'pearson': 0.053240736810155169}]
69 [{'Topic': 60, 'pearson': 0.077768984151534992}, {'Topic': 57, 'pearson': 0.070130262345684466}, {'Topic': 63, 'pearson': 0.066623577524879088}, {'Topic': 61, 'pearson': 0.063406752940136049}, {'Topic': 51, 'pearson': 0.058091024641341672}]
70 [{'Topic': 60, 'pearson': 0.082728882486871241}, {'Topic': 59, 'pearson': 0.075820979591507409}, {'Topic': 63, 'pearson': 0.068709653972413798}, {'Topic': 61, 'pearson': 0.061994270897364437}, {'Topic': 51, 'pearson': 0.057814875366859149}]
71 [{'Topic': 60, 'pearson': 0.068942523914904547}, {'Topic': 59, 'pearson': 0.065369848102767969}, {'Topic': 61, 'pearson': 0.063344363457158062}, {'Topic': 51, 'pearson': 0.057637216359533318}, {'Topic': 64, 'pearson': 0.057464847086870337}]
72 [{'Topic': 68, 'pearson': 0.075276718163932915}, {'Topic': 20, 'pearson': 0.068118553773894863}, {'Topic': 61, 'pearson': 0.059806033324053272}, {'Topic': 59, 'pearson': 0.058126396733656646}, {'Topic': 50, 'pearson': 0.057521515213310816}]
73 [{'Topic': 70, 'pearson': 0.077843141041929562}, {'Topic': 40, 'pearson': 0.063496762214111824}, {'Topic': 60, 'pearson': 0.062155057926274633}, {'Topic': 61, 'pearson': 0.062028537343662163}, {'Topic': 51, 'pearson': 0.057378672989680933}]
74 [{'Topic': 72, 'pearson': 0.072744571033814223}, {'Topic': 61, 'pearson': 0.063214310061312062}, {'Topic': 69, 'pearson': 0.059551927244688559}, {'Topic': 63, 'pearson': 0.059498913390164547}, {'Topic': 51, 'pearson': 0.058173070652030409}]
75 [{'Topic': 69, 'pearson': 0.07273618597551873}, {'Topic': 59, 'pearson': 0.069456066905292116}, {'Topic': 74, 'pearson': 0.064185871230917832}, {'Topic': 61, 'pearson': 0.063166841068280924}, {'Topic': 64, 'pearson': 0.059149934655974942}]
76 [{'Topic': 72, 'pearson': 0.072512302292887604}, {'Topic': 59, 'pearson': 0.065811397414614239}, {'Topic': 51, 'pearson': 0.056867764757712221}, {'Topic': 63, 'pearson': 0.056645772670093304}, {'Topic': 61, 'pearson': 0.055100498207107759}]
77 [{'Topic': 73, 'pearson': 0.06806186371957218}, {'Topic': 61, 'pearson': 0.066017737488304237}, {'Topic': 40, 'pearson': 0.059942980083171435}, {'Topic': 59, 'pearson': 0.057325823162778157}, {'Topic': 51, 'pearson': 0.057255128130781353}]
78 [{'Topic': 69, 'pearson': 0.065280997467337717}, {'Topic': 64, 'pearson': 0.059473010620331335}, {'Topic': 75, 'pearson': 0.058247986591595149}, {'Topic': 51, 'pearson': 0.056788732838803299}, {'Topic': 73, 'pearson': 0.05663608549313582}]
79 [{'Topic': 20, 'pearson': 0.066958643291829878}, {'Topic': 69, 'pearson': 0.063614822708122118}, {'Topic': 61, 'pearson': 0.063568691875950198}, {'Topic': 40, 'pearson': 0.062373871396861673}, {'Topic': 59, 'pearson': 0.061592204350556352}]

In [48]:
patients_nmf,components = generateNMF(42)
result = getPearson(patients_nmf,survived)

In [49]:
result[:5]


Out[49]:
[{'Topic': 20, 'pearson': 0.11616399648987753},
 {'Topic': 19, 'pearson': 0.062788438905963348},
 {'Topic': 25, 'pearson': 0.06106109486579217},
 {'Topic': 40, 'pearson': 0.053276392781589021},
 {'Topic': 37, 'pearson': 0.048457490713499883}]

In [ ]: