import numpy as np
import matplotlib.pyplot as plt from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
from sklearn import datasets, linear_model
from sklearn.model_selection import train_test_split def load_data():
diabetes = datasets.load_diabetes()
return train_test_split(diabetes.data,diabetes.target,test_size=0.25,random_state=0) #ElasticNet回归
def test_ElasticNet(*data):
X_train,X_test,y_train,y_test=data
regr = linear_model.ElasticNet()
regr.fit(X_train, y_train)
print('Coefficients:%s, intercept %.2f'%(regr.coef_,regr.intercept_))
print("Residual sum of squares: %.2f"% np.mean((regr.predict(X_test) - y_test) ** 2))
print('Score: %.2f' % regr.score(X_test, y_test)) # 产生用于回归问题的数据集
X_train,X_test,y_train,y_test=load_data()
# 调用 test_ElasticNet
test_ElasticNet(X_train,X_test,y_train,y_test) def test_ElasticNet_alpha_rho(*data):
X_train,X_test,y_train,y_test=data
alphas=np.logspace(-2,2)
rhos=np.linspace(0.01,1)
scores=[]
for alpha in alphas:
for rho in rhos:
regr = linear_model.ElasticNet(alpha=alpha,l1_ratio=rho)
regr.fit(X_train, y_train)
scores.append(regr.score(X_test, y_test))
## 绘图
alphas, rhos = np.meshgrid(alphas, rhos)
scores=np.array(scores).reshape(alphas.shape)
fig=plt.figure()
ax=Axes3D(fig)
surf = ax.plot_surface(alphas, rhos, scores, rstride=1, cstride=1, cmap=cm.jet,linewidth=0, antialiased=False)
fig.colorbar(surf, shrink=0.5, aspect=5)
ax.set_xlabel(r"$\alpha$")
ax.set_ylabel(r"$\rho$")
ax.set_zlabel("score")
ax.set_title("ElasticNet")
plt.show() # 调用 test_ElasticNet_alpha_rho
test_ElasticNet_alpha_rho(X_train,X_test,y_train,y_test)

吴裕雄 python 机器学习——ElasticNet回归的更多相关文章

  1. 吴裕雄 python 机器学习——逻辑回归

    import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot ...

  2. 吴裕雄 python 机器学习——Lasso回归

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model from s ...

  3. 吴裕雄 python 机器学习——岭回归

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets, linear_model from s ...

  4. 吴裕雄 python 机器学习——KNN回归KNeighborsRegressor模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import neighbors, datasets from skle ...

  5. 吴裕雄 python 机器学习——回归决策树模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets from sklearn.model_s ...

  6. 吴裕雄 python 机器学习——集成学习随机森林RandomForestRegressor回归模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  7. 吴裕雄 python 机器学习——集成学习梯度提升决策树GradientBoostingRegressor回归模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  8. 吴裕雄 python 机器学习——集成学习AdaBoost算法回归模型

    import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,ensemble from sklear ...

  9. 吴裕雄 python 机器学习——模型选择回归问题性能度量

    from sklearn.metrics import mean_absolute_error,mean_squared_error #模型选择回归问题性能度量mean_absolute_error模 ...

随机推荐

  1. 新建git仓库并与github同步

    windows系统,GitExtentions. 如果在一个空目录克隆一个github仓库: 1. 在一个空目录下,点击右键,点击Clone 2. 设置: 3. 点击加载SSH密钥.参看 GitExt ...

  2. vim替换的两种方式

    最近操作一个超过30MB的一个文本文件,常用的编辑器打开就死.最后使用Vim,一路非常顺畅.不愧是久经历史考验的编辑器. 如何在Vim中将空格更换为\t 这个使用\s功能.具体命令为:\s\ \/t/ ...

  3. android 使用Canvas画箭头

    public class MyCanvas extends View{        private Canvas myCanvas;    private Paint myPaint=new Pai ...

  4. dp练习--

    动态规划(DP)算法     动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法.利用各个阶段之间的关系,逐个求解,最终求得全局最优解,需要确认原问题与子问题.动态规划状态.边界状态.边界状态 ...

  5. 微信小程序+没有找到node_modules目录

    第一步:设置-->项目设置-->使用npm模块 第二步:右键目录下miniprogram-->终端打开-->输入npm init-->在packagename下输入:sm ...

  6. Odoo-10开发环境配置与测试

    Odoo是使用Python写的开源ERP软件,这几年比较火.内部有实施能力的,这个软件还是很不错的.总体来说,国外的这类软件,更多是在做平台(比如微软的AX.SharePoint.SAP等)平台本身具 ...

  7. Condtion type Z123 is mandatory!

    user exit: MV45AFZZ->userexit_save_document_prepare ZI_EXIT_SD_CNEMS_SAVE_PREPARE ***Start of ins ...

  8. 文鹏教育_jmeter培训_逻辑控制器_循环取样器

    软件测试高端专家培训 QQ 讨论群498721021 网站http://www.szwpinfo.com   深圳文鹏教育jmeter 性能测试讲义 一.ForEach控制器在jmeter菜单中的位置 ...

  9. CSS3之动画模块实现云朵漂浮效果

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. MIUI6系统详细卡刷开发版获得root权限的经验

    小米的手机不同手机型号通常情况miui论坛都提供两个不同的版本,分别为稳定版和开发版,稳定版没有提供ROOT权限管理,开发版中就开启了ROOT权限,很多情况下我们需要使用的一些功能强大的App,都需要 ...