code: def __init__(self, column_descriptions=None):
      self.column_descriptions = column_descriptions
      self.transformed_column_descriptions = column_descriptions.copy()
      self.text_col_indicators = set(["text", "nlp"])
      self.numeric_col_types = [
          "int8",
          "int16",
          "int32",
          "int64",
          "float16",
          "float32",
          "float64",
      ]
  
      self.text_columns = {}
      for key, val in self.column_descriptions.items():
          if val in self.text_col_indicators:
              self.text_columns[key] = TfidfVectorizer(
                  # If we have any documents that cannot be decoded properly, just ignore them and keep going as planned with everything else
                  decode_error="ignore"
                  # Try to strip accents from characters. Using unicode is slightly slower but more comprehensive than 'ascii'
                  ,
                  strip_accents="unicode"
                  # Can also choose 'character', which will likely increase accuracy, at the cost of much more space, generally
                  ,
                  analyzer="word"
                  # Remove commonly found english words ('it', 'a', 'the') which do not typically contain much signal
                  ,
                  stop_words="english"
                  # Convert all characters to lowercase
                  ,
                  lowercase=True
                  # Only consider words that appear in fewer than max_df percent of all documents
                  # In this case, ignore all words that appear in 90% of all documents
                  ,
                  max_df=0.9
                  # Consider only the most frequently occurring 3000 words, after taking into account all the other filtering going on
                  ,
                  max_features=3000,
              )
  
imports: import datetime
  import os
  import dateutil
  import numpy
  import pandas
  from pandas import __version__
  import pathos
  from sklearn.base import BaseEstimator, TransformerMixin
  from sklearn.feature_extraction.text import TfidfVectorizer
  import warnings
label_desc: Use image node_id 1 to create a new BasicDataCleaning object from inherited base classes: BaseEstimator, TransformerMixin with example: obj = BasicDataCleaning(column_descriptions)