aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/experiment/experiment.component.ts
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/app/experiment/experiment.component.ts')
-rw-r--r--frontend/src/app/experiment/experiment.component.ts50
1 files changed, 42 insertions, 8 deletions
diff --git a/frontend/src/app/experiment/experiment.component.ts b/frontend/src/app/experiment/experiment.component.ts
index b5e1d1f4..64adce3f 100644
--- a/frontend/src/app/experiment/experiment.component.ts
+++ b/frontend/src/app/experiment/experiment.component.ts
@@ -1,10 +1,14 @@
import { Component, OnInit } from '@angular/core';
import Experiment, { NullValReplacer, NullValueOptions, ReplaceWith, Encoding } from '../_data/Experiment';
-import Model from '../_data/Model';
+import Model,{ProblemType} from '../_data/Model';
import Dataset, { ColumnInfo } from '../_data/Dataset';
import { ModelsService } from '../_services/models.service';
import Shared from '../Shared';
import { ExperimentsService } from '../_services/experiments.service';
+import { ColumnEncoding } from '../_data/Experiment';
+import { Router } from '@angular/router';
+import { TrainingComponent } from '../training/training.component';
+import { NEVER, retryWhen } from 'rxjs';
@Component({
selector: 'app-experiment',
@@ -21,14 +25,16 @@ export class ExperimentComponent implements OnInit {
NullValueOptions = NullValueOptions;
ReplaceWith = ReplaceWith;
Encoding = Encoding;
+ ColumnEncoding = ColumnEncoding;
Object = Object;
-
+ ProblemType=ProblemType;
selectedColumnsInfoArray: ColumnInfo[] = [];
selectedNotNullColumnsArray: string[] = [];
tempTestSetDistribution = 90;
+ carouselIndex: number = 0;
- constructor(private modelsService: ModelsService, private experimentsService: ExperimentsService) {
+ constructor(private experimentsService: ExperimentsService, private router: Router) {
}
ngOnInit(): void {
@@ -38,6 +44,16 @@ export class ExperimentComponent implements OnInit {
this.selectedDataset = dataset;
this.selectedColumnsInfoArray = this.selectedDataset.columnInfo;
this.selectedNotNullColumnsArray = [];
+ this.experiment.outputColumn = this.selectedDataset.columnInfo[this.selectedDataset.columnInfo.length - 1].columnName;
+
+ this.resetColumnEncodings();
+ }
+
+ resetColumnEncodings() {
+ this.experiment.encodings = [];
+ for (let i = 0; i < this.selectedColumnsInfoArray.length; i++) {
+ this.experiment.encodings.push(new ColumnEncoding(this.selectedColumnsInfoArray[i].columnName, Encoding.Label));
+ }
}
getInputById(id: string): HTMLInputElement {
@@ -153,7 +169,7 @@ export class ExperimentComponent implements OnInit {
}
saveExperiment() {
- if (this.selectedDataset == undefined) {
+ if (this.selectedDataset == undefined) {
Shared.openDialog("Greška", "Izvor podataka nije izabran!");
return;
}
@@ -184,10 +200,9 @@ export class ExperimentComponent implements OnInit {
this.experimentsService.addExperiment(this.experiment).subscribe((response) => {
this.experiment = response;
- this.selectedColumnsInfoArray = [];
- this.selectedNotNullColumnsArray = [];
-
- Shared.openDialog("Obaveštenje", "Eksperiment je uspešno kreiran.");
+ Shared.openYesNoDialog("Obaveštenje", "Eksperiment je uspešno kreiran. Da li želite da pređete na treniranje modela?", () => {
+ this.router.navigate(['/training', this.experiment._id]);
+ });
}, (error) => {
if (error.error == "Experiment with this name exists") {
Shared.openDialog("Greška", "Eksperiment sa unetim nazivom već postoji u Vašoj kolekciji. Unesite neki drugi naziv.");
@@ -205,4 +220,23 @@ export class ExperimentComponent implements OnInit {
}
return counter;
}
+
+ updateCarouselIndex(newIndex: number) {
+ if (newIndex > 2)
+ newIndex = 2;
+ else if (newIndex < 0)
+ newIndex = 0;
+
+ if (this.carouselIndex == 0 && (newIndex == 1 || newIndex == 2))
+ this.checkRequiredData();
+ this.carouselIndex = newIndex;
+ }
+
+ checkRequiredData() {
+ if (this.selectedDataset == undefined) {
+ (<HTMLAnchorElement>document.getElementById("firstStep")).click();
+ Shared.openDialog("Pažnja", "Potrebno je da dodate ili izabere izvor podataka kako biste prešli na naredni korak (preprocesiranje).");
+ return;
+ }
+ }
}