1. import numpy as np
  2. import matplotlib.pyplot as plt
  3.  
  4. from sklearn import datasets, linear_model
  5. from sklearn.model_selection import train_test_split
  6.  
  7. def load_data():
  8. diabetes = datasets.load_diabetes()
  9. return train_test_split(diabetes.data,diabetes.target,test_size=0.25,random_state=0)
  10.  
  11. #Lasso回归
  12. def test_Lasso(*data):
  13. X_train,X_test,y_train,y_test=data
  14. regr = linear_model.Lasso()
  15. regr.fit(X_train, y_train)
  16. print('Coefficients:%s, intercept %.2f'%(regr.coef_,regr.intercept_))
  17. print("Residual sum of squares: %.2f"% np.mean((regr.predict(X_test) - y_test) ** 2))
  18. print('Score: %.2f' % regr.score(X_test, y_test))
  19.  
  20. # 产生用于回归问题的数据集
  21. X_train,X_test,y_train,y_test=load_data()
  22. # 调用 test_Lasso
  23. test_Lasso(X_train,X_test,y_train,y_test)
  24.  
  25. def test_Lasso_alpha(*data):
  26. X_train,X_test,y_train,y_test=data
  27. alphas=[0.01,0.02,0.05,0.1,0.2,0.5,1,2,5,10,20,50,100,200,500,1000]
  28. scores=[]
  29. for i,alpha in enumerate(alphas):
  30. regr = linear_model.Lasso(alpha=alpha)
  31. regr.fit(X_train, y_train)
  32. scores.append(regr.score(X_test, y_test))
  33. ## 绘图
  34. fig=plt.figure()
  35. ax=fig.add_subplot(1,1,1)
  36. ax.plot(alphas,scores)
  37. ax.set_xlabel(r"$\alpha$")
  38. ax.set_ylabel(r"score")
  39. ax.set_xscale('log')
  40. ax.set_title("Lasso")
  41. plt.show()
  42.  
  43. # 调用 test_Lasso_alpha
  44. test_Lasso_alpha(X_train,X_test,y_train,y_test)

吴裕雄--天生自然 人工智能机器学习实战代码:LASSO回归的更多相关文章

  1. 吴裕雄--天生自然 人工智能机器学习实战代码:线性判断分析LINEARDISCRIMINANTANALYSIS

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

  2. 吴裕雄--天生自然 人工智能机器学习实战代码:ELASTICNET回归

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

  3. 吴裕雄--天生自然python机器学习实战:K-NN算法约会网站好友喜好预测以及手写数字预测分类实验

    实验设备与软件环境 硬件环境:内存ddr3 4G及以上的x86架构主机一部 系统环境:windows 软件环境:Anaconda2(64位),python3.5,jupyter 内核版本:window ...

  4. 吴裕雄--天生自然python机器学习:使用Logistic回归从疝气病症预测病马的死亡率

    ,除了部分指标主观和难以测量外,该数据还存在一个问题,数据集中有 30%的值是缺失的.下面将首先介绍如何处理数据集中的数据缺失问题,然 后 再 利 用 Logistic回 归 和随机梯度上升算法来预测 ...

  5. 吴裕雄--天生自然python机器学习:决策树算法

    我们经常使用决策树处理分类问题’近来的调查表明决策树也是最经常使用的数据挖掘算法. 它之所以如此流行,一个很重要的原因就是使用者基本上不用了解机器学习算法,也不用深究它 是如何工作的. K-近邻算法可 ...

  6. 吴裕雄--天生自然python机器学习:使用K-近邻算法改进约会网站的配对效果

    在约会网站使用K-近邻算法 准备数据:从文本文件中解析数据 海伦收集约会数据巳经有了一段时间,她把这些数据存放在文本文件(1如1^及抓 比加 中,每 个样本数据占据一行,总共有1000行.海伦的样本主 ...

  7. 吴裕雄--天生自然python机器学习:支持向量机SVM

    基于最大间隔分隔数据 import matplotlib import matplotlib.pyplot as plt from numpy import * xcord0 = [] ycord0 ...

  8. 吴裕雄--天生自然python机器学习:朴素贝叶斯算法

    分类器有时会产生错误结果,这时可以要求分类器给出一个最优的类别猜测结果,同 时给出这个猜测的概率估计值. 概率论是许多机器学习算法的基础 在计算 特征值取某个值的概率时涉及了一些概率知识,在那里我们先 ...

  9. 吴裕雄--天生自然python机器学习:机器学习简介

    除却一些无关紧要的情况,人们很难直接从原始数据本身获得所需信息.例如 ,对于垃圾邮 件的检测,侦测一个单词是否存在并没有太大的作用,然而当某几个特定单词同时出现时,再辅 以考察邮件长度及其他因素,人们 ...

随机推荐

  1. IT架构的本质--阅读笔记01

    万物都有其本质,也只有了解了事物的本质之后,才不至于出现在事物稍作改变时就难以应对的情况,作为软件工程专业的学生,我们应该对IT架构的本质有一定的了解.“老僧三十年前未参禅时,见山是山,见水是水.及至 ...

  2. ajax使用json数组------前端往后台发送json数组及后台往前端发送json数组

    1.引子 Json是跨语言数据交流的中间语言,它以键/值对的方式表示数据,这种简单明了的数据类型能被大部分编程语言理解.它也因此是前后端数据交流的主要方式和基础. 2.前端往后台传输json数据 第一 ...

  3. HDU - 1754 线段树

    #include <algorithm> #include <iostream> #include<sstream> #include<cstring> ...

  4. Qt QString 和 LPCWSTR 的相互转换

    在windosw 编程中,常用到LPCWSTR 变量,QT中最常用到QString,下面提供QString和LPCWSTR 相互转换的方法 LPWSTR 转换成QString LPCWSTR str; ...

  5. Java之常见异常

    package com.atguigu.java1; import java.io.File;import java.io.FileInputStream;import java.util.Date; ...

  6. python基础——异常处理及断言

    python常见的异常类型? 异常有很多种类型,常见的由语法错误(SyntaxError).类型错误(TypeError).名字错误(NameError)等等,但我们要知道的是异常本身就是一个类的实例 ...

  7. Hibernate实现分页查询

    分页查询就是把数据库中某张表的记录数进行分页查询,在做分页查询时会有一个Page类,下面是一个Page类,我对其做了详细的注解: 1 package com.entity; 2 /** 3 * @au ...

  8. HDU-1540 Tunnel Warfare(区间连续点长度)

    http://acm.hdu.edu.cn/showproblem.php?pid=1540 Time Limit: 4000/2000 MS (Java/Others)    Memory Limi ...

  9. springCloud负载均衡Ribbon和Feign的区别

    1.什么是负载均衡: 负载均衡(Load Balance)是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据[均匀]分摊到多个操作单元上执行,负载均衡的关键在于[均匀]. 2.常见的负 ...

  10. 创建可执行jar包

    1.编辑manifest.mf文件 Main-Class:空格 你的类名 回车 2.打包 jar cvfm 类名.jar manifest.mf 类名.class 3使用 java -jar 类名.j ...