dinsdag 9 februari 2016

Even een ouder onderzoek

In een eerder diagnose onderzoek heb ik gekeken of er zinvol anomalien gevonden konden worden in vastgelegde echo-onderzoeksgegevens. Dat lijkt hoopvol alleen de onderbouwing is niet altijd even goed terug te vinden. Om de meest 'bijdragende' meetfactoren te bepalen heb ik de absolute afwijking van het gemiddelde per meetwaarde genomen. Deze zijn in principe vergelijkbaar omdat ik alle meetwaarden heb teruggebracht tussen nul en een. De meetwaarden met de grootste afwijking van het gemiddelde heb ik bovenaan gezet. Er lijkt wel enige relatie maar het rapport verklaart dus echter niet zo heel sterk waarom bepaalde onderzoeken als anomalie zijn geselecteerd.


Nu wreekt de weggezakte statistiek kennis zich even. Een meetwaarde is natuurlijk meer afwijkend bij een kleine variatie in de waarden dan bij een grote variatie. Kortom ik moet met de standaard deviatie rekening gaan houden. Gelukkig is Numpy daar ook goed in. Ik deel de absolute afwijking van het gemiddelde door de standaard deviatie. Daarmee zou ik dichter bij een verklaring voor de anomalien moeten komen. Ik hoop dat ik dat goed heb bedacht. :-)

Bij het uitvoeren van het programma krijg ik rare 'warnings':


DeprecationWarning: Passing 1d arrays as data is deprecated in 0.17 and willraise ValueError in 0.19. Reshape your data either using X.reshape(-1, 1) if your data has a single feature or X.reshape(1, -1) if it contains a single sample.

Tevens hebben mijn meetwaarden allen een gewicht 'nan':

Grootste bijdrage (%):
MR Vmax              nan
MV E/Eprime Ratio/Calc nan
PRend Vmax           nan
2D/EDV(Teich)        nan
2D/%FS               nan
2D/EF(Teich)         nan
2D/ESV(Teich)        nan
2D/SV(Teich)         nan
MV Eprime Velocity   nan

LALs(A4C)            nan

Hmmm. Toch maar eens de voorgestelde reshape(1,-1) erbij uitvoeren. Ik krijg in ieder geval de waarschuwing niet meer. Maar hij doet er nu wel heel lang over. Uiteindelijk komt hij toch terug met de waarschuwingen. Ik zie nu dat het waarschijnlijk aan de 'predict-functie' van sklearn ligt. De moet, net als in andere NN's nu een array als input krijgen in versie 0.19. Ik pas het aan:

if clf.predict(X[i:i+1])[0] == -1:

Helaas, nog steeds nan waarden. Zal dus toch in de toegevoegde standaard deviatie code zitten. Morgen maar eens verder zoeken. 
  


      

Geen opmerkingen:

Een reactie posten