aimclub / FEDOT

Automated modeling and machine learning framework FEDOT
https://fedot.readthedocs.io
BSD 3-Clause "New" or "Revised" License
627 stars 86 forks source link

Preprocessing with categorical features #369

Closed MAGLeb closed 3 years ago

MAGLeb commented 3 years ago
baseline_model = Fedot(problem='classification')
baseline_model.fit(features=train_data, target=TARGET_NAME)

Добавляя в датафрейм хотя бы один категориальный признак, код выше падает с ошибкой:

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/fedot/core/composer/optimisers/gp_comp/gp_optimiser.py in _evaluate_individuals(self, individuals_set, objective_function, timer)
    382     def _evaluate_individuals(self, individuals_set, objective_function, timer=None):
    383         evaluate_individuals(individuals_set=individuals_set, objective_function=objective_function, timer=timer,
--> 384                              is_multi_objective=self.parameters.multi_objective)

/anaconda/envs/azureml_py36/lib/python3.6/site-packages/fedot/core/composer/optimisers/gp_comp/gp_operators.py in evaluate_individuals(individuals_set, objective_function, is_multi_objective, timer)
     94                 break
     95     if len(individuals_set) == 0:
---> 96         raise AttributeError('Too much fitness evaluation errors. Composing stopped.')
     97 
     98 

AttributeError: Too much fitness evaluation errors. Composing stopped.

Думаю на любом примере упадет, тем не менее, ниже столбец что я добавлял: image

Ниже скрипт чтобы скачать данные на которых пытаюсь запустить FEDOT:

DATASET_DIR = './example_data/test_data_files'
DATASET_NAME = 'sampled_app_train.csv'
DATASET_FULLNAME = os.path.join(DATASET_DIR, DATASET_NAME)
DATASET_URL = 'https://raw.githubusercontent.com/sberbank-ai-lab/LightAutoML/master/example_data/test_data_files/sampled_app_train.csv'

if not os.path.exists(DATASET_FULLNAME):
    os.makedirs(DATASET_DIR, exist_ok=True)

    dataset = requests.get(DATASET_URL).text
    with open(DATASET_FULLNAME, 'w') as output:
        output.write(dataset)
MAGLeb commented 3 years ago

Example of error in new branch. https://github.com/nccr-itmo/FEDOT/blob/feature_categorical_error/examples/features_categorical_error.py