EpistasisLab / EpistasisLab/tpot
My dataet crashed TOP-NN
- Dominant language
- Jupyter Notebook
- Stars
- 10.1k
- Forks
- 1.6k
- PR merge metrics
- No merged PRs in 30d
Description
Hey,
I am getting a crash in TOP-NN.
My envirionment is:
```
>python tpot-NN-rocket-classify.py
Operating system version.... Windows-10-10.0.22000-SP0
Python version is........... 3.8.13
pandas version is........... 1.4.2
numpy version is............ 1.21.5
tpot version is............. 0.11.7
```
I have put my code and dataset at: https://github.com/CBrauer/TPOT-NN-bug
The program is as follows:
```
import warnings
warnings.filterwarnings("ignore")
import platform
import sys
import pandas as pd
import numpy as np
import time
from IPython.core.display import HTML, display
pd.set_option('display.max_rows', 10)
pd.set_option('display.max_columns', 11)
pd.set_option('display.width', None)
pd.set_option('display.max_colwidth', None)
import tpot
from tpot import TPOTClassifier
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import accuracy_score
from sklearn.utils import shuffle
class Timer:
def __init__(self):
self.start = time.time()
def restart(self):
self.start = time.time()
def get_time(self):
end = time.time()
m, s = divmod(end - self.start, 60)
h, m = divmod(m, 60)
time_str = "%02d:%02d:%02d" % (h, m, s)
return time_str
def LoadData():
df = pd.read_csv('rocket.csv')
response_column = ['Altitude']
feature_columns = ['BoxRatio', 'Thrust', 'Acceleration', 'Velocity', 'OnBalRun', 'vwapGain', 'Expect', 'Trin']
header = feature_columns + response_column
df_describe = df[feature_columns].describe(include='all')
display(df_describe)
X = df[feature_columns].values
y = df[response_column].values.ravel()
X_train, X_test, y_train, y_test = train_test_split(X,
y,
test_size = 0.2,
random_state = 7)
print('Size of dataset:')
print(' train shape... ', X_train.shape, y_train.shape)
print(' test shape.... ', X_test.shape, y_test.shape)
return X_train, y_train, X_test, y_test
def Main(g, p):
X_train, y_train, X_test, y_test = LoadData()
clf = TPOTClassifier(config_dict='TPOT NN',
template='Selector-Transformer-PytorchLRClassifier',
verbosity=2,
generations=g,
population_size=p,
random_state=7)
clf.fit(X_train, y_train)
print(clf.score(X_test, y_test))
clf.export('tpot_nn_demo_pipeline.py')
if __name__ == "__main__":
print('Operating system version....', platform.platform())
print("Python version is........... %s.%s.%s" % sys.version_info[:3])
print('pandas version is...........', pd.__version__)
print('numpy version is............', np.__version__)
print('tpot version is.............', tpot.__version__)
my_timer = Timer()
Main(10, 10)
elapsed = my_timer.get_time()
print("\nTotal compute time was: %s" % elapsed)
```
After running a while, I get the following stack trace
```
Generation 1 - Current best internal CV score: -inf
Optimization Progress: 2%|█▌ | 200/10100 [05 Traceback (most recent call last):
File "C:\anaconda3\lib\site-packages\tpot\base.py", line 816, in fit
self._pop, _ = eaMuPlusLambda(
File "C:\anaconda3\lib\site-packages\tpot\gp_deap.py", line 281, in eaMuPlusLambda
per_generation_function(gen)
File "C:\anaconda3\lib\site-packages\tpot\base.py", line 1176, in _check_periodic_pipeline
self._update_top_pipeline()
File "C:\anaconda3\lib\site-packages\tpot\base.py", line 924, in _update_top_pipeline
cv_scores = cross_val_score(
File "C:\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py", line 509, in cross_val_score
cv_results = cross_validate(
File "C:\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py", line 267, in cross_validate
results = parallel(
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 1043, in __call__
if self.dispatch_one_batch(iterator):
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 861, in dispatch_one_batch
self._dispatch(tasks)
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 779, in _dispatch
job = self._backend.apply_async(batch, callback=cb)
File "C:\anaconda3\lib\site-packages\joblib\_parallel_backends.py", line 208, in apply_async
result = ImmediateResult(func)
File "C:\anaconda3\lib\site-packages\joblib\_parallel_backends.py", line 572, in __init__
self.results = batch()
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 262, in __call__
return [func(*args, **kwargs)
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 262, in
return [func(*args, **kwargs)
File "C:\anaconda3\lib\site-packages\sklearn\utils\fixes.py", line 216, in __call__
return self.function(*args, **kwargs)
File "C:\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py", line 680, in _fit_and_score
estimator.fit(X_train, y_train, **fit_params)
File "C:\anaconda3\lib\site-packages\sklearn\pipeline.py", line 390, in fit
Xt = self._fit(X, y, **fit_params_steps)
File "C:\anaconda3\lib\site-packages\sklearn\pipeline.py", line 348, in _fit
X, fitted_transformer = fit_transform_one_cached(
File "C:\anaconda3\lib\site-packages\joblib\memory.py", line 349, in __call__
return self.func(*args, **kwargs)
File "C:\anaconda3\lib\site-packages\sklearn\pipeline.py", line 893, in _fit_transform_one
res = transformer.fit_transform(X, y, **fit_params)
File "C:\anaconda3\lib\site-packages\sklearn\base.py", line 855, in fit_transform
return self.fit(X, y, **fit_params).transform(X)
File "C:\anaconda3\lib\site-packages\sklearn\preprocessing\_data.py", line 806, in fit
return self.partial_fit(X, y, sample_weight)
File "C:\anaconda3\lib\site-packages\sklearn\preprocessing\_data.py", line 841, in partial_fit
X = self._validate_data(
File "C:\anaconda3\lib\site-packages\sklearn\base.py", line 566, in _validate_data
X = check_array(X, **check_params)
File "C:\anaconda3\lib\site-packages\sklearn\utils\validation.py", line 814, in check_array
raise ValueError(
ValueError: Found array with 0 feature(s) (shape=(40, 0)) while a minimum of 1 is required by StandardScaler.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "tpot-NN-rocket-classify.py", line 83, in
Main(100, 100)
File "tpot-NN-rocket-classify.py", line 69, in Main
clf.fit(X_train, y_train)
File "C:\anaconda3\lib\site-packages\tpot\base.py", line 863, in fit
raise e
File "C:\anaconda3\lib\site-packages\tpot\base.py", line 854, in fit
self._update_top_pipeline()
File "C:\anaconda3\lib\site-packages\tpot\base.py", line 924, in _update_top_pipeline
cv_scores = cross_val_score(
File "C:\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py", line 509, in cross_val_score
cv_results = cross_validate(
File "C:\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py", line 267, in cross_validate
results = parallel(
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 1043, in __call__
if self.dispatch_one_batch(iterator):
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 861, in dispatch_one_batch
self._dispatch(tasks)
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 779, in _dispatch
job = self._backend.apply_async(batch, callback=cb)
File "C:\anaconda3\lib\site-packages\joblib\_parallel_backends.py", line 208, in apply_async
result = ImmediateResult(func)
File "C:\anaconda3\lib\site-packages\joblib\_parallel_backends.py", line 572, in __init__
self.results = batch()
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 262, in __call__
return [func(*args, **kwargs)
File "C:\anaconda3\lib\site-packages\joblib\parallel.py", line 262, in
return [func(*args, **kwargs)
File "C:\anaconda3\lib\site-packages\sklearn\utils\fixes.py", line 216, in __call__
return self.function(*args, **kwargs)
File "C:\anaconda3\lib\site-packages\sklearn\model_selection\_validation.py", line 680, in _fit_and_score
estimator.fit(X_train, y_train, **fit_params)
File "C:\anaconda3\lib\site-packages\sklearn\pipeline.py", line 390, in fit
Xt = self._fit(X, y, **fit_params_steps)
File "C:\anaconda3\lib\site-packages\sklearn\pipeline.py", line 348, in _fit
X, fitted_transformer = fit_transform_one_cached(
File "C:\anaconda3\lib\site-packages\joblib\memory.py", line 349, in __call__
return self.func(*args, **kwargs)
File "C:\anaconda3\lib\site-packages\sklearn\pipeline.py", line 893, in _fit_transform_one
res = transformer.fit_transform(X, y, **fit_params)
File "C:\anaconda3\lib\site-packages\sklearn\base.py", line 855, in fit_transform
return self.fit(X, y, **fit_params).transform(X)
File "C:\anaconda3\lib\site-packages\sklearn\preprocessing\_data.py", line 806, in fit
return self.partial_fit(X, y, sample_weight)
File "C:\anaconda3\lib\site-packages\sklearn\preprocessing\_data.py", line 841, in partial_fit
X = self._validate_data(
File "C:\anaconda3\lib\site-packages\sklearn\base.py", line 566, in _validate_data
X = check_array(X, **check_params)
File "C:\anaconda3\lib\site-packages\sklearn\utils\validation.py", line 814, in check_array
raise ValueError(
ValueError: Found array with 0 feature(s) (shape=(40, 0)) while a minimum of 1 is required by StandardScaler.
H:\HedgeTools\ML_Model_Generation\TPOT>pause
Press any key to continue . . .
```
I hope you guys can help me with this problem
Charles
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.