Sklearn库例子4:分类——Lasso分类例子
Lasso回归:
#-*- encoding:utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import r2_score np.random.seed(42)
n_samples,n_features=50,200
X=np.random.randn(n_samples,n_features)
coef=3*np.random.randn(n_features)
inds=np.arange(n_features)
np.random.shuffle(inds)
coef[inds[10:]]=0
y=np.dot(X,coef) ##添加噪音:
y+=0.01*np.random.normal((n_samples,))
####分离数据:
n_samples=X.shape[0]
X_train,y_train=X[:int(n_samples/2)],y[:int(n_samples/2)]
X_test,y_test=X[int(n_samples/2):],y[int(n_samples/2):] ###Lasso
from sklearn.linear_model import Lasso alpha=0.1
lasso=Lasso(alpha=alpha)
y_pred_lasso=lasso.fit(X_train,y_train).predict(X_test)
r2_score_lasso=r2_score(y_test,y_pred_lasso)
print(lasso)
print('r^2 on test data:%f' %r2_score_lasso) from sklearn.linear_model import ElasticNet
enet=ElasticNet(alpha=alpha,l1_ratio=0.7)
y_pred_enet=enet.fit(X_train,y_train).predict(X_test)
r2_score_enet=r2_score(y_test,y_pred_enet)
print(enet)
print('r^2 on test data:%f' %r2_score_enet) plt.plot(enet.coef_,label='Elastic net coefficients')
plt.plot(lasso.coef_,label='Lasso coefficients')
plt.plot(coef,'--',label='orginal coefficients' )
plt.legend(loc='best')
plt.title('Lasso R^2:%f,Elastic Net R^2:%f' %(r2_score_lasso,r2_score_enet))
plt.show()
输出:
Lasso(alpha=0.1, copy_X=True, fit_intercept=True, max_iter=,
normalize=False, positive=False, precompute=False, random_state=None,
selection='cyclic', tol=0.0001, warm_start=False)
r^ on test data:0.384710
ElasticNet(alpha=0.1, copy_X=True, fit_intercept=True, l1_ratio=0.7,
max_iter=, normalize=False, positive=False, precompute=False,
random_state=None, selection='cyclic', tol=0.0001, warm_start=False)
r^ on test data:0.240176

Sklearn库例子4:分类——Lasso分类例子的更多相关文章
- day-10 sklearn库实现SVM支持向量算法
学习了SVM分类器的简单原理,并调用sklearn库,对40个线性可分点进行训练,并绘制出图形画界面. 一.问题引入 如下图所示,在x,y坐标轴上,我们绘制3个点A(1,1),B(2,0),C(2,3 ...
- 复盘一篇讲sklearn库学习文章(上)
认识 sklearn 官网地址: https://scikit-learn.gor/stable/ 从2007年发布以来, scikit-learn已成为重要的Python机器学习库, 简称sklea ...
- 复盘一篇讲sklearn库的文章(下)
skleran-处理流程 获取数据 以用sklearn的内置数据集, 先导入datasets模块. 最经典的iris数据集作为例子. from sklearn import datasets iris ...
- Python深度学习案例2--新闻分类(多分类问题)
本节构建一个网络,将路透社新闻划分为46个互斥的主题,也就是46分类 案例2:新闻分类(多分类问题) 1. 加载数据集 from keras.datasets import reuters (trai ...
- 2.sklearn库中的标准数据集与基本功能
sklearn库中的标准数据集与基本功能 下面我们详细介绍几个有代表性的数据集: 当然同学们也可以用sklearn机器学习函数来挖掘这些数据,看看可不可以捕捉到一些有趣的想象或者是发现: 波士顿房价数 ...
- Python: sklearn库——数据预处理
Python: sklearn库 —— 数据预处理 数据集转换之预处理数据: 将输入的数据转化成机器学习算法可以使用的数据.包含特征提取和标准化. 原因:数据集的标准化(服从均值为 ...
- 分类and分类延展
1.Category简介 Category,又称为类别&类目&分类,是OC特有语法,在不修改原有类的基础上增加新的方法,一个庞大的类可以多人来分模块开发,有助于团队合作,或者对当前类方 ...
- Python深度学习案例1--电影评论分类(二分类问题)
我觉得把课本上的案例先自己抄一遍,然后将书看一遍.最后再写一篇博客记录自己所学过程的感悟.虽然与课本有很多相似之处.但自己写一遍感悟会更深 电影评论分类(二分类问题) 本节使用的是IMDB数据集,使用 ...
- 1.sklearn库的安装
sklearn库 sklearn是scikit-learn的简称,是一个基于Python的第三方模块.sklearn库集成了一些常用的机器学习方法,在进行机器学习任务时,并不需要实现算法,只需要简单的 ...
随机推荐
- DirectX 总结和DirectX 9.0 学习笔记
转自:http://www.cnblogs.com/graphics/archive/2009/11/25/1583682.html DirectX 总结 DDS DirectXDraw Surfac ...
- hdu 2047
PS:又是上课偷懒..去递推.. 代码: #include "stdio.h"#include "math.h"long long dp[55];long lo ...
- BZOJ 1912 巡逻
重赋边权. #include<iostream> #include<cstdio> #include<cstring> #include<algorithm& ...
- Ubuntu 重新设置网络
sudo service network-manager stop sudo rm /var/lib/NetworkManager/NetworkManager.state sudo service ...
- Cocos2d-x 2.x项目创建
cocos2d-x下载地址:http://www.cocos2d-x.org/download 2.0之后的创建项目 1. cd cocos2d-x-2.2.1/tools/project-creat ...
- 【题解】【链表】【Leetcode】Linked List Cycle II
Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Foll ...
- PAT (Basic Level) Practise:1039. 到底买不买
[题目链接] 小红想买些珠子做一串自己喜欢的珠串.卖珠子的摊主有很多串五颜六色的珠串,但是不肯把任何一串拆散了卖.于是小红要你帮忙判断一下,某串珠子里是否包含了全部自己想要的珠子?如果是,那么告诉她有 ...
- iOS学习笔记---oc语言第九天
初级内存管理 iOS应用程序出现crash(闪退),90%以上是内存问题////其他:数组越界,方法只声明没实现 内存问题体现在两个方面:内存溢出\野指针异常 内存溢出:程序运行超出内存上限 野指针异 ...
- windows Batch 脚本的一些常用有效
也是非常的有用的.比如要想要删除目录下的同一文件名的东西. del /S filename 就可以连同子目录下的同文件名一起删除 . 再比如你想要COPY 文件到子目录下的时候. for /D %%i ...
- 移动开发中使用Onsen UI的笔记
onsen var m_index = ons.bootstrap() 初始化框架 m_index 赋值 增加对象. m_index.value('getUser',{ // user:window. ...