Skip to main content

Applied regression modeling and visualization for business analytics

Project description

Ravix

Ravix is a Python package for regression analysis and data visualization. It provides tools for model fitting, prediction, and various types of plots to help visualize your data particularly for regression analysis.

Features

  • Model fitting and prediction with convenient formula notation
  • Streamlined code for plotting (boxplot, histogram, scatter plot, etc.)
  • Regression analysis diagnostic tools
  • Integration with popular libraries like pandas and statsmodels

Installation

You can install the package using pip:

pip install ravix

Usage

Here are some examples of how to use the key functions in the package.

Importing the Package

To use the functions provided by the package, import it as follows:

import ravix

Getting Data

There are multiple datasets available from Ravix and are easily attained using the get_data function. The datasets currently available are:

  • AirBnb.csv
  • Betas.csv
  • Charges.csv
  • Employment.csv
  • HousePrices.csv
  • HR_retention.csv
  • MarketingToys.csv
  • Sales.csv
  • Top200.csv
  • Twitter.csv
  • Youtube.csv

See Applied Linear Regression for Business Analytics with Python for details regarding these datasets. Sample import example:

import ravix

# Load data from ravix
df = ravix.get_data("Betas.csv")

# Format the data (for later)
df.drop(columns = df.columns[0], inplace=True)

Model Fitting and Prediction

Ravix formula supports formula functionality similar to R. Fit a model with a formula:

# Fit model with formula 
model = ravix.ols("SPY ~ .", df)

Summary types are specified using the out argument. Different summaries are available including:

  • simple (default)
  • statsmodels
  • R
  • ANOVA
  • coefficients (coef)
# Generate a model summary
ravix.summary(model)

Making Predictions

A Statsmodels object is created by default. From this object, the predict function can be used. Since df is the dataframe used to fit the model, the following lines produce the same result.

# Make predictions
ravix.predict(model, df)

# Produce fitted values
ravix.predict(model)

General Plotting

Plotting code is streamlined and built on top of Seaborn and MatPlotLib. Samples provided below.

# Generate a boxplot
ravix.boxplot("SPY ~ .", df)

# Generate a histogram
ravix.hist(df.SPY)

# Multiple histograms
ravix.hists("SPY ~ .",data = df)

# Scatter plot
ravix.plot("MSFT ~ SPY", data = df)

# Multiple Scatter plots
ravix.plot("SPY ~ .", data = df)

# Correlation Plot
ravix.plot_cor(df)

Required Fixes

Based on current testing, the following fixes are required:

  1. Ensure global scope accessibility for variables.
  2. Adjust summary spacing.
  3. Provide compatibility with scikit-learn.
  4. Implement AI-generated summaries.
  5. Allow for additional plotting customization (using kwargs).
  6. Review and improve diagnostic plots.
  7. Provide support for logistic regression and other GLMs.
  8. Provide support for automatic dummy variable retrieval.
  9. Plots should work without formulas.

Contributing

We welcome contributions to Ravix! If you find a bug or have a feature request, please open an issue on GitHub. You can also contribute by:

  1. Forking the repository
  2. Creating a new branch (git checkout -b feature-branch)
  3. Committing your changes (git commit -am 'Add some feature')
  4. Pushing to the branch (git push origin feature-branch)
  5. Creating a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

We would like to thank all contributors and users of Ravix for their support and feedback.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ravix-0.1.3.tar.gz (311.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ravix-0.1.3-py3-none-any.whl (331.3 kB view details)

Uploaded Python 3

File details

Details for the file ravix-0.1.3.tar.gz.

File metadata

  • Download URL: ravix-0.1.3.tar.gz
  • Upload date:
  • Size: 311.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for ravix-0.1.3.tar.gz
Algorithm Hash digest
SHA256 3761c6e8cd2d3c1071edcc7185f802bac860397458162c7cfd70adba60802817
MD5 0a0612cb47e14eec95a32a7009c6acf6
BLAKE2b-256 0a41a496d6249b18d96fd2a257de9feb20d0a386d3aed4235004a2fd2af85d2c

See more details on using hashes here.

File details

Details for the file ravix-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: ravix-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 331.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for ravix-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5eb455583d94ef27c2cb5e16ad8cf7cc5fe0e76d8bc5fe6f48661d16ab411cdc
MD5 5971254465767f74acb7491634da6e68
BLAKE2b-256 65d9f0cabec68d8e45983afdeab94cf2d99c4e7ba4d4a0bb7d02da0c0fbb1467

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page