了解 Sklearn 的数据集
今天来看 Sklearn
中的 data sets
,很多而且有用,可以用来学习算法模型。
eg: boston 房价, 糖尿病, 数字, Iris 花。
也可以生成虚拟的数据,例如用来训练线性回归模型的数据,可以用函数来生成。
例如,点击进入 boston 房价的数据,可以看到 sample
的总数,属性,以及 label
等信息。
如果是自己生成数据,按照函数的形式,输入 sample,feature,target
的个数等等。
sklearn.datasets.make_regression(n_samples=100, n_features=100, n_informative=10, n_targets=1, bias=0.0, effective_rank=None, tail_strength=0.5, noise=0.0, shuffle=True, coef=False, random_state=None)[source]
接下来用代码练习一下。
本文结构:
- [导入模块]
- [导入数据-训练模型]
- [创建虚拟数据-可视化]
<h4 id="pkg">导入模块</h4>
导入 datasets
包,本文以 Linear Regression
为例。
from __future__ import print_function
from sklearn import datasets
from sklearn.linear_model import LinearRegression
import matplotlib.pyplot as plt
<h4 id="data">导入数据-训练模型</h4>
用 datasets.load_boston()
的形式加载数据,并给 X
和 y
赋值,这种形式在 Sklearn
中都是高度统一的。
loaded_data = datasets.load_boston()
data_X = loaded_data.data
data_y = loaded_data.target
定义模型。
可以直接用默认值去建立 model
,默认值也不错,也可以自己改变参数使模型更好。
然后用 training data
去训练模型。
model = LinearRegression()
model.fit(data_X, data_y)
再打印出预测值,这里用 X
的前 4 个来预测,同时打印真实值,作为对比,可以看到是有些误差的。
print(model.predict(data_X[:4, :]))
print(data_y[:4])
“”“
[ 30.00821269 25.0298606 30.5702317 28.60814055]
[ 24. 21.6 34.7 33.4]
”“”
为了提高准确度,可以通过尝试不同的 model
,不同的参数,不同的预处理等方法,入门的话可以直接用默认值。
<h4 id="vision">创建虚拟数据-可视化</h4>
下面是创造数据的例子。
用函数来建立 100 个 sample
,有一个 feature
,和一个 target
,这样比较方便可视化。
X, y = datasets.make_regression(n_samples=100, n_features=1, n_targets=1, noise=10)
用 scatter
的形式来输出结果。
plt.scatter(X, y)
plt.show()
可以看到用函数生成的 Linear Regression
用的数据。
noise
越大的话,点就会越来越离散,例如 noise
由 10 变为 50.
X, y = datasets.make_regression(n_samples=100, n_features=1, n_targets=1, noise=50)
plt.scatter(X, y)
plt.show()
- 使用Spark MLlib给豆瓣用户推荐电影
- hadoop,hbase,hive,zookeeper版本整合兼容性最全,最详细说明【适用于任何版本】
- centos7:SSH公钥无密码认证
- Spark机器学习API之特征处理
- hadoop入门:第十章hadoop工具
- hive文件存储格式:SequenceFile系统总结
- openshift镜像构建-s2i环境变量设置
- Go Channel 源码剖析
- 再谈谈获取 goroutine id 的方法
- Golang方法和接口
- Go队列和堆栈
- openstack【juno】入门高级篇:为何你的实例ping不通外网【详述】
- Java 中的并发
- map按key和按value排序
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法