mirror of
https://github.com/Doctorado-ML/Stree_datasets.git
synced 2025-08-15 15:36:01 +00:00
Add nodes/leaves/depth to oc1 process
This commit is contained in:
@@ -5,7 +5,7 @@ from experimentation.Database import MySQL
|
||||
from statistics import mean, stdev
|
||||
|
||||
|
||||
def store_result(database, dataset, accuracy, time_spent):
|
||||
def store_result(database, dataset, accuracy, time_spent, nodes, leaves, depth):
|
||||
attributes = [
|
||||
"date",
|
||||
"time",
|
||||
@@ -19,6 +19,9 @@ def store_result(database, dataset, accuracy, time_spent):
|
||||
"time_spent",
|
||||
"time_spent_std",
|
||||
"parameters",
|
||||
"nodes",
|
||||
"leaves",
|
||||
"depth"
|
||||
]
|
||||
command_insert = (
|
||||
"insert into results ("
|
||||
@@ -43,6 +46,9 @@ def store_result(database, dataset, accuracy, time_spent):
|
||||
mean(time_spent),
|
||||
stdev(time_spent),
|
||||
"{}",
|
||||
nodes,
|
||||
leaves,
|
||||
depth
|
||||
)
|
||||
print(command_insert % values, file=database)
|
||||
#cursor = database.cursor()
|
||||
@@ -58,12 +64,15 @@ def get_result(name):
|
||||
result_file = open(filename, "r")
|
||||
lines = result_file.readlines()
|
||||
result_file.close()
|
||||
data = lines[-6:-1]
|
||||
data = lines[-9:-4]
|
||||
for line in data:
|
||||
acc, time_s = line.split("***")[2:4]
|
||||
accuracy.append(float(acc))
|
||||
time_spent.append(float(time_s))
|
||||
return accuracy, time_spent
|
||||
leaves = float(lines[-3:-2][0].split("=")[1])
|
||||
nodes = float(lines[-2:-1][0].split("=")[1])
|
||||
depth = float(lines[-1:][0].split("=")[1])
|
||||
return accuracy, time_spent, nodes, leaves, depth
|
||||
|
||||
|
||||
#dbh = MySQL()
|
||||
@@ -72,14 +81,15 @@ database = open("oc1.sql", "w")
|
||||
dt = Datasets(False, False, "tanveer")
|
||||
for dataset in dt:
|
||||
print(f"Processing {dataset[0]:30s}", end=" ")
|
||||
accuracy, time_spent = get_result(dataset[0])
|
||||
accuracy, time_spent, nodes, leaves, depth = get_result(dataset[0])
|
||||
accuracy_mean, accuracy_std = mean(accuracy), stdev(accuracy)
|
||||
time_mean, time_std = mean(time_spent), stdev(time_spent)
|
||||
print(
|
||||
f"nodes={nodes:6.2f} leaves={leaves:6.2f} depth={depth:5.2f} "
|
||||
f"accuracy=[{accuracy_mean:05.3f}\u00B1{accuracy_std:05.3f}] "
|
||||
f"time=[{time_mean:05.3f}\u00B1{time_std:05.3f}] "
|
||||
f"elements=[{len(accuracy)} {len(time_spent)}]"
|
||||
)
|
||||
store_result(database, dataset[0], accuracy, time_spent)
|
||||
store_result(database, dataset[0], accuracy, time_spent, nodes, leaves, depth)
|
||||
#dbh.close()
|
||||
database.close
|
||||
|
Reference in New Issue
Block a user