-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathimportfile.m
103 lines (85 loc) · 5.05 KB
/
importfile.m
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
function [features, labels] = importfile(filename_x, filename_y, startRow, endRow)
% Import Train Data Like:
% [features, labels] = importfile('Data\X_train.txt','Data\y_train.txt', 1, 7352);
% or
% [features, labels] = importfile('Data\X_train.txt','Data\y_train.txt');
% Import Test Data Like:
% [features, labels] = importfile('Data\X_test.txt','Data\y_test.txt', 1, 2947);
% or
% [features, labels] = importfile('Data\X_test.txt','Data\y_test.txt');
% Input Check
if nargin<=2
startRow = 1;
endRow = inf;
end
%% Import X_Train
% Format for each line of text:
formatSpec = ['%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%' ...
'16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f' ...
'%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16' ...
'f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%1' ...
'6f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%' ...
'16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f' ...
'%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16' ...
'f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%1' ...
'6f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%' ...
'16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f' ...
'%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16' ...
'f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%1' ...
'6f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%' ...
'16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f' ...
'%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16' ...
'f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%1' ...
'6f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%' ...
'16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f' ...
'%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16' ...
'f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%1' ...
'6f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%' ...
'16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f' ...
'%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16' ...
'f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%1' ...
'6f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%' ...
'16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f' ...
'%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16' ...
'f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%1' ...
'6f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%' ...
'16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f' ...
'%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16' ...
'f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%1' ...
'6f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%' ...
'16f%16f%16f%16f%16f%16f%16f%16f%16f%16f%f%[^\n\r]'];
% Open the text file.
fileID = fopen(filename_x,'r');
% Read columns of data according to the format.
dataArray = textscan(fileID, formatSpec, endRow(1)-startRow(1)+1, ...
'Delimiter', '', 'WhiteSpace', '', 'TextType', 'string', ...
'EmptyValue', NaN, 'HeaderLines', startRow(1)-1, ...
'ReturnOnError', false, 'EndOfLine', '\r\n');
for block=2:length(startRow)
frewind(fileID);
dataArrayBlock = textscan(fileID, formatSpec, endRow(block)-startRow(block)+1, ...
'Delimiter', '', 'WhiteSpace', '', 'TextType', 'string', 'EmptyValue', ...
NaN, 'HeaderLines', startRow(block)-1, 'ReturnOnError', false, 'EndOfLine', '\r\n');
for col=1:length(dataArray)
dataArray{col} = [dataArray{col};dataArrayBlock{col}];
end
end
% Close the text file.
fclose(fileID);
% Create output variable
x = [dataArray{1:end-1}];
%% Import Y_Train
opts = delimitedTextImportOptions("NumVariables", 1); % Set up the Import Options and import the data
opts.DataLines = [startRow, endRow]; % Specify range and delimiter
opts.Delimiter = ",";
opts.VariableNames = "VarName1"; % Specify column names and types
opts.VariableTypes = "double";
opts.ImportErrorRule = "omitrow"; % Specify file level properties
opts.MissingRule = "omitrow";
opts.ExtraColumnsRule = "ignore";
opts.EmptyLineRule = "read";
y = readtable(filename_y, opts); % Import the data
y = table2array(y); % Convert to output type
features = x;
labels = y;
end