Я получаю очень низкий балл в наборе данных по склеарн-диабету, используя линейную регрессию - PullRequest
2 голосов
/ 08 ноября 2019
from sklearn import datasets

diabetes = datasets.load_diabetes()
diabetes.keys()
print(diabetes.feature_names)
diabetes.DESCR

diabetes.data
diabetes.target

import pandas as pd

file =pd.DataFrame(data=diabetes.data,columns=diabetes.feature_names)

file['DiseaseProgression']=diabetes.target
_______________________________________________________________________________________________________


import statsmodels.formula.api as ms

md=ms.ols(formula="DiseaseProgression~sex+bmi+bp+s1+s2+s3+s4",data=file)
reg=md.fit() #let model to read the available and make equation
reg.summary()

ОТВЕТ ЕСТЬ

OLS Regression Results
Dep. Variable:  DiseaseProgression  R-squared:  0.494
Model:  OLS Adj. R-squared: 0.486
Method: Least Squares   F-statistic:    60.53
Date:   Sat, 09 Nov 2019    Prob (F-statistic): 2.32e-60
Time:   00:51:16    Log-Likelihood: -2396.6
No. Observations:   442 AIC:    4809.
Df Residuals:   434 BIC:    4842.
Df Model:   7       
Covariance Type:    nonrobust       
coef    std err t   P>|t|   [0.025  0.975]
Intercept   152.1335    2.629   57.860  0.000   146.966 157.301
sex -233.5603   61.951  -3.770  0.000   -355.323    -111.798
bmi 576.7016    66.290  8.700   0.000   446.412 706.991
bp  360.0567    64.135  5.614   0.000   234.003 486.110
s1  866.2823    194.446 4.455   0.000   484.109 1248.455
s2  -875.1899   155.944 -5.612  0.000   -1181.690   -568.690
s3  -575.3824   151.388 -3.801  0.000   -872.927    -277.838
s4  125.8840    163.789 0.769   0.443   -196.034    447.802
Omnibus:    2.993   Durbin-Watson:  1.984
Prob(Omnibus):  0.224   Jarque-Bera (JB):   2.595
Skew:   0.094   Prob(JB):   0.273
Kurtosis:   2.676   Cond. No.   108.

Использование линейной регрессии Склеарна:

from sklearn.linear_model import LinearRegression
lr=LinearRegression()
lr.fit(file_inp,file_op).score(file_inp,file_op)

O / p: 0.5177494254132934

А также как нарисовать это, снова: я просто хочу знать, что я делаю правильно или неправильно, если неправильно, что я должен сделать, чтобы получить хороший ответ, и, пожалуйста, скажите мне, как нарисовать график мультилинейной регрессии, а также как нарисовать график сжатия между прогнозируемым и фактическим o / pЗаранее спасибо

...