EpistasisLab / EpistasisLab/tpot

Handling of Object/String columns

Open
#1,090 1 comment 0 reactions 0 assignees View on GitHub
question
Dominant language
Jupyter Notebook
Stars
10.1k
Forks
1.6k
PR merge metrics
No merged PRs in 30d

Description

I am considering expanding my config_dict to include additional options for [category encoders](http://contrib.scikit-learn.org/category_encoders/) within the pipeline.

## Context of the issue

In the process of attempting to add the encoders, I was surprised to find that TPOT _could_ model all strings. Presumably, GitHub readers will know this is not advisable, but it _can_ do it. I then wondered specifically _how_ and _when_ TPOT enconded the strings, because if it encodes them before any of my would-be-newly-added-category-encoders see the data then (depending on a few other things) adding them may do no good.

## Process to reproduce the issue

```
import pandas as pd
from tpot import TPOTClassifier

url = 'https://raw.githubusercontent.com/plotly/datasets/master/diabetes.csv'
df = pd.read_csv(url)
df = df.astype('str')

target = 'Outcome'
X = df.drop(target, axis=1)
y = df.loc[:, target]

tpot = TPOTClassifier(max_time_mins=1, verbosity=2, n_jobs=-1)
tpot.fit(X, y)
```

## Expected result

Since the recommendation is to supply TPOT with sklearn compliant data, I would expect the above to fail.

## Current result

In fact, it models the data producing results essentially similar to the original numeric version of the data. This is not an _issue_, but did lead to the questions I posed above.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.