aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
Diffstat (limited to 'backend')
-rw-r--r--backend/api/api/Models/Dataset.cs1
-rw-r--r--backend/api/api/Models/Model.cs3
-rw-r--r--backend/api/api/Services/FillAnEmptyDb.cs6
-rw-r--r--backend/microservice/api/controller.py7
-rw-r--r--backend/microservice/api/newmlservice.py17
5 files changed, 23 insertions, 11 deletions
diff --git a/backend/api/api/Models/Dataset.cs b/backend/api/api/Models/Dataset.cs
index 7acd4382..beb66de9 100644
--- a/backend/api/api/Models/Dataset.cs
+++ b/backend/api/api/Models/Dataset.cs
@@ -28,6 +28,7 @@ namespace api.Models
public int nullRows { get; set; }
public bool isPreProcess { get; set; }
+ public float[][] cMatrix { get; set; }
}
}
diff --git a/backend/api/api/Models/Model.cs b/backend/api/api/Models/Model.cs
index f95be715..a2740ca9 100644
--- a/backend/api/api/Models/Model.cs
+++ b/backend/api/api/Models/Model.cs
@@ -27,7 +27,8 @@ namespace api.Models
public string lossFunction { get; set; }
//public int inputNeurons { get; set; }
public int hiddenLayers { get; set; }
- public int batchSize { get; set; }
+ public string batchSize { get; set; }
+ public string learningRate { get; set; }
// na izlazu je moguce da bude vise neurona (klasifikacioni problem sa vise od 2 klase)
public int outputNeurons { get; set; }
public Layer[] layers { get; set; }
diff --git a/backend/api/api/Services/FillAnEmptyDb.cs b/backend/api/api/Services/FillAnEmptyDb.cs
index 6148efb6..d8c53bab 100644
--- a/backend/api/api/Services/FillAnEmptyDb.cs
+++ b/backend/api/api/Services/FillAnEmptyDb.cs
@@ -99,7 +99,7 @@ namespace api.Services
model.optimizer = "Adam";
model.lossFunction = "mean_squared_error";
model.hiddenLayers = 5;
- model.batchSize = 8;
+ model.batchSize = "8";
model.outputNeurons = 0;
model.outputLayerActivationFunction = "sigmoid";
model.metrics = new string[] { };
@@ -212,7 +212,7 @@ namespace api.Services
model.optimizer = "Adam";
model.lossFunction = "mean_absolute_error";
model.hiddenLayers = 4;
- model.batchSize = 5;
+ model.batchSize = "8";
model.outputNeurons = 0;
model.outputLayerActivationFunction = "relu";
model.metrics = new string[] { };
@@ -320,7 +320,7 @@ namespace api.Services
model.optimizer = "Adam";
model.lossFunction = "sparse_categorical_crossentropy";
model.hiddenLayers = 3;
- model.batchSize = 4;
+ model.batchSize = "64";
model.outputNeurons = 0;
model.outputLayerActivationFunction = "softmax";
model.metrics = new string[] { };
diff --git a/backend/microservice/api/controller.py b/backend/microservice/api/controller.py
index 41035cc7..988ad987 100644
--- a/backend/microservice/api/controller.py
+++ b/backend/microservice/api/controller.py
@@ -118,7 +118,6 @@ def returnColumnsInfo():
'''
preprocess = newmlservice.returnColumnsInfo(data)
#samo 10 jedinstvenih posto ih ima previse, bilo bi dobro da promenimo ovo da to budu 10 najzastupljenijih vrednosti
-
for col in preprocess["columnInfo"]:
col["uniqueValues"] = col["uniqueValues"][0:6]
col["uniqueValuesCount"] = col["uniqueValuesCount"][0:6]
@@ -128,11 +127,9 @@ def returnColumnsInfo():
dataset["nullRows"] = preprocess["allNullRows"]
dataset["colCount"] = preprocess["colCount"]
dataset["rowCount"] = preprocess["rowCount"]
+ dataset["cMatrix"]=preprocess['cMatrix']
dataset["isPreProcess"] = True
- #print(dataset)
-
-
-
+
return jsonify(dataset)
print("App loaded.")
diff --git a/backend/microservice/api/newmlservice.py b/backend/microservice/api/newmlservice.py
index 9e26b03a..f5e5abcc 100644
--- a/backend/microservice/api/newmlservice.py
+++ b/backend/microservice/api/newmlservice.py
@@ -27,15 +27,28 @@ import matplotlib.pyplot as plt
#from ann_visualizer.visualize import ann_viz;
def returnColumnsInfo(dataset):
dict=[]
+
datafront=dataset.copy()
+ dataMatrix=dataset.copy()
+
+
svekolone=datafront.columns
kategorijskekolone=datafront.select_dtypes(include=['object']).columns
+
allNullCols=0
rowCount=datafront.shape[0]#ukupan broj redova
colCount=len(datafront.columns)#ukupan broj kolona
for kolona in svekolone:
if(kolona in kategorijskekolone):
+ encoder=LabelEncoder()
+ dataMatrix[kolona]=encoder.fit_transform(dataMatrix[kolona])
+
+ #print(dataMatrix.dtypes)
+ cMatrix=dataMatrix.corr()
+
+ for kolona in svekolone:
+ if(kolona in kategorijskekolone):
unique=datafront[kolona].value_counts()
uniquevalues=[]
uniquevaluescount=[]
@@ -86,7 +99,7 @@ def returnColumnsInfo(dataset):
#pretvaranje u kategorijsku
datafront = datafront.astype({kolona: str})
- print(datafront.dtypes)
+ #print(datafront.dtypes)
unique=datafront[kolona].value_counts()
uniquevaluesn=[]
uniquevaluescountn=[]
@@ -117,7 +130,7 @@ def returnColumnsInfo(dataset):
#print(NullRows)
#print(len(NullRows))
allNullRows=len(NullRows)
- return {'columnInfo':dict,'allNullColl':int(allNullCols),'allNullRows':int(allNullRows),'rowCount':int(rowCount),'colCount':int(colCount)}
+ return {'columnInfo':dict,'allNullColl':int(allNullCols),'allNullRows':int(allNullRows),'rowCount':int(rowCount),'colCount':int(colCount),'cMatrix':str(np.matrix(cMatrix))}
@dataclass
class TrainingResultClassification: