AutoViML / AutoViz

Automatically Visualize any dataset, any size with a single line of code. Created by Ram Seshadri. Collaborators Welcome. Permission Granted upon Request.
Apache License 2.0
1.7k stars 196 forks source link
auto-sklearn automated-machine-learning automl automl-algorithms machine-learning python python3 scikit-learn tableau tpot visualization xgboost

AutoViz: The One-Line Automatic Data Visualization Library

logo

Unlock the power of AutoViz to visualize any dataset, any size, with just a single line of code! Plus, now you can get a quick assessment of your dataset's quality and fix DQ issues through the FixDQ() function.

Pepy Downloads Pepy Downloads per week Pepy Downloads per month standard-readme compliant Python Versions PyPI Version PyPI License

With AutoViz, you can easily and quickly generate insightful visualizations for your data. Whether you're a beginner or an expert in data analysis, AutoViz can help you explore your data and uncover valuable insights. Try it out and see the power of automated visualization for yourself!

Table of Contents

Latest

The latest updates about autoviz library can be found in Updates page.

ImportantAnnouncement

Starting with version 0.1.901, an important update

  • We're excited to announce we've made significant updates to our `setup.py` script to leverage the latest versions in our dependencies while maintaining support for older Python versions (you may want to check older versions). The installation process is seamless—simply run pip install . in the AutoViz directory, and the script takes care of the rest, tailoring the installation to your environment.
  • Feedback

    Your feedback is crucial! If you encounter any issues or have suggestions, please let us know through GitHub Issues

    Thank you for your continued support and happy visualizing!

    Citation

    If you use AutoViz in your research project or paper, please use the following format for citations:

    "Seshadri, Ram (2020). GitHub - AutoViML/AutoViz: Automatically Visualize any dataset, any size with a single line of code. source code: https://github.com/AutoViML/AutoViz"

    Current citations for AutoViz

    Google Scholar

    Motivation

    The motivation behind the creation of AutoViz is to provide a more efficient, user-friendly, and automated approach to exploratory data analysis (EDA) through quick and easy data visualization plus data quality. The library is designed to help users understand patterns, trends, and relationships in the data by creating insightful visualizations with minimal effort. AutoViz is particularly useful for beginners in data analysis as it abstracts away the complexities of various plotting libraries and techniques. For experts, it provides another expert tool that they can use to provide inights into data that they may have missed.

    AutoViz is a powerful tool for generating insightful visualizations with minimal effort. Here are some of its key selling points compared to other automated EDA tools:

    1. Ease of use: AutoViz is designed to be user-friendly and accessible to beginners in data analysis, abstracting away the complexities of various plotting libraries
    2. Speed: AutoViz is optimized for speed and can generate multiple insightful plots with just a single line of code
    3. Scalability: AutoViz is designed to work with datasets of any size and can handle large datasets efficiently
    4. Automation: AutoViz automates the visualization process, requiring just a single line of code to generate multiple insightful plots
    5. Customization: AutoViz provides several options for customizing the visualizations, such as changing the chart type, color palette, etc.
    6. Data Quality: AutoViz now provides data quality assessment by default and helps you fix DQ issues with a single line of code using the FixDQ() function

    Installation

    Prerequisites

    Create a new environment and install the required dependencies to clone AutoViz:

    From PyPi:

    cd <AutoViz_Destination>
    git clone git@github.com:AutoViML/AutoViz.git
    # or download and unzip https://github.com/AutoViML/AutoViz/archive/master.zip
    conda create -n <your_env_name> python=3.7 anaconda
    conda activate <your_env_name> # ON WINDOWS: `source activate <your_env_name>`
    cd AutoViz

    For Python versions below 3.10, install dependencies as follows:

    pip install -r requirements.txt

    For Python 3.10, please use:

    pip install -r requirements-py310.txt

    For Python 3.11 and above, it's recommended to use:

    pip install -r requirements-py311.txt

    These requirement files ensure that AutoViz works seamlessly with your Python environment by installing compatible versions of libraries like HoloViews, Bokeh, and hvPlot. Please select the requirement file that corresponds to your Python version to enjoy a smooth experience with AutoViz.

    Usage

    Discover how to use AutoViz in this Medium article.

    In the AutoViz directory, open a Jupyter Notebook or open a command palette (terminal) and use the following code to instantiate the AutoViz_Class. You can simply run this code step by step:

    from autoviz import AutoViz_Class
    AV = AutoViz_Class()
    dft = AV.AutoViz(filename)

    AutoViz can use any input either filename (in CSV, txt, or JSON format) or a pandas dataframe. If you have a large dataset, you can set the max_rows_analyzed and max_cols_analyzed arguments to speed up the visualization by asking autoviz to sample your dataset.

    AutoViz can also create charts in multiple formats using the chart_format setting:

    API

    Arguments for AV.AutoViz() method:

    Examples

    Here are some examples to help you get started with AutoViz. If you need full jupyter notebooks with code samples they can be found in examples folder.

    Example 1: Visualize a CSV file with a target variable

    from autoviz import AutoViz_Class
    AV = AutoViz_Class()
    
    filename = "your_file.csv"
    target_variable = "your_target_variable"
    
    dft = AV.AutoViz(
        filename,
        sep=",",
        depVar=target_variable,
        dfte=None,
        header=0,
        verbose=1,
        lowess=False,
        chart_format="svg",
        max_rows_analyzed=150000,
        max_cols_analyzed=30,
        save_plot_dir=None
    )

    var_charts

    Example 2: Visualize a Pandas DataFrame without a target variable:

    import pandas as pd
    from autoviz import AutoViz_Class
    
    AV = AutoViz_Class()
    
    data = {'col1': [1, 2, 3, 4, 5], 'col2': [5, 4, 3, 2, 1]}
    df = pd.DataFrame(data)
    
    dft = AV.AutoViz(
        "",
        sep=",",
        depVar="",
        dfte=df,
        header=0,
        verbose=1,
        lowess=False,
        chart_format="server",
        max_rows_analyzed=150000,
        max_cols_analyzed=30,
        save_plot_dir=None
    )
    

    server_charts

    Example 3: Generate interactive Bokeh charts and save them as HTML files in a custom directory

    from autoviz import AutoViz_Class
    AV = AutoViz_Class()
    
    filename = "your_file.csv"
    target_variable = "your_target_variable"
    custom_plot_dir = "your_custom_plot_directory"
    
    dft = AV.AutoViz(
        filename,
        sep=",",
        depVar=target_variable,
        dfte=None,
        header=0,
        verbose=2,
        lowess=False,
        chart_format="bokeh",
        max_rows_analyzed=150000,
        max_cols_analyzed=30,
        save_plot_dir=custom_plot_dir
    )

    bokeh_charts

    These examples should give you an idea of how to use AutoViz with different scenarios and settings. By tailoring the options and settings, you can generate visualizations that best suit your needs, whether you're working with large datasets, interactive charts, or simply exploring the relationships between variables.

    Maintainers

    AutoViz is actively maintained and improved by a team of dedicated developers. If you have any questions, suggestions, or issues, feel free to reach out to the maintainers:

    Contributing

    We welcome contributions from the community! If you're interested in contributing to AutoViz, please follow these steps:

    See the contributing file!

    License

    AutoViz is released under the Apache License, Version 2.0. By using AutoViz, you agree to the terms and conditions specified in the license.

    Tips

    Here are some additional tips and reminders to help you make the most of the library:

    DISCLAIMER

    This project is not an official Google project. It is not supported by Google, and Google specifically disclaims all warranties as to its quality, merchantability, or fitness for a particular purpose.