dotnet / dotnet/machinelearning

AutoML Featurizer handling of label column

Open
#6,400 1 comment 0 reactions 0 assignees View on GitHub
area-AutoML enhancement
Dominant language
C#
Stars
9.4k
Forks
2k
Avg merge
2d 20h
Merged PRs (30d)
11

Description

## Problem

Currently when using the `Featurizer` with `ColumnInformation` from `ColumnInferenceResults` there is no easy way to exclude the label column from featurization or automatically featurize it as well. Therefore you either need to pass in an IDataView with the dropped columns or you need to individually provide the column type parameters (i.e. `numericColumns`).

```csharp
var pipeline =
ctx.Auto().Featurizer(
data: dataView,
numericColumns: columnInferenceResults.ColumnInformation.NumericColumnNames.ToArray(),
outputColumnName: "Features",
excludeColumns: new[] { "Label" })
.Append(ctx.Auto().MultiClassification());

```

## Proposal

1. Automatically featurize label column (this is often the case for classification scenarios where values need to be converted to `KeyType`).

2. Create an overload of `Featurizer` with the following signature:

```csharp
Featurizer(IDataView data, ColumnInformation columnInformation, string[] excludeColumns, string outputColumnName)
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.