AutoDTrees API Documentation
For the full code, visit the GitHub repository: View on GitHub
Your personal API Token:
AutoDTrees Public API Endpoints:

Registers a User and sends an Account Verification Email.
Request Body Example:
{
  "fname": "FirstName",
  "lname": "LastName",
  "email": "yourmail@email.com",
  "pass": "yourpass",
  "pass_confirm": "yourpass"
}
Response Example:
{"message": "User registered, verification mail sent"}

Logs in a User.
Request Body Example:
{
  "email": "yourmail@email.com",
  "pass": "yourpass"
}
Response Example:
{
  "email": "yourmail@email.com",
  "token": "yourtoken",
  "fname": "FirstName",
  "lname": "LastName"
}

Updates User information.
Request Body Example 1 (user email update):
{
  "token": "yourtoken",
  "email": "yourmail@email.com"
}
Response Example 1:
{"message": "Verification mail sent"}
Request Body Example 2 (name / password update):
{
  "token": "yourtoken",
  "fname": "FirstName" | null,
  "lname": "LastName" | null,
  "pass": "yourpass" | null,
  "new_pass": "yourNewPass" | null,
  "new_pass_confirm": "yourNewPass" | null
}
Response Example 2:
{
  "fname": "FirstName",
  "lname": "LastName"
}

Deletes User Account.
Request Body Example:
{
  "token": "yourtoken",
  "pass_del": "yourpass",
  "pass_del_confirm": "yourpass"
}
Response Example:
{"message": "Account successfully deleted."}

Returns the uploaded Public and Private Datasets.
Response Example:
{
  "public_data": ["iris.csv","telco_2023.csv"],
  "private_data": ["property_listingsGR.csv","UniversityRankings.csv"]
}

Uploads a .csv Dataset.
Request Body Example:
form-data:
  token="yourtoken"
  folder="public | private"
  file={Select File}
Response Example:
{"message": "File successfully uploaded."}

Returns Dataset content, fields that can be used as Model Features and fields that can be used as Model Class.
Response Example:
{
  "csv_array": [["sepal.length","sepal.width","petal.length","petal.width","variety"],["5.1","3.5","1.4",".2","Setosa"],["4.9","3","1.4",".2","Setosa"]],
  "numerical_fields": ["sepal.length","sepal.width","petal.length","petal.width"],
  "fields": ["variety"]
}

Deletes a Dataset.
Request Body Example:
{
  "token": "yourtoken",
  "folder": "public | private",
  "file": "file.csv"
}
Response Example:
{"message": "File successfully deleted."}

Returns the uploaded Unclassified Datasets.
Response Example:
{
  "unclassified_data": ["iris-test.csv","telco_2023-test.csv"]
}

Uploads an Unclassified .csv Dataset.
Request Body Example:
form-data:
  token="yourtoken"
  file={Select File}
Response Example:
{"message": "File successfully uploaded."}

Returns Unclassified Dataset content.
Response Example:
{
  "csv_array": [["sepal.length","sepal.width","petal.length","petal.width","variety"],["5.1","3.5","1.4",".2","Setosa"],["4.9","3","1.4",".2","Setosa"]]
}

Deletes an Unclassified Dataset.
Request Body Example:
{
  "token": "yourtoken",
  "file": "file.csv"
}
Response Example:
{"message": "File successfully deleted."}

Returns the Pretrained Models.
Response Example:
{
  "models_data": ["iris_model.pkl","telco_model.pkl"]
}

Returns Model content.
Response Example:
{
  "columns": ["sepal.length","sepal.width","petal.length","petal.width"],
  "class_name": "variety"
}

Deletes a Model.
Request Body Example:
{
  "token": "yourtoken",
  "file": "file.pkl"
}
Response Example:
{"message": "File successfully deleted."}

Returns the Decision Tree Visualization for the selected Model.
Response Example:
{
  "image": "http://localhost/autodtrees/server/example/iris_model_tree.png"
}

Builds a Model by using k-Fold Cross Validation and returns the Evaluation Metrics.
Request Body Example:
{
  "token": "yourtoken",
  "folder": "public | private",
  "file": "file.csv",
  "checkVal": ["feature1","feature2"],
  "selected": "className",
  "max_depth": "" | integer,
  "min_samples_leafInt": integer,
  "kFoldsInt": integer
}
Response Example:
{
  "labels": ["label1", "label2", "label3"],
  "pre_per_label": [precision1, precision2, precision3],
  "rec_per_label": [recall1, recall2, recall3],
  "fsc_per_label": [fscore1, fscore2, fscore3],
  "avg_pre": avg_precision,
  "avg_rec": avg_recall,
  "avg_fsc": avg_fscore,
  "avg_acc": avg_accuracy
}

Saves a Pretrained Model to the User's Account.
Request Body Example:
{
  "token": "yourtoken",
  "folder": "public | private",
  "file": "file.csv",
  "checkVal": ["feature1","feature2"],
  "selected": "className",
  "max_depth": "" | integer,
  "min_samples_leafInt": integer,
  "model_name": "name"
}
Response Example:
{"message": "Model successfully saved."}

Classifies the selected Dataset using a Pretrained Model. Returns the Classified Data and Evaluation Metrics (if Class column exists in Dataset).
Request Body Example:
{
  "token": "yourtoken",
  "file": "unclassified_data.csv",
  "model": "model_name.pkl",
  "checkVal": ["modelFeature1","modelFeature2"],
  "className": "modelClassName"
}
Response Example:
{
  "dataset": [["sepal.length", "sepal.width", "petal.length", "petal.width", "predicted"], [6.3, 2.8, 5.1, 1.5,"Versicolor"], [5.5, 2.5, 4.0, 1.3, "Versicolor"]],
  "labels": ["Virginica", "Versicolor", "Setosa"] | null,
  "pre_per_label": [precision1, precision2, precision3] | null,
  "rec_per_label": [recall1, recall2, recall3] | null,
  "fsc_per_label": [fscore1, fscore2, fscore3] | null,
  "avg_pre": avg_precision | null,
  "avg_rec": avg_recall | null,
  "avg_fsc": avg_fscore | null,
  "acc": accuracy | null
}