Python Regression Analysis.
Project description
PRegress
PRegress 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
pandasandstatsmodels
Installation
You can install the package using pip:
pip install pregress
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 pregress as pr
Getting Data
There are multiple datasets available from PRegress 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 pregress as pr
# Load data from PRegress
df = pr.get_data("Betas.csv")
# Format the data (for later)
df.drop(columns = df.columns[0], inplace=True)
Model Fitting and Prediction
PRegress formula supports formula functionality similar to R. Fit a model with a formula:
# Fit model with formula
model = pr.fit("SPY ~ .", df)
Summary types are specified using the out argument. Different summaries are available including:
- statsmodels (default)
- R
- STATA
- simple
- ANOVA
- coefficients (coef)
# Generate a model summary
pr.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
pr.predict(model, df)
# Produce fitted values
pr.predict(model)
General Plotting
Plotting code is streamlined and built on top of Seaborn and MatPlotLib. Samples provided below.
# Generate a boxplot
pr.boxplot("SPY ~ .", df)
# Generate a histogram
pr.hist(df.SPY)
# Multiple histograms
pr.hists("SPY ~ .",data = df)
# Scatter plot
pr.plotXY("MSFT ~ SPY", data = df)
# Multiple Scatter plots
pr.plots("SPY ~ .", data = df)
# Correlation Plot
pr.plot_cor(df)
Required Fixes
Based on current testing, the following fixes are required:
- Ensure global scope accessibility for variables.
- Adjust summary spacing.
- Provide compatibility with
scikit-learn. - Implement AI-generated summaries.
- Allow for additional plotting customization (using kwargs).
- Review and improve diagnostic plots.
- Provide support for logistic regression and other GLMs.
- Provide support for automatic dummy variable retrieval.
- Plots should work without formulas.
Contributing
We welcome contributions to PRegress! If you find a bug or have a feature request, please open an issue on GitHub. You can also contribute by:
- Forking the repository
- Creating a new branch (
git checkout -b feature-branch) - Committing your changes (
git commit -am 'Add some feature') - Pushing to the branch (
git push origin feature-branch) - 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 PRegress for their support and feedback. Special thanks to Mintra Putlek!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pregress-1.0.5.tar.gz.
File metadata
- Download URL: pregress-1.0.5.tar.gz
- Upload date:
- Size: 196.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7d9a813b7fffc13552f51261c500c0558858c6c87d834a442863f7960ec26af
|
|
| MD5 |
1f7c3c5f4330450660ea77174c82239b
|
|
| BLAKE2b-256 |
88927ff62f92c2e977f749404d9cfbb705f05976b09a6639e6a71d7316a0f6c2
|
File details
Details for the file pregress-1.0.5-py3-none-any.whl.
File metadata
- Download URL: pregress-1.0.5-py3-none-any.whl
- Upload date:
- Size: 214.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e25d15fb50d2d72d4947124af17a1bff09324d03cb6ea4f3dc4181e53ca710f
|
|
| MD5 |
1a060013bd7dd517233fee41f5decc5f
|
|
| BLAKE2b-256 |
b623c739c2f99831bdec443963613d69f3caa17b9be14de63d3c29350ffb64aa
|