aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--frontend/src/app/_data/Model.ts2
-rw-r--r--frontend/src/app/_elements/dataset-load/dataset-load.component.html4
-rw-r--r--frontend/src/app/_elements/dataset-load/dataset-load.component.ts11
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.html39
-rw-r--r--frontend/src/app/_pages/add-model/add-model.component.ts16
5 files changed, 47 insertions, 25 deletions
diff --git a/frontend/src/app/_data/Model.ts b/frontend/src/app/_data/Model.ts
index a891c10c..a038325e 100644
--- a/frontend/src/app/_data/Model.ts
+++ b/frontend/src/app/_data/Model.ts
@@ -12,7 +12,7 @@ export default class Model {
public columnToPredict: string = '',
public randomOrder: boolean = true,
public randomTestSet: boolean = true,
- public randomTestSetDistribution: number = 0.10, //0.1-0.9 (10% - 90%)
+ public randomTestSetDistribution: number = 10, //0.1-0.9 (10% - 90%) JESTE OVDE ZAKUCANO 10, AL POSLATO JE KAO 0.1 BACK-U
// Neural net training settings
public type: ANNType = ANNType.FullyConnected,
diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.html b/frontend/src/app/_elements/dataset-load/dataset-load.component.html
index fcec6ec3..76fc40e2 100644
--- a/frontend/src/app/_elements/dataset-load/dataset-load.component.html
+++ b/frontend/src/app/_elements/dataset-load/dataset-load.component.html
@@ -30,7 +30,7 @@
</div>
</div>
- <div class="table-responsive">
+ <div class="table-responsive" *ngIf="hasInput">
<table *ngIf="csvRecords.length > 0 && hasHeader" class="table table-bordered table-light mt-4">
<thead>
<tr>
@@ -53,7 +53,7 @@
</table>
</div>
- <div *ngIf="csvRecords.length > 0" id="info">
+ <div *ngIf="csvRecords.length > 0 && hasInput" id="info">
. . . <br>
{{rowsNumber}} x {{colsNumber}}
</div>
diff --git a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts b/frontend/src/app/_elements/dataset-load/dataset-load.component.ts
index 913592eb..bccf13b7 100644
--- a/frontend/src/app/_elements/dataset-load/dataset-load.component.ts
+++ b/frontend/src/app/_elements/dataset-load/dataset-load.component.ts
@@ -16,7 +16,7 @@ export class DatasetLoadComponent {
hasHeader: boolean = true;
- slice: string = "";
+ hasInput: boolean = false;
csvRecords: any[] = [];
files: File[] = [];
@@ -33,6 +33,15 @@ export class DatasetLoadComponent {
changeListener($event: any): void {
this.files = $event.srcElement.files;
+ if (this.files.length == 0 || this.files[0] == null) {
+ //console.log("NEMA FAJLA");
+ //this.loaded.emit("not loaded");
+ this.hasInput = false;
+ return;
+ }
+ else
+ this.hasInput = true;
+
console.log(this.files);
this.update();
}
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 c6f21f1e..98cd204b 100644
--- a/frontend/src/app/_pages/add-model/add-model.component.html
+++ b/frontend/src/app/_pages/add-model/add-model.component.html
@@ -38,10 +38,8 @@
<div id="divInputs" class="form-check mt-2">
<br>
<div *ngFor="let item of datasetLoadComponent.dataset.header; let i = index">
- <input *ngIf="i == 0" class="form-check-input" type="checkbox" value="{{item}}"
- id="cb_{{item}}" name="cbs" checked>
- <input *ngIf="i != 0" class="form-check-input" type="checkbox" value="{{item}}"
- id="cb_{{item}}" name="cbs">&nbsp;
+ <input class="form-check-input" type="checkbox" value="{{item}}"
+ id="cb_{{item}}" name="cbs" checked [disabled]="this.selectedOutputColumnVal == item">&nbsp;
<label class="form-check-label" for="cb_{{item}}">
{{item}}
</label>
@@ -53,10 +51,8 @@
<div id="divOutputs" class="form-check mt-2">
<br>
<div *ngFor="let item of datasetLoadComponent.dataset.header; let i = index">
- <input *ngIf="i == 0" class="form-check-input" type="radio" value="{{item}}"
- id="rb_{{item}}" name="rbs" checked>
- <input *ngIf="i != 0" class="form-check-input" type="radio" value="{{item}}"
- id="rb_{{item}}" name="rbs">&nbsp;
+ <input class="form-check-input" type="radio" value="{{item}}"
+ id="rb_{{item}}" name="rbs" (change)="this.selectedOutputColumnVal = item">&nbsp;
<label class="form-check-label" for="rb_{{item}}">
{{item}}
</label>
@@ -193,15 +189,10 @@
<div class="col-1">
</div>
<div class="col-5">
- <label for="type" class="form-check-label">Podela test skupa:&nbsp;&nbsp;
- <input class="form-check-input" type="checkbox" [checked]="newModel.randomTestSet"
+ <label for="splitYesNo" class="form-check-label">Podela test skupa:&nbsp;&nbsp;
+ <input id="splitYesNo" class="form-check-input" type="checkbox" [checked]="newModel.randomTestSet"
(change)="newModel.randomTestSet = !newModel.randomTestSet">
- </label> &nbsp;&nbsp;&nbsp;&nbsp;
- test
- <mat-slider min="0.1" max="0.9" step="0.1" value="0.2" name="randomTestSetDistribution" thumbLabel
- [disabled]="!newModel.randomTestSet" [(ngModel)]="newModel.randomTestSetDistribution">
- </mat-slider>
- trening
+ </label>
</div>
<div class="col">
</div>
@@ -224,9 +215,14 @@
</option>
</select>
</div>
- <div class="col">
+ <div class="col-1">
</div>
- <div class="col">
+ <div class="col-2">
+ <label for="percentage" class="form-label">Procenat podataka koji se uzima za trening skup:</label>
+ </div>
+ <div class="col-1">
+ <input id="percentage" type="number" class="form-control" min="10" max="90" step="10" value="10" [(ngModel)]="newModel.randomTestSetDistribution"
+ [disabled] = "!newModel.randomTestSet">
</div>
</div>
@@ -247,7 +243,14 @@
</option>
</select>
</div>
+ <div class="col-1">
+ </div>
<div class="col">
+ trening
+ <mat-slider min="10" max="90" step="10" value="10" name="randomTestSetDistribution" thumbLabel
+ [disabled]="!newModel.randomTestSet" [(ngModel)]="newModel.randomTestSetDistribution">
+ </mat-slider>
+ test
</div>
<div class="col">
</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 a4cabb82..6e9c95ca 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,4 @@
import { Component, OnInit, ViewChild } from '@angular/core';
-import { Observable, of } from 'rxjs';
import Model from 'src/app/_data/Model';
import { ANNType, Encoding, ActivationFunction, LossFunction, Optimizer } from 'src/app/_data/Model';
import { DatasetLoadComponent } from 'src/app/_elements/dataset-load/dataset-load.component';
@@ -27,6 +26,8 @@ export class AddModelComponent implements OnInit {
Object = Object;
shared = shared;
+ selectedOutputColumnVal: string = '';
+
constructor(private models: ModelsService) {
this.newModel = new Model();
}
@@ -59,6 +60,7 @@ export class AddModelComponent implements OnInit {
this.models.addDataset(this.datasetLoadComponent.dataset).subscribe((dataset) => {
console.log('ADD MODEL: STEP 3 - ADD MODEL WITH DATASET ID ', dataset._id);
this.newModel.datasetId = dataset._id;
+ this.newModel.randomTestSetDistribution = 1 - Math.round(this.newModel.randomTestSetDistribution / 100 * 10) / 10;
this.newModel.username = shared.username;
this.models.addModel(this.newModel).subscribe((response) => {
console.log('ADD MODEL: DONE! REPLY:\n', response);
@@ -76,7 +78,7 @@ export class AddModelComponent implements OnInit {
for (let i = 0; i < checkboxes.length; i++) {
let thatCb = <HTMLInputElement>checkboxes[i];
- if (thatCb.checked)
+ if (thatCb.checked == true && thatCb.disabled == false)
this.newModel.inputColumns.push(thatCb.value);
}
//console.log(this.checkedInputCols);
@@ -95,10 +97,18 @@ export class AddModelComponent implements OnInit {
//console.log(this.checkedOutputCol);
}
validationInputsOutput(): boolean {
- if (this.newModel.inputColumns.length == 0) {
+ if (this.newModel.inputColumns.length == 0 && this.newModel.columnToPredict == '') {
+ alert("Molimo Vas da izaberete ulazne i izlazne kolone za mrežu.")
+ return false;
+ }
+ else if (this.newModel.inputColumns.length == 0) {
alert("Molimo Vas da izaberete ulaznu kolonu/kolone za mrežu.")
return false;
}
+ else if (this.newModel.columnToPredict == '') {
+ alert("Molimo Vas da izaberete izlaznu kolonu za mrežu.")
+ return false;
+ }
for (let i = 0; i < this.newModel.inputColumns.length; i++) {
if (this.newModel.inputColumns[i] == this.newModel.columnToPredict) {
let colName = this.newModel.columnToPredict;