K-Nearest Neighbors - KNN (ML_CN_2)

This function finds the K number of training examples closest (nearest neighbors) to the input data and then classifying the input data based on the majority class of its nearest neighbors.

In other words, it assigns a label to a new data point based on how similar it is to the existing data points, where similarity is defined by distance metric such as Euclidean or Manhattan.

This function can be used for both supervised and unsupervised learning.

Sample Request

Build a KNN model named, "ClassicModel"

{
    "project_id": 1,
    "parent_id": 7,
    "block_id": 8,
    "function_code": "ML_CN_2",
    "args": {
        "model_name": "ClassicModel",
        "random_state": 0,
        "n_neighbors": 5,
        "distance": "minkowski",
        "p": 2
    }
}

Building a K-Nearest Neighbors model

K-Nearest Neighbors

POST https://autogon.ai/api/v1/engine/start

Request Body

NameTypeDescription

project_id*

int

The id of the current project

block_id*

int

The id of the current block

function_code*

string

The function code for current block

parent_id*

int

The id of the previous block

args*

object

Block arguments

model_name*

String

Name of the model to be used for prediction.

random_state

int

Controls the randomness of the estimator (defaults to 0).

n_neighbors

int

Number of neighbors to use by default for kneighbors queries (defaults to 5).

distance

String

Metric to use for distance computation. Default minkowski, which results in the standard Euclidean distance when p = 2.

p

int

Power parameter for the Minkowski metric. When p = 1, this is equivalent to using manhattan_distance, and euclidean_distance for p = 2 (defaults to 2).

{
    "status": "true",
    "message": {
        "id": 8,
        "project": 1,
        "block_id": 8,
        "parent_id": 7,
        "dataset_url": "",
        "x_value_url": "",
        "y_value_url": "",
        "x_train_url": "",
        "y_train_url": "",
        "x_test_url": "",
        "y_test_url": "",
        "output": "{\"ClassicModel\": {\"function_code\": \"ML_R_3\", \"model_url\": ""}}"
    }
}
// Some code

Sample Request

Make predictions with the pre-built model passing an optional test data.

{
    "project_id": 1,
    "parent_id": 8,
    "block_id": 9,
    "function_code": "ML_CN_2_P",
    "args": {
        "model_name": "ClassicModel",
        "test_data": ""
    }
}

Predicting with K-Nearest Neighbors

K-Nearest Neighbors Predict

POST https://autogon.ai/api/v1/engine/start

Request Body

NameTypeDescription

model_name*

String

Name of previously trained model to be used for prediction

test_data

String

Input data for prediction. Defaults to x_train_url in StateManagment

project_id*

int

ID of the current project

block_id*

int

ID of the current block

parent_id*

int

ID of the previous block

function_code*

String

Function code for the current block

{
    "status": "true",
    "message": {
        "id": 9,
        "project": 1,
        "block_id": 9,
        "parent_id": 8,
        "dataset_url": "",
        "x_value_url": "",
        "y_value_url": "",
        "x_train_url": "",
        "y_train_url": "",
        "x_test_url": "",
        "y_test_url": "",
        "output": "{\"y_pred_url\": ""}"
    }
}
// Some code

Sample Request

Evaluate model metrics

{
    "project_id": 1,
    "parent_id": 8,
    "block_id": 9,
    "function_code": "ML_CN_2_M",
    "args": {
        "model_name": "ClassicModel"
    }
}

K-Nearest Neighbors Metrics

POST https://autogon.ai/api/v1/engine/start

Request Body

NameTypeDescription

project_id*

int

ID of the current project

parent_id*

int

ID of the previous block

block_id*

int

ID of the current block

function_code*

String

Function code for the current block

model_name*

String

Name of the pre-trained model to be used for evaluation

{
    "status": "true",
    "message": {
        "id": 1,
        "project": 12,
        "block_id": 10,
        "parent_id": 11,
        "dataset_url": "",
        "x_value_url": "",
        "y_value_url": "",
        "x_train_url": "",
        "y_train_url": "",
        "x_test_url": "",
        "y_test_url": "",
        "output": "{'confusion_matrix': '', 'accuracy': 0.9}"
    }
}
// Some code

Last updated