Python package that analyses the given datasets and comes up with the best polynomial regression representation with the smallest polynomial degree possible, to be the most reliable with the least complexity possible
Project description
# Polynomial Regression
Python package that analyses the given datasets and comes up with the best polynomial regression representation with the smallest polynomial degree possible, to be the most reliable with the least complexity possible
Setup
Requirements:
-
Python installed
The ideal version, to run the package is 3.9.x, the version in which the package was built over,
however, older versions of python 3 shouldn't have any issues, as the package does not use any
fancy, new methods, not supported by older versions of Python 3.x -
Installing the package
For Microsoft Windows
pip install polynomial-regression-model
For Linux
pip3 install polynomial-regression-model
- Importing the package
Firstly, it's necessary to import the method regress from the package polinomial_regression.main. It will analyse the parameter(s) and return the right object with all the methods it provides:
from polinomial_regression.main import regress
Then, there are two ways of using this model: One which provides both the axis values, x and y, and the math is done, and the other which provides only the y axis, would be more fitting to a use case of overtime monitoring of a single metric, sleect the best option to use below:
First the one that relates two different metrics, it is necessary to pass two same sized lists of numbers
regression = regress([1, 2, 3, 4, 5], [2, 4, 6, 8, 10])
And also the one that monitors the overtime behaviour of a single metric, it is necessary to pass a number list
regression = regress([1, 2, 3, 4, 5, 2, 4, 6, 8, 10])
After we already got our object instance, all there is left to do is enjoy the beauty of math
Methods
- get_degree
regression.get_degree()
# returns the polynomial degree(index) of the best fitting function
# E.g. 4 in the case of the equation being a 4th degree polynomial
- get_ordinal
regression.get_ordinal()
# returns the polynomial degree ordinal suffix (for mere better display)
# E.g. th in the case of the equation being a 4"th" degree polynomial
- get_full_degree
regression.get_full_degree()
# returns the polynomial degree(index) of the best fitting function
# with its ordinal suffix
# E.g. 4th in the case of the equation being a "4th" degree polynomial
- get_coefficients
regression.get_coefficients()
# returns a list of all the coefficients of the polynomial equation
# E.g. [2, 3, 4, 5, 6] in case of the equation being
# y = 2x^4 + 3x³ + 4x² + 5x + 6
- get_r2
regression.get_r2()
# returns the coefficient of determination(R²) to find
# the accuracy of the best fitting regression just calculated
# E.g. 0.9 in the case of the equation being highly accurate]
# in relation to the test data
# I.e. although the perfect index would be 1, in real life data
# that is highly unlikely to happen
- get_prediction
regression.get_prediction(x: float)
# returns the prediction of the y value correspondent to
# the x value informed according to the regression calculated
# E.g. 794 in the case of the equation being y = 2x^4 + 3x³ + 4x² + 5x + 6
# (like the example above)
- equation_string
regression.equation_string()
# returns the polynomial equation calculated as a string
# to be better displayed if necessary
# E.g. y = 2x^4 + 3x³ + 4x² + 5x + 6 in the case of the example above
- visualization
regression.visualization()
# returns the a graphic plot of both a scatter plot of the
# real data and a line representing the regression calculated
- best_degree_polynomial
regression.best_degree_polynomial()
# returns the degree of the best fitting polynomial
# inside a string to be displayed
- coefficient_of_determination
regression.coefficient_of_determination()
# returns the coefficient of determination(R²) of the best
# fitting polynomial inside a string to be displayed
- equation_text
regression.equation_text()
# returns the best fitting polynomial inside a string
# to be displayed
- get_prediction
regression.get_prediction()
# returns the prediction of the y value correspondent to
# the x value informed according to the regression calculated
# E.g. 794 in the case of the equation being y = 2x^4 + 3x³ + 4x² + 5x + 6
# (like the example above)
- full_text_analysis
regression.full_text_analysis()
# returns the combination of the previous analysis, building
# the full analysis as a text
- full_analysis
regression.full_analysis()
# returns the full text analysis after plotting the
# visualization plots
- print_full_analysis
regression.print_full_analysis()
# prints the full text analysis and plots the
# visualization charts
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
File details
Details for the file polynomial_regression_model-2.1.0.tar.gz
.
File metadata
- Download URL: polynomial_regression_model-2.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c5156dcf26a204b32f84aed6831e2022c09ec6ee1fed546795dc8949d977044 |
|
MD5 | 90331f6fee2bec92e3fc6a30fb3ed44f |
|
BLAKE2b-256 | 1f781fe90f6101279454908cb2386970e6f4b32b77204449aa15a9b43701712a |