-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.m
55 lines (37 loc) · 1.17 KB
/
main.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
clc;
clear;
close all;
%% Load Data
data=LoadData();
%% Generate Basic FIS
fis=CreateInitialFIS(data);
%% Tarin Using GA
fis=TrainFuzzyUsingGA(fis,data);
%fuzzy(fis);
%% Results
% Train Data
TrainOutputs=evalfis(data.TrainInputs,fis);
PlotResults(data.TrainTargets,TrainOutputs,'Train Data');
% Test Data
TestOutputs=evalfis(data.TestInputs,fis);
PlotResults(data.TestTargets,TestOutputs,'Test Data');
disp("MSE Train = " + mse(data.TrainTargets, TrainOutputs));
disp("MSE Test = " + mse(data.TestTargets, TestOutputs));
disp(' ');
% ---------------------
figure('Name','Train Data');
plot(data.TrainInputs,data.TrainTargets);
figure('Name','Train Data Predict');
plot(data.TrainInputs,TrainOutputs);
% ---------------------
figure('Name','Test Data');
plot(data.TestInputs,data.TestTargets);
figure('Name','Test Data Predict');
plot(data.TestInputs,TestOutputs);
ShowTestPractice(fis,0.5);
ShowTestPractice(fis,1.25);
ShowTestPractice(fis,2.7);
ShowTestPractice(fis,3);
ShowTestPractice(fis,4.2);
ShowPlot(data.TestInputs,data.TestTargets,TestOutputs,"Test");
ShowPlot(data.TrainInputs,data.TrainTargets,TrainOutputs,"Train");