From 681f851a6b3663285f32bc380b48a8e80c6e7ade Mon Sep 17 00:00:00 2001 From: Sonja Galovic Date: Tue, 12 Apr 2022 20:52:09 +0200 Subject: "Napravi eskperiment" stranica podesena da radi. Biranje/dodavanje dataseta -> preprocesiranje -> cuvanje eskperimenta --- frontend/src/app/_data/Experiment.ts | 37 +++++- frontend/src/app/_data/Model.ts | 31 +---- .../_elements/model-load/model-load.component.html | 49 -------- .../_elements/model-load/model-load.component.ts | 5 +- .../src/app/experiment/experiment.component.html | 127 +++++++++++++++++---- .../src/app/experiment/experiment.component.ts | 18 ++- 6 files changed, 153 insertions(+), 114 deletions(-) (limited to 'frontend/src') diff --git a/frontend/src/app/_data/Experiment.ts b/frontend/src/app/_data/Experiment.ts index a5aad218..453f6ca0 100644 --- a/frontend/src/app/_data/Experiment.ts +++ b/frontend/src/app/_data/Experiment.ts @@ -2,7 +2,7 @@ export default class Experiment { _id: string = ''; uploaderId: string = ''; constructor( - public name: string = 'Novi experiment', + public name: string = 'Novi eksperiment', public description: string = '', public datasetId: string = '', public inputColumns: string[] = [], @@ -10,7 +10,16 @@ export default class Experiment { public nullValues: NullValueOptions = NullValueOptions.DeleteRows, public nullValuesReplacers: NullValReplacer[] = [], public dateCreated: Date = new Date(), - public lastUpdated: Date = new Date() + public lastUpdated: Date = new Date(), + public modelIds: string[] = [], + + // Test set settings + public randomOrder: boolean = true, + public randomTestSet: boolean = true, + public randomTestSetDistribution: number = 0.1, //0.1-0.9 (10% - 90%) JESTE OVDE ZAKUCANO 10, AL POSLATO JE KAO 0.1 BACK-U + + //TODO - za svaku kolonu se bira enkoding + public encoding: Encoding = Encoding.Label ) { } } @@ -32,4 +41,28 @@ export class NullValReplacer { "column": string; "option": NullValueOptions; "value": string; +} + +export enum Encoding { + Label = 'label', + OneHot = 'onehot', + Ordinal = 'ordinal', + Hashing = 'hashing', + Binary = 'binary', + BaseN = 'baseN' + /* + BackwardDifference = 'backward difference', + CatBoost = 'cat boost', + Count = 'count', + GLMM = 'glmm', + Target = 'target', + Helmert = 'helmert', + JamesStein = 'james stein', + LeaveOneOut = 'leave one out', + MEstimate = 'MEstimate', + Sum = 'sum', + Polynomial = 'polynomial', + WOE = 'woe', + Quantile = 'quantile' + */ } \ No newline at end of file diff --git a/frontend/src/app/_data/Model.ts b/frontend/src/app/_data/Model.ts index 9ea437b1..8a85e296 100644 --- a/frontend/src/app/_data/Model.ts +++ b/frontend/src/app/_data/Model.ts @@ -7,16 +7,10 @@ export default class Model { public description: string = '', public dateCreated: Date = new Date(), public lastUpdated: Date = new Date(), - public experimentId: string = '', - - // Test set settings - public randomOrder: boolean = true, - public randomTestSet: boolean = true, - public randomTestSetDistribution: number = 0.1, //0.1-0.9 (10% - 90%) JESTE OVDE ZAKUCANO 10, AL POSLATO JE KAO 0.1 BACK-U + //public experimentId: string = '', // Neural net training settings public type: ProblemType = ProblemType.Regression, - public encoding: Encoding = Encoding.Label, public optimizer: Optimizer = Optimizer.Adam, public lossFunction: LossFunction = LossFunction.MeanSquaredError, public inputNeurons: number = 1, @@ -39,29 +33,6 @@ export enum ProblemType { // replaceMissing srednja vrednost mean, median, najcesca vrednost (mode) // removeOutliers -export enum Encoding { - Label = 'label', - OneHot = 'onehot', - Ordinal = 'ordinal', - Hashing = 'hashing', - Binary = 'binary', - BaseN = 'baseN' - /* - BackwardDifference = 'backward difference', - CatBoost = 'cat boost', - Count = 'count', - GLMM = 'glmm', - Target = 'target', - Helmert = 'helmert', - JamesStein = 'james stein', - LeaveOneOut = 'leave one out', - MEstimate = 'MEstimate', - Sum = 'sum', - Polynomial = 'polynomial', - WOE = 'woe', - Quantile = 'quantile' - */ -} export enum ActivationFunction { // linear diff --git a/frontend/src/app/_elements/model-load/model-load.component.html b/frontend/src/app/_elements/model-load/model-load.component.html index 0923c895..833b7181 100644 --- a/frontend/src/app/_elements/model-load/model-load.component.html +++ b/frontend/src/app/_elements/model-load/model-load.component.html @@ -85,18 +85,6 @@
-
- -
-
- -
-
@@ -149,43 +137,6 @@
-
- - -
-
-
-
-
- -
-
- trening - - - test -
-
- -
-
- -
-
- -
-

Aktivacione funkcije:

diff --git a/frontend/src/app/_elements/model-load/model-load.component.ts b/frontend/src/app/_elements/model-load/model-load.component.ts index ca6b8ea5..abf19d75 100644 --- a/frontend/src/app/_elements/model-load/model-load.component.ts +++ b/frontend/src/app/_elements/model-load/model-load.component.ts @@ -1,6 +1,6 @@ import { Component, OnInit, ViewChild, Output, EventEmitter } from '@angular/core'; import Shared from 'src/app/Shared'; -import Model, { ActivationFunction, Encoding, LossFunction, LossFunctionBinaryClassification, LossFunctionMultiClassification, LossFunctionRegression, Metrics, MetricsBinaryClassification, MetricsMultiClassification, MetricsRegression, NullValueOptions, Optimizer, ProblemType } from 'src/app/_data/Model'; +import Model, { ActivationFunction, LossFunction, LossFunctionBinaryClassification, LossFunctionMultiClassification, LossFunctionRegression, Metrics, MetricsBinaryClassification, MetricsMultiClassification, MetricsRegression, NullValueOptions, Optimizer, ProblemType } from 'src/app/_data/Model'; import { ModelsService } from 'src/app/_services/models.service'; import { GraphComponent } from '../graph/graph.component'; @@ -20,7 +20,6 @@ export class ModelLoadComponent implements OnInit { selectedModel?: Model; ProblemType = ProblemType; - Encoding = Encoding; ActivationFunction = ActivationFunction; metrics: any = Metrics; LossFunction = LossFunction; @@ -32,7 +31,6 @@ export class ModelLoadComponent implements OnInit { term: string = ""; selectedProblemType: string = ''; selectedMetrics = []; - tempTestSetDistribution = 90; lossFunction: any = LossFunction; showMyModels: boolean = true; @@ -64,7 +62,6 @@ export class ModelLoadComponent implements OnInit { uploadModel() { //console.log(this.selectedModel); this.getMetrics(); - this.newModel.randomTestSetDistribution = 1 - Math.round(this.tempTestSetDistribution / 100 * 10) / 10; this.newModel.username = Shared.username; this.modelsService.addModel(this.newModel).subscribe((response) => { diff --git a/frontend/src/app/experiment/experiment.component.html b/frontend/src/app/experiment/experiment.component.html index 42797579..6020cab5 100644 --- a/frontend/src/app/experiment/experiment.component.html +++ b/frontend/src/app/experiment/experiment.component.html @@ -21,7 +21,16 @@