Predicting Mortality of ICU Patients: The PhysioNet/Computing in Cardiology Challenge 2012 1.0.0
(5,210 bytes)
function [ X,header ] = pnBaseFeatures(data)
%PNBASEFEATURES Extract base features for a given model
% [ X,header ] = pnBaseFeatures(data,featType) extracts features for the data
% using the 'Base' method ONLY.
%
% Inputs:
% data - Cell array of data.
% Column 1 - Subject IDs
% Column 2 - Time stamp vectors for each subject
% Column 3 - Feature name vectors for each subject
% Column 4 - Data value vectors for each subject
%
% Outputs:
% X - Double matrix NxD with D features needed for training.
% header - Cell array 1xD of labels for each feature used.
%
%
% Example
% bpath = './set-a/';
% data = pnLoadTextFilesCell(bpath);
% stat = pnBaseFeatures(data(1,:)) %
% See also PNGENERATEFEATURES
% References:
% Physionet Challenge 2012
% Copyright 2012 Alistair Johnson
% $LastChangedBy: alistair $
% $LastChangedDate: 2012-08-10 16:38:54 -0400 (Fri, 10 Aug 2012) $
% $Revision: 148 $
% Originally written on GLNXA64 by Alistair Johnson, 21-Jun-2012 13:00:48
% Contact: alistairewj@gmail.com
%=== Extract features of interest across multiple fields
[fields,non_temp_fields] = pnDataDescriptions;
fields = fields(:,1); non_temp_fields = non_temp_fields(:,1);
extractFcns = {'pnFirstValue','pnLastValue','pnLowestValue',...
'pnHighestValue','pnMedianValue','pnNumRecordings'};
[ data_used ] = pnExtractFeatures(data,extractFcns,fields);
%=== Repeat for non-temporal features (1 value)
[ tmpData ] = pnExtractFeatures(data,{'pnFirstValue'},non_temp_fields);
data_used = pnImputeField(data_used,tmpData);
feats = genFeatsForExtractData;
%=== Extract first data point to X (each label only contains 1 value)
[X,header] = pnExtractDataFinal(data_used,'first',[0 2880],feats);
end
function [feats] = genFeatsForExtractData
feats = {'ALPFirst';'ALPHighest';'ALPLast';'ALPLowest';'ALPMedian';'ALPNumRecordings';'ALTFirst';'ALTHighest';'ALTLast';'ALTLowest';'ALTMedian';'ALTNumRecordings';'ASTFirst';'ASTHighest';'ASTLast';'ASTLowest';'ASTMedian';'ASTNumRecordings';'AgeFirst';'AlbuminFirst';'AlbuminHighest';'AlbuminLast';'AlbuminLowest';'AlbuminMedian';'AlbuminNumRecordings';'BUNFirst';'BUNHighest';'BUNLast';'BUNLowest';'BUNMedian';'BUNNumRecordings';'BilirubinFirst';'BilirubinHighest';'BilirubinLast';'BilirubinLowest';'BilirubinMedian';'BilirubinNumRecordings';'CholesterolFirst';'CholesterolHighest';'CholesterolLast';'CholesterolLowest';'CholesterolMedian';'CholesterolNumRecordings';'CreatinineFirst';'CreatinineHighest';'CreatinineLast';'CreatinineLowest';'CreatinineMedian';'CreatinineNumRecordings';'DiasABPFirst';'DiasABPHighest';'DiasABPLast';'DiasABPLowest';'DiasABPMedian';'DiasABPNumRecordings';'FiO2First';'FiO2Highest';'FiO2Last';'FiO2Lowest';'FiO2Median';'FiO2NumRecordings';'GCSFirst';'GCSHighest';'GCSLast';'GCSLowest';'GCSMedian';'GCSNumRecordings';'GenderFirst';'GlucoseFirst';'GlucoseHighest';'GlucoseLast';'GlucoseLowest';'GlucoseMedian';'GlucoseNumRecordings';'HCO3First';'HCO3Highest';'HCO3Last';'HCO3Lowest';'HCO3Median';'HCO3NumRecordings';'HCTFirst';'HCTHighest';'HCTLast';'HCTLowest';'HCTMedian';'HCTNumRecordings';'HRFirst';'HRHighest';'HRLast';'HRLowest';'HRMedian';'HRNumRecordings';'HeightFirst';'KFirst';'KHighest';'KLast';'KLowest';'KMedian';'KNumRecordings';'LactateFirst';'LactateHighest';'LactateLast';'LactateLowest';'LactateMedian';'LactateNumRecordings';'MAPFirst';'MAPHighest';'MAPLast';'MAPLowest';'MAPMedian';'MAPNumRecordings';'MechVentFirst';'MechVentHighest';'MechVentLast';'MechVentLowest';'MechVentMedian';'MechVentNumRecordings';'MgFirst';'MgHighest';'MgLast';'MgLowest';'MgMedian';'MgNumRecordings';'NIDiasABPFirst';'NIDiasABPHighest';'NIDiasABPLast';'NIDiasABPLowest';'NIDiasABPMedian';'NIDiasABPNumRecordings';'NIMAPFirst';'NIMAPHighest';'NIMAPLast';'NIMAPLowest';'NIMAPMedian';'NIMAPNumRecordings';'NISysABPFirst';'NISysABPHighest';'NISysABPLast';'NISysABPLowest';'NISysABPMedian';'NISysABPNumRecordings';'NaFirst';'NaHighest';'NaLast';'NaLowest';'NaMedian';'NaNumRecordings';'PaCO2First';'PaCO2Highest';'PaCO2Last';'PaCO2Lowest';'PaCO2Median';'PaCO2NumRecordings';'PaO2First';'PaO2Highest';'PaO2Last';'PaO2Lowest';'PaO2Median';'PaO2NumRecordings';'PlateletsFirst';'PlateletsHighest';'PlateletsLast';'PlateletsLowest';'PlateletsMedian';'PlateletsNumRecordings';'RecordIDFirst';'RespRateFirst';'RespRateHighest';'RespRateLast';'RespRateLowest';'RespRateMedian';'RespRateNumRecordings';'SaO2First';'SaO2Highest';'SaO2Last';'SaO2Lowest';'SaO2Median';'SaO2NumRecordings';'SysABPFirst';'SysABPHighest';'SysABPLast';'SysABPLowest';'SysABPMedian';'SysABPNumRecordings';'TempFirst';'TempHighest';'TempLast';'TempLowest';'TempMedian';'TempNumRecordings';'TroponinIFirst';'TroponinIHighest';'TroponinILast';'TroponinILowest';'TroponinIMedian';'TroponinINumRecordings';'TroponinTFirst';'TroponinTHighest';'TroponinTLast';'TroponinTLowest';'TroponinTMedian';'TroponinTNumRecordings';'UrineFirst';'UrineHighest';'UrineLast';'UrineLowest';'UrineMedian';'UrineNumRecordings';'WBCFirst';'WBCHighest';'WBCLast';'WBCLowest';'WBCMedian';'WBCNumRecordings';'WeightFirst';'WeightHighest';'WeightLast';'WeightLowest';'WeightMedian';'WeightNumRecordings';'pHFirst';'pHHighest';'pHLast';'pHLowest';'pHMedian';'pHNumRecordings';};
end