EpistasisLab / EpistasisLab/tpot
Handling of Object/String columns
- 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.