> For the complete documentation index, see [llms.txt](https://docs.autogon.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.autogon.ai/autogon-engine-studio/machine-learning/simple-linear-regression-ml_r_1.md).

# Simple Linear Regression (ML\_R\_1)

It uses a linear technique to predict the value of the dependent variable based on the value of the independent variable.&#x20;

The values of the coefficients of the equation are found by minimizing the difference between the observed values of the dependent variable and the predicted values by the equation.&#x20;

It can help understand the relationship between two variables and make&#x20;

## Sample Request

Build a simple linear regression model named, *"SimpleModel"*

```javascript
{
    "project_id": 1,
    "parent_id": 7,
    "block_id": 8,
    "function_code": "ML_R_1",
    "args": {
        "model_name": "SimpleModel"
    }
}
```

## Building a Simple Linear Regression model

## Simple Linear Regression

<mark style="color:green;">`POST`</mark> `https://autogon.ai/api/v1/engine/start`

#### Request Body

| Name                                             | Type   | Description                                  |
| ------------------------------------------------ | ------ | -------------------------------------------- |
| project\_id<mark style="color:red;">\*</mark>    | int    | The `id` of the current project              |
| block\_id<mark style="color:red;">\*</mark>      | int    | The `id` of the current block                |
| function\_code<mark style="color:red;">\*</mark> | string | The function code for current block          |
| parent\_id<mark style="color:red;">\*</mark>     | int    | The `id` of the previous block               |
| args                                             | object | Block arguments                              |
| model\_name                                      | String | Name of the model to be used for prediction. |

{% tabs %}
{% tab title="200 Statemanagement object" %}

```javascript
{
    "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": "{\"SimpleModel\": {\"function_code\": \"ML_R_1\", \"model_url\": ""}}"
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Python" %}

```python
```

{% endtab %}

{% tab title="Node" %}

```javascript
const project_id = 1
const parent_id = 7
const block_id = 8

simpleLinearRegression = await client.simple_linear_regression(project_id, parent_id, block_id, {
    model_name: "SimpleModel"
});
```

{% endtab %}
{% endtabs %}

## Sample Request

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

```javascript
{
    "project_id": 1,
    "parent_id": 8,
    "block_id": 9,
    "function_code": "ML_R_1_P",
    "args": {
        "model_name": "SimpleModel",
        "test_data": ""
    }
}
```

## Predicting with Simple Linear Regression

## Simple Linear Regression Predict

<mark style="color:green;">`POST`</mark> `https://autogon.ai/api/v1/engine/start`

#### Request Body

| Name                                          | Type   | Description                                                            |
| --------------------------------------------- | ------ | ---------------------------------------------------------------------- |
| model\_name<mark style="color:red;">\*</mark> | 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                                    |

{% tabs %}
{% tab title="200: OK Statemanagement object" %}

```javascript
{
    "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\": ""}"
    }
}
```

{% endtab %}
{% endtabs %}

{% tabs %}
{% tab title="Python" %}

```
// Some code
```

{% endtab %}

{% tab title="Node" %}

```javascript
const project_id = 1
const parent_id = 7
const block_id = 8

simpleLinearRegressionPredict = await client.simple_linear_regression_predict(project_id, parent_id, block_id, {
     model_name: "SimpleModel"
     test_data: null
});
```

{% endtab %}
{% endtabs %}
