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: Perform automated categorical features determination. If feature column
  contains int or float values with few unique values (less than 13)
docstr_tok: ["Perform","automated","categorical","features","determination",".","If","feature","column","contains","int","or","float","values","with","few","unique","values","(","less","than","13",")"]
code: def _into_categorical_features_transformation_for_fit(
      self, data: InputData
  ):
      """
      Perform automated categorical features determination. If feature column
      contains int or float values with few unique values (less than 13)
      """
      feature_type_ids = data.supplementary_data.col_type_ids[
          "features"
      ]
      is_numeric_type = np.isin(
          feature_type_ids, [TYPE_TO_ID[int], TYPE_TO_ID[float]]
      )
      numeric_type_ids = np.flatnonzero(is_numeric_type)
      num_df = pd.DataFrame(
          data.features[:, numeric_type_ids], columns=numeric_type_ids
      )
      nuniques = num_df.nunique(dropna=True)
  
      # reduce dataframe to include only categorical features
      num_df = num_df.loc[
          :,
          (2 < nuniques) & (nuniques < self.categorical_max_uniques_th),
      ]
      cat_col_ids = num_df.columns
      # Convert into string
      data.features[:, cat_col_ids] = num_df.apply(
          convert_num_column_into_string_array
      ).to_numpy()
      # Columns need to be transformed into categorical (string) ones
      self.numerical_into_str.extend(
          cat_col_ids.difference(self.numerical_into_str)
      )
      # Update information about column types (in-place)
      feature_type_ids[cat_col_ids] = TYPE_TO_ID[str]
  
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 13 for calling the TableTypesCorrector obj's underlying member method code with example usage: obj._into_categorical_features_transformation_for_fit(data) without return types