https://github.com/greed2411/plinearregression
Scikit-Learn's linear regression extended with p-values.
https://github.com/greed2411/plinearregression
hypothesis-testing p-values python3 regression scikit-learn
Last synced: 9 months ago
JSON representation
Scikit-Learn's linear regression extended with p-values.
- Host: GitHub
- URL: https://github.com/greed2411/plinearregression
- Owner: greed2411
- Created: 2018-09-03T16:45:57.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-03T17:08:59.000Z (over 7 years ago)
- Last Synced: 2025-05-07T14:06:50.199Z (about 1 year ago)
- Topics: hypothesis-testing, p-values, python3, regression, scikit-learn
- Language: Jupyter Notebook
- Size: 7.81 KB
- Stars: 9
- Watchers: 0
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PLinearRegression
Scikit-Learn's linear regression extended with p-values.
> "... the null hypothesis is never proved or established, but is possibly disproved, in the course of experimentation. Every experiment may be said to exist only to give the facts a chance of disproving the null hypothesis." - R. A. Fisher
People from [R](https://www.r-project.org/) background are familiar with [hypothesis testing](https://en.wikipedia.org/wiki/Statistical_hypothesis_testing) and [p-values](https://en.wikipedia.org/wiki/P-value) whereas ones from Python's [scikit-learn](http://scikit-learn.org/) background haven't heard of them. That's why I just made this script, which is an extension of scikit-learn's [LinearRegression](http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html), it can also be extended to Lasso and Ridge regressions respectively.
## Demo
A quick example:
```python
from p_linear_regression import PLinearRegression
plr = PLinearRegression()
plr.fit(X_train, y_train)
y_pred = plr.predict(X_test)
print(plr.summary)
```
Output for the diabetes dataset from sklearn looks like this:
```
coefficients standard Errors t statistic p values
0 37.900314 68.934688 0.549800 5.828141e-01
1 -241.966248 68.468840 -3.533962 4.654885e-04
2 542.425753 76.826436 7.060405 9.272139e-12
3 347.708305 71.252628 4.879937 1.628348e-06
4 -931.461261 450.477090 -2.067722 3.941565e-02
5 518.044055 363.566096 1.424896 1.550964e-01
6 163.403535 232.663793 0.702316 4.829584e-01
7 275.310038 185.125003 1.487158 1.378919e-01
8 736.189098 192.157851 3.831168 1.516492e-04
9 48.671125 73.305207 0.663952 5.071672e-01
```
There's also a [demo.ipynb](https://github.com/greed2411/PLinearRegression/blob/master/demo.ipynb) along with this repository for demonstration purposes.
critiques, comments and suggestions are always welcome.