python - 我在 sklearn 糖尿病数据集中得分很低,使用线性回归,请指导我如何绘制多重线性回归
问题描述
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.
使用 Sklearn 线性回归:
from sklearn.linear_model import LinearRegression
lr=LinearRegression()
lr.fit(file_inp,file_op).score(file_inp,file_op)
运单:0.5177494254132934
还有如何画这个,再次:我只想知道如果错了,我是在做对还是错,我应该怎么做才能得到好的答案,请告诉我如何绘制多线性回归图以及如何绘制压缩预测和实际 o/p 之间的图表 提前致谢
解决方案
推荐阅读
- angular - 如何在一行中导入多个组件和类 - 角度?
- java - 如何使用 Maven 解决对 JNLP 的依赖
- go - IPv4 地址 BigEndian 字节顺序
- javascript - 如何使用内部函数更改外部变量的值?
- postgresql - 如何读取用户表中的记录?
- swift - 如何在循环中调用 childByAutoId 一次?(迅速)
- c - 从整数(指针)生成指针(整数)而不进行强制转换
- python-3.x - 未找到带有参数“(”,)”的“update_task”的反向操作。尝试了 1 种模式:['update/(?P
[^/]+)/$'] - arrays - Flutter 从本地化 JSON 文件解析数组
- python - 获取列表中所有可能的差为 1 的数字对