/
basic_example.py
80 lines (76 loc) · 3.48 KB
/
basic_example.py
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
from fedot.core.pipelines.pipeline_builder import PipelineBuilder
from examples.example_utils import calculate_regression_metric
from fedot_ind.api.utils.data import init_input_data
from fedot_ind.api.utils.path_lib import PROJECT_PATH
from fedot_ind.core.repository.initializer_industrial_models import IndustrialModels
from fedot_ind.tools.loader import DataLoader
model_dict = {
'regression_with_statistical_features': PipelineBuilder().add_node('quantile_extractor',
params={'window_size': 5}).add_node('ridge'),
'regression_pca_with_statistical_features': PipelineBuilder().add_node('quantile_extractor',
params={'window_size': 5})
.add_node('pca', params={'n_components': 0.9})
.add_node('ridge'),
'regression_with_reccurence_features': PipelineBuilder().add_node('recurrence_extractor',
params={'window_size': 20}).add_node('ridge'),
'regression_pca_with_reccurence_features': PipelineBuilder().add_node('recurrence_extractor',
params={'window_size': 20})
.add_node('pca', params={'n_components': 0.9})
.add_node('ridge'),
'regression_with_topological_features': PipelineBuilder().add_node('topological_extractor',
params={'window_size': 20})
.add_node('pca', params={'n_components': 0.9})
.add_node('ridge'),
'regression_pca_with_topological_features': PipelineBuilder().add_node('topological_extractor',
params={'window_size': 20})
.add_node('pca', params={'n_components': 0.9})
.add_node('ridge')
}
metric_dict = {}
data_path = PROJECT_PATH + '/examples/data'
dataset_list = [
# 'AppliancesEnergy',
# 'AustraliaRainfall',
# 'BeijingPM10Quality',
# 'BeijingPM25Quality',
# 'BenzeneConcentration',
# 'HouseholdPowerConsumption1',
# 'HouseholdPowerConsumption2',
# 'IEEEPPG',
# 'FloodModeling1',
# 'FloodModeling2',
# 'FloodModeling3'
# 'LiveFuelMoistureContent',
# 'BIDMC32HR',
# 'BIDMC32RR',
# 'BIDMC32SpO2',
# 'DailyOilGasPrices',
# 'ElectricityPredictor',
# 'OccupancyDetectionLight',
# 'SolarRadiationAndalusia',
# 'TetuanEnergyConsumption',
# 'WindTurbinePower',
# 'ElectricMotorTemperature',
# 'LPGasMonitoringHomeActivity',
# 'GasSensorArrayAcetone',
# 'GasSensorArrayEthanol',
# 'WaveTensionData'
]
if __name__ == "__main__":
dataset_name = 'MadridPM10Quality-no-missing'
with IndustrialModels():
_, train_data, test_data = DataLoader(dataset_name=dataset_name).read_train_test_files(
dataset_name=dataset_name,
data_path=data_path)
for model in model_dict.keys():
pipeline = model_dict[model].build()
input_data = init_input_data(
train_data[0], train_data[1], task='regression')
val_data = init_input_data(
test_data[0], test_data[1], task='regression')
pipeline.fit(input_data)
features = pipeline.predict(val_data).predict
metric = calculate_regression_metric(
test_target=test_data[1], labels=features)
metric_dict.update({model: metric})
print(metric_dict)