class_docstr: Class for checking types in input data. Also perform conversion for columns with types conflicts
class_docstr_tok: ["Class","for","checking","types","in","input","data",".","Also","perform","conversion","for","columns","with","types","conflicts"]
docstr: If column contain several data types - perform correction procedure 
docstr_tok: ["If","column","contain","several","data","types","-","perform","correction","procedure"]
code: def convert_data_for_fit(self, data: InputData):
      """If column contain several data types - perform correction procedure"""
      # Convert features to have an ability to insert str into float table or vice versa
      data.features = data.features.astype(object)
  
      # Determine types for each column in features and target if it is necessary
      self.features_columns_info = define_column_types(data.features)
      self.target_columns_info = define_column_types(data.target)
  
      # Correct types in features table
      data.features = self.feature_types_converting(
          features=data.features
      )
      # Remain only correct columns
      data.features = self.remove_incorrect_features(
          data.features, self.features_converted_columns
      )
  
      # And in target(s)
      data.target = self.target_types_converting(
          target=data.target, task=data.task
      )
      data.supplementary_data.col_type_ids = (
          self.prepare_column_types_info(
              predictors=data.features,
              target=data.target,
              task=data.task,
          )
      )
  
      self._into_numeric_features_transformation_for_fit(data)
      # Launch conversion float and integer features into categorical
      self._into_categorical_features_transformation_for_fit(data)
      # Save info about features and target types
      self.feature_type_ids = data.supplementary_data.col_type_ids[
          "features"
      ].copy()
      self.target_type_ids = data.supplementary_data.col_type_ids.get(
          "target",
          np.empty((self.feature_type_ids.shape[0], 1), dtype=float),
      ).copy()
  
      self._retain_columns_info_without_types_conflicts(data)
      return data
  
imports: from __future__ import annotations
  from collections.abc import Sequence
  from typing import TYPE_CHECKING, Dict, List, Optional, Tuple
  import numpy
  import pandas
  from golem.core.log import LoggerAdapter, default_log
  from fedot.core.repository.tasks import Task, TaskTypesEnum
label_desc: Use image node_id 2 for calling the TableTypesCorrector obj's underlying member method code with example usage: obj.convert_data_for_fit(data) and returns: data