aboutsummaryrefslogtreecommitdiff
path: root/frontend/src/app/_pages
diff options
context:
space:
mode:
authorTAMARA JERINIC <tamara.jerinic@gmail.com>2022-03-30 23:09:01 +0200
committerTAMARA JERINIC <tamara.jerinic@gmail.com>2022-03-30 23:10:16 +0200
commit39fc1f0cc9871b4436b839acb6ce4260e6c33931 (patch)
tree4b8a23f510f3eb78b4414d83a6a434391e6cd425 /frontend/src/app/_pages
parent158f1207206ccbb7955a17e0918c68d10216b3ec (diff)
Omogućeno je sortiranje padajuće liste za izbor funkcije gubitka u zavisnosti od tipa problema.
Diffstat (limited to 'frontend/src/app/_pages')
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.html56
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.ts28
2 files changed, 74 insertions, 10 deletions
diff --git a/frontend/src/app/_pages/add-model/add-model.component.html b/frontend/src/app/_pages/add-model/add-model.component.html
index 3516805b..d1f15ffe 100644
--- a/frontend/src/app/_pages/add-model/add-model.component.html
+++ b/frontend/src/app/_pages/add-model/add-model.component.html
@@ -195,6 +195,7 @@
<h2 class="mt-5 mb-4">Parametri treniranja:</h2>
+<!--**********************************************************TIP*********************************************************-->
<div>
<div class="row p-2">
<div class="col-1">
@@ -203,7 +204,9 @@
<label for="type" class="col-form-label">Tip problema: </label>
</div>
<div class="col-2">
- <select id=typeOptions class="form-control" name="type" [(ngModel)]="newModel.type">
+ <select id=typeOptions class="form-control" name="type" [(ngModel)]="newModel.type"
+ [(ngModel)]="problemtype"
+ (change)="filterOptions()">
<option
*ngFor="let option of Object.keys(ProblemType); let optionName of Object.values(ProblemType)"
[value]="option">
@@ -211,6 +214,7 @@
</option>
</select>
</div>
+<!--******************************************************************************************************************-->
<div class="col-1">
</div>
<div class="col-3">
@@ -272,7 +276,7 @@
<input type="number" min="1" class="form-control" name="batchSize" [(ngModel)]="newModel.batchSize">
</div>
</div>
-
+<!--***********************************LOSS FUNCTION*********************************************-->
<div class="row p-2">
<div class="col-1">
</div>
@@ -283,7 +287,7 @@
<select id=lossFunctionOptions class="form-control" name="lossFunction"
[(ngModel)]="newModel.lossFunction">
<option
- *ngFor="let option of Object.keys(LossFunction); let optionName of Object.values(LossFunction)"
+ *ngFor="let option of Object.keys(lossFunction); let optionName of Object.values(lossFunction)"
[value]="option">
{{ optionName }}
</option>
@@ -291,6 +295,8 @@
</div>
<div class="col-1">
</div>
+
+<!-- ************************************************************************************************** -->
<div class="col-3 mt-2">
<label for="type" class="form-check-label">Nasumičan redosled podataka?</label>
<input class="mx-3 form-check-input" type="checkbox" [(ngModel)]="newModel.randomOrder"
@@ -300,7 +306,7 @@
</div>
</div>
- <div class="row p-2">
+ <!--<div class="row p-2">
<div class="col-3"></div>
<div class="col-3">
<label for="hiddenLayerActivationFunction" class="col-form-label">Funkcija aktivacije skrivenih
@@ -320,7 +326,7 @@
</div>
<div class="col-3"></div>
</div>
-
+ -->
<div class="row p-2">
<div class="col-1">
</div>
@@ -341,12 +347,42 @@
[(ngModel)]="tempTestSetDistribution" [disabled]="!newModel.randomTestSet">
</div>
</div>
+ <div class="col">
+ trening
+ <mat-slider min="10" max="90" step="10" value="10" name="randomTestSetDistribution" thumbLabel
+ [disabled]="!newModel.randomTestSet" [(ngModel)]="tempTestSetDistribution">
+ </mat-slider>
+ test
+ </div>
+<!--***********************************AKTIVACIONE FUNKCIJE*********************************************-->
+<h3 >Aktivacione funkcije</h3>
+
+ <div class="row p-2" style="align-self: center;">
+ <div class="col-3"></div>
+ <div class="col-3">
+ <label for="hiddenLayerActivationFunction" class="col-form-label" style="text-align: center;">Funkcija aktivacije skrivenih
+ slojeva:</label>
+ </div>
+ <div class="col-3">
+ <div *ngFor="let item of [].constructor(newModel.hiddenLayers); let i = index">
+ <select [id]="'hiddenLayerActivationFunctionOption_'+i" class="form-control"
+ [(ngModel)]="newModel.hiddenLayerActivationFunctions[i]">
+ <option
+ *ngFor="let option of Object.keys(ActivationFunction); let optionName of Object.values(ActivationFunction)"
+ [value]="option">
+ {{ optionName }}
+ </option>
+ </select>
+ </div>
+ </div>
+ <div class="col-3"></div>
+ </div>
- <div class="row p-2">
+ <div class="row p-2" style="align-self: center;">
<div class="col-1">
</div>
<div class="col-3">
- <label for="outputLayerActivationFunction" class="col-form-label">Funkcija aktivacije izlaznog
+ <label for="outputLayerActivationFunction" class="col-form-label" style="text-align: center;">Funkcija aktivacije izlaznog
sloja:</label>
</div>
<div class="col-2">
@@ -361,13 +397,15 @@
</div>
<div class="col-1">
</div>
- <div class="col">
+
+
+ <!--<div class="col">
trening
<mat-slider min="10" max="90" step="10" value="10" name="randomTestSetDistribution" thumbLabel
[disabled]="!newModel.randomTestSet" [(ngModel)]="tempTestSetDistribution">
</mat-slider>
test
- </div>
+ </div>-->
<div class="col">
</div>
</div>
diff --git a/frontend/src/app/_pages/add-model/add-model.component.ts b/frontend/src/app/_pages/add-model/add-model.component.ts
index b12ff825..ead9049b 100644
--- a/frontend/src/app/_pages/add-model/add-model.component.ts
+++ b/frontend/src/app/_pages/add-model/add-model.component.ts
@@ -1,5 +1,5 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import Model, { NullValReplacer, ReplaceWith } from 'src/app/_data/Model';
+import Model, { LossFunctionBinaryClassification, LossFunctionMultiClassification, LossFunctionRegression, NullValReplacer, ReplaceWith } from 'src/app/_data/Model';
import { ProblemType, Encoding, ActivationFunction, LossFunction, Optimizer, NullValueOptions } from 'src/app/_data/Model';
import { DatasetLoadComponent } from 'src/app/_elements/dataset-load/dataset-load.component';
import { ModelsService } from 'src/app/_services/models.service';
@@ -26,7 +26,9 @@ export class AddModelComponent implements OnInit {
ProblemType = ProblemType;
Encoding = Encoding;
ActivationFunction = ActivationFunction;
+ activationFunction:any=ActivationFunction
LossFunction = LossFunction;
+ lossFunction : any = LossFunction;
Optimizer = Optimizer;
NullValueOptions = NullValueOptions;
ReplaceWith = ReplaceWith;
@@ -50,6 +52,9 @@ export class AddModelComponent implements OnInit {
//accepted: Boolean;
term: string = "";
+ selectedProblemType:string='';
+
+
constructor(private models: ModelsService, private datasets: DatasetsService, private csv: CsvParseService) {
this.newModel = new Model();
@@ -62,6 +67,7 @@ export class AddModelComponent implements OnInit {
(<HTMLInputElement>document.getElementById("btnMyDataset")).focus();
}
+
viewMyDatasetsForm() {
this.showMyDatasets = true;
this.resetSelectedDataset();
@@ -466,4 +472,24 @@ export class AddModelComponent implements OnInit {
}
arrayColumn = (arr: any[][], n: number) => [...new Set(arr.map(x => x[n]))];
+
+ problemtype:string='';
+
+ filterOptions(){
+ switch(this.problemtype){
+ case 'regresioni':
+ this.lossFunction=LossFunctionRegression;
+ break;
+ case 'binarni-klasifikacioni':
+ this.lossFunction=LossFunctionBinaryClassification;
+ break;
+ case 'multi-klasifikacioni':
+ this.lossFunction=LossFunctionMultiClassification;
+ break;
+ default:
+ break;
+ }
+ }
+
+
}