class_docstr: ##############################################################################
  #############       This is not an Officially Supported Google Product! ######
  ##############################################################################
  #Copyright 2019 Google LLC                                              ######
  #                                                                       ######
  #Licensed under the Apache License, Version 2.0 (the "License");        ######
  #you may not use this file except in compliance with the License.       ######
  #You may obtain a copy of the License at                                ######
  #                                                                       ######
  #    https://www.apache.org/licenses/LICENSE-2.0                        ######
  #                                                                       ######
  #Unless required by applicable law or agreed to in writing, software    ######
  #distributed under the License is distributed on an "AS IS" BASIS,      ######
  #WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.#####
  #See the License for the specific language governing permissions and    ######
  #limitations under the License.                                         ######
  ##############################################################################
  ###########             AutoViz Class                                   ######
  ###########             by Ram Seshadri                                 ######
  ###########      AUTOMATICALLY VISUALIZE ANY DATA SET                   ######
  ###########            Version V0.0.68 1/10/20                          ######
  ##############################################################################
  ##### AUTOVIZ PERFORMS AUTOMATIC VISUALIZATION OF ANY DATA SET WITH ONE CLICK.
  #####    Give it any input file (CSV, txt or json) and AV will visualize it.##
  ##### INPUTS:                                                            #####
  #####    A FILE NAME OR A DATA FRAME AS INPUT.                           #####
  ##### AutoViz will visualize any sized file using a statistically valid sample.
  #####  - COMMA is assumed as default separator in file. But u can change it.##
  #####  - Assumes first row as header in file but you can change it.      #####
  #####  - First instantiate an AutoViz class to  hold output of charts, plots.#
  #####  - Then call the Autoviz program with inputs as defined below.       ###
  ##############################################################################
docstr: ##############################################################################
  ##### AUTOVIZ PERFORMS AUTOMATIC VISUALIZATION OF ANY DATA SET WITH ONE CLICK.
  #####    Give it any input file (CSV, txt or json) and AV will visualize it.##
  ##### INPUTS:                                                            #####
  #####    A FILE NAME OR A DATA FRAME AS INPUT.                           #####
  ##### AutoViz will visualize any sized file using a statistically valid sample.
  #####  - max_rows_analyzed = 150000 ### this limits the max number of rows ###
  #####           that is used to display charts                             ###
  #####  - max_cols_analyzed = 30  ### This limits the number of continuous  ###
  #####           vars that can be analyzed                                 ####
  #####  - COMMA is assumed as default separator in file. But u can change it.##
  #####  - Assumes first row as header in file but you can change it.      #####
  #####  - First instantiate an AutoViz class to  hold output of charts, plots.#
  #####  - Then call the Autoviz program with inputs as defined below.       ###
  ##############################################################################
  ##### This is the main calling program in AV. It will call all the load, #####
  ####  display and save rograms that are currently outside AV. This program ###
  ####  will draw scatter and other plots for the input data set and then   ####
  ####  call the correct variable name with add_plots function and send in  ####
  ####  the chart created by that plotting program, for example, scatter   #####
  ####  You have to make sure that add_plots function has the exact name of ####
  ####  the variable defined in the Class AV. If not, this will give an error.##
  ####  If verbose=0: it does not print any messages and goes into silent mode##
  ####  This is the default.                                               #####
  ####  If verbose=1, it will print messages on the terminal and also display###
  ####  charts on terminal                                                 #####
  ####  If verbose=2, it will print messages but will not display charts,  #####
  ####  it will simply save them.                                          #####
  ##############################################################################
