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Заранее спасибо