1 | %ARRHYTHMIA 420 objects with 278 features in 12 classes |
---|
2 | % |
---|
3 | % X = ARRHYTHMIA(CLASS,VAL) |
---|
4 | % |
---|
5 | % The aim is to distinguish between the presence and absence of cardiac |
---|
6 | % arrhythmia and to classify it in one of the 16 groups. Class 01 refers |
---|
7 | % to 'normal' ECG classes 02 to 15 refers to different classes of |
---|
8 | % arrhythmia and class 16 refers to the rest of unclassified ones. |
---|
9 | % |
---|
10 | % X = ARRHYTHMIA(VAL); |
---|
11 | % |
---|
12 | % Per default the entries with missing values are removed. When you want |
---|
13 | % to do something else, use one of the options in missingvalues.m. |
---|
14 | function x = arrhythmia(val); |
---|
15 | |
---|
16 | prdatasets(mfilename,1,'http://prtools.org/prdatasets/arrhythmia.dat'); |
---|
17 | if nargin<1 |
---|
18 | val = 'remove'; |
---|
19 | end |
---|
20 | |
---|
21 | user.desc='The Arrhymthmia database from UCI. The aim is to distinguish between the presence and absence of cardiac arrhythmia and to classify it in one of the 16 groups.'; |
---|
22 | user.link = 'ftp://ftp.ics.uci.edu/pub/machine-learning-databases/arrhythmia'; |
---|
23 | |
---|
24 | fl = {'age' 'sex' 'height' 'weight' 'QRS duration' 'P-R interval' ... |
---|
25 | 'Q-T interval' 'T interval' 'P interval' 'QRS' 'T' 'P' 'QRST' ... |
---|
26 | 'J' 'heartrate'}; |
---|
27 | fl1 = {'Q wave width' 'R wave width' 'S wave width' 'R'' wave width' ... |
---|
28 | 'S'' wave width' 'number of intrinsic deflections' ... |
---|
29 | 'ragged R wave' 'diphasic derivation of R wave' ... |
---|
30 | 'ragged P wave' 'diphasic derivation of P wave' ... |
---|
31 | 'ragged T wave' 'diphasic derivation of T wave'}; |
---|
32 | fl = [fl strcat('DI-',fl1) strcat('DII-',fl1) strcat('DIII-',fl1) ... |
---|
33 | strcat('AVR-',fl1) strcat('AVL-',fl1) strcat('AVF-',fl1) ... |
---|
34 | strcat('V1-',fl1) strcat('V2-',fl1) strcat('V3-',fl1) ... |
---|
35 | strcat('V4-',fl1) strcat('V5-',fl1) strcat('V6-',fl1)]; |
---|
36 | fl2 = {'JJ wave ampl' 'Q wave ampl' 'R wave ampl' ... |
---|
37 | 'S wave ampl' 'R'' wave ampl' 'S'' wave ampl' 'P wave ampl' ... |
---|
38 | 'T wave ampl' 'QRSA sum' 'QRSTA'}; |
---|
39 | fl = [fl strcat('DI-',fl2) strcat('DII-',fl2) strcat('DIII-',fl2) ... |
---|
40 | strcat('AVR-',fl2) strcat('AVL-',fl2) strcat('AVF-',fl2) ... |
---|
41 | strcat('V1-',fl2) strcat('V2-',fl2) strcat('V3-',fl2) ... |
---|
42 | strcat('V4-',fl2) strcat('V5-',fl2) strcat('V6-',fl2)]; |
---|
43 | |
---|
44 | a = load('arrhythmia.dat'); |
---|
45 | x = pr_dataset(a(:,1:(end-1)),a(:,end)); |
---|
46 | x = setfeatlab(x,fl); |
---|
47 | x = setname(x,'Arrhythmia normal'); |
---|
48 | x(:,14) = []; % there are so many missing values, that I just remove this |
---|
49 | [x,msg] = prmissingvalues(x,val); |
---|
50 | user.desc = [user.desc msg]; |
---|
51 | x = setuser(x,user); |
---|
52 | x = setlablist(x); |
---|
53 | return |
---|