docstr_tok: ["#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","AUTOVIZ","PERFORMS","AUTOMATIC","VISUALIZATION","OF","ANY","DATA","SET","WITH","ONE","CLICK",".","#","#","#","#","#","Give","it","any","input","file","(","CSV",",","txt","or","json",")","and","AV","will","visualize","it.","#","#","#","#","#","#","#","INPUTS",":","#","#","#","#","#","#","#","#","#","#","A","FILE","NAME","OR","A","DATA","FRAME","AS","INPUT",".","#","#","#","#","#","#","#","#","#","#","AutoViz","will","visualize","any","sized","file","using","a","statistically","valid","sample",".","#","#","#","#","#","-","max_rows_analyzed","=","150000","#","#","#","this","limits","the","max","number","of","rows","#","#","#","#","#","#","#","#","that","is","used","to","display","charts","#","#","#","#","#","#","#","#","-","max_cols_analyzed","=","30","#","#","#","This","limits","the","number","of","continuous","#","#","#","#","#","#","#","#","vars","that","can","be","analyzed","#","#","#","#","#","#","#","#","#","-","COMMA","is","assumed","as","default","separator","in","file",".","But","u","can","change","it.","#","#","#","#","#","#","#","-","Assumes","first","row","as","header","in","file","but","you","can","change","it",".","#","#","#","#","#","#","#","#","#","#","-","First","instantiate","an","AutoViz","class","to","hold","output","of","charts",",","plots.","#","#","#","#","#","#","-","Then","call","the","Autoviz","program","with","inputs","as","defined","below",".","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","This","is","the","main","calling","program","in","AV",".","It","will","call","all","the","load",",","#","#","#","#","#","#","#","#","#","display","and","save","rograms","that","are","currently","outside","AV",".","This","program","#","#","#","#","#","#","#","will","draw","scatter","and","other","plots","for","the","input","data","set","and","then","#","#","#","#","#","#","#","#","call","the","correct","variable","name","with","add_plots","function","and","send","in","#","#","#","#","#","#","#","#","the","chart","created","by","that","plotting","program",",","for","example",",","scatter","#","#","#","#","#","#","#","#","#","You","have","to","make","sure","that","add_plots","function","has","the","exact","name","of","#","#","#","#","#","#","#","#","the","variable","defined","in","the","Class","AV",".","If","not",",","this","will","give","an","error.","#","#","#","#","#","#","If","verbose=0",":","it","does","not","print","any","messages","and","goes","into","silent","mode","#","#","#","#","#","#","This","is","the","default",".","#","#","#","#","#","#","#","#","#","If","verbose=1",",","it","will","print","messages","on","the","terminal","and","also","display","#","#","#","#","#","#","#","charts","on","terminal","#","#","#","#","#","#","#","#","#","If","verbose=2",",","it","will","print","messages","but","will","not","display","charts",",","#","#","#","#","#","#","#","#","#","it","will","simply","save","them",".","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#","#"]
code: def AutoViz(
      self,
      filename,
      sep=",",
      depVar="",
      dfte=None,
      header=0,
      verbose=1,
      lowess=False,
      chart_format="svg",
      max_rows_analyzed=150000,
      max_cols_analyzed=30,
      save_plot_dir=None,
  ):
      """
      ##############################################################################
      ##### AUTOVIZ PERFORMS AUTOMATIC VISUALIZATION OF ANY DATA SET WITH ONE CLICK.
      #####    Give it any input file (CSV, txt or json) and AV will visualize it.##
      ##### INPUTS:                                                            #####
      #####    A FILE NAME OR A DATA FRAME AS INPUT.                           #####
      ##### AutoViz will visualize any sized file using a statistically valid sample.
      #####  - max_rows_analyzed = 150000 ### this limits the max number of rows ###
      #####           that is used to display charts                             ###
      #####  - max_cols_analyzed = 30  ### This limits the number of continuous  ###
      #####           vars that can be analyzed                                 ####
      #####  - COMMA is assumed as default separator in file. But u can change it.##
      #####  - Assumes first row as header in file but you can change it.      #####
      #####  - First instantiate an AutoViz class to  hold output of charts, plots.#
      #####  - Then call the Autoviz program with inputs as defined below.       ###
      ##############################################################################
      ##### This is the main calling program in AV. It will call all the load, #####
      ####  display and save rograms that are currently outside AV. This program ###
      ####  will draw scatter and other plots for the input data set and then   ####
      ####  call the correct variable name with add_plots function and send in  ####
      ####  the chart created by that plotting program, for example, scatter   #####
      ####  You have to make sure that add_plots function has the exact name of ####
      ####  the variable defined in the Class AV. If not, this will give an error.##
      ####  If verbose=0: it does not print any messages and goes into silent mode##
      ####  This is the default.                                               #####
      ####  If verbose=1, it will print messages on the terminal and also display###
      ####  charts on terminal                                                 #####
      ####  If verbose=2, it will print messages but will not display charts,  #####
      ####  it will simply save them.                                          #####
      ##############################################################################
      """
      if isinstance(depVar, list):
          print(
              "Since AutoViz cannot visualize multi-label targets, choosing first item in targets: %s"
              % depVar[0]
          )
          depVar = depVar[0]
  
      ####################################################################################
      if chart_format.lower() in [
          "bokeh",
          "server",
          "bokeh_server",
          "bokeh-server",
          "html",
      ]:
          dft = AutoViz_Holo(
              filename,
              sep,
              depVar,
              dfte,
              header,
              verbose,
              lowess,
              chart_format,
              max_rows_analyzed,
              max_cols_analyzed,
              save_plot_dir,
          )
      else:
          dft = self.AutoViz_Main(
              filename,
              sep,
              depVar,
              dfte,
              header,
              verbose,
              lowess,
              chart_format,
              max_rows_analyzed,
              max_cols_analyzed,
              save_plot_dir,
          )
      return dft
  
imports: import pandas
  import numpy
  from pathlib import Path
  import os
  import warnings
  import warnings
  from sklearn.exceptions import DataConversionWarning
  import matplotlib
  import matplotlib.pyplot
  import io
  import seaborn
  import re
  import pprint
  import matplotlib
  from itertools import cycle, combinations
  from collections import defaultdict
  import copy
  import time
  import sys
  import random
  import xlrd
  import statsmodels
  from io import BytesIO
  import base64
  from functools import reduce
  import traceback
  import xgboost
  from xgboost.sklearn import XGBClassifier
  from xgboost.sklearn import XGBRegressor
  from sklearn.model_selection import train_test_split
  from autoviz.AutoViz_Holo import AutoViz_Holo
  from autoviz.AutoViz_Utils import save_image_data, analyze_problem_type, draw_pivot_tables, draw_scatters
  from autoviz.AutoViz_Utils import draw_pair_scatters, plot_fast_average_num_by_cat, draw_barplots, draw_heatmap
  from autoviz.AutoViz_Utils import draw_distplot, draw_violinplot, draw_date_vars, catscatter, draw_catscatterplots
  from autoviz.AutoViz_Utils import list_difference, search_for_word_in_list, analyze_ID_columns, start_classifying_vars
  from autoviz.AutoViz_Utils import analyze_columns_in_dataset, find_remove_duplicates, load_file_dataframe, classify_print_vars
  from autoviz.AutoViz_Utils import marthas_columns, EDA_find_remove_columns_with_infinity, return_dictionary_list
  from autoviz.AutoViz_Utils import remove_variables_using_fast_correlation, count_freq_in_list, find_corr_vars, left_subtract
  from autoviz.AutoViz_Utils import convert_train_test_cat_col_to_numeric, return_factorized_dict, convert_a_column_to_numeric
  from autoviz.AutoViz_Utils import convert_all_object_columns_to_numeric, find_top_features_xgb, convert_a_mixed_object_column_to_numeric
  from autoviz.AutoViz_NLP import draw_word_clouds
  from pandas_dq import Fix_DQ
  from pandas_dq import dq_report
label_desc: Use image node_id 4 for calling the AutoViz_Class obj's underlying member method code with example usage: obj.AutoViz(filename, sep, depVar, dfte, header, verbose, lowess, chart_format, max_rows_analyzed, max_cols_analyzed, save_plot_dir) and returns: dft