-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDataPreprocessing.cs
More file actions
41 lines (38 loc) · 1.26 KB
/
Copy pathDataPreprocessing.cs
File metadata and controls
41 lines (38 loc) · 1.26 KB
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
public class DataPreprocessing
{
public static (double[],double,double) Normalize(double[] data)
{
double min = double.MaxValue;
double max = double.MinValue;
foreach (double value in data)
{
if (value < min) min = value;
if (value > max) max = value;
}
double[] normalizedData = new double[data.Length];
for (int i = 0; i < data.Length; i++)
{
normalizedData[i] = (data[i] - min) / (max - min);
}
return (normalizedData, min, max);
}
public static double Denormalize(double data, double min, double max){
return data*(max-min)+min;
}
}
class SequenceGenerator
{
public static (double[][], double[]) CreateSequences(double[] data, int sequenceLength)
{
List<double[]> sequences = new List<double[]>();
List<double> labels = new List<double>();
for (int i = 0; i < data.Length - sequenceLength; i++)
{
double[] sequence = new double[sequenceLength];
Array.Copy(data, i, sequence, 0, sequenceLength);
sequences.Add(sequence);
labels.Add(data[i + sequenceLength]); // Target value
}
return (sequences.ToArray(), labels.ToArray());
}
}