[云炬python3玩转机器学习]4-3 训练数据集,测试数据集
03 测试我们的算法
import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
iris = datasets.load_iris()
iris.keys()
dict_keys(['data', 'target', 'target_names', 'DESCR', 'feature_names'])
X = iris.data
y = iris.target
X.shape
(150, 4)
y.shape
(150,)
train_test_split
分离出一部分数据做训练,另外一部分数据做测试。
y
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2])
shuffled_indexes = np.random.permutation(len(X))
shuffled_indexes
array([ 69, 11, 5, 9, 12, 148, 111, 34, 73, 104, 108, 47, 60,102, 95, 75, 139, 110, 55, 77, 49, 6, 92, 32, 124, 21,127, 130, 66, 58, 63, 0, 80, 144, 97, 1, 8, 79, 123,101, 50, 23, 90, 56, 19, 149, 142, 57, 72, 147, 86, 145,15, 91, 4, 62, 41, 39, 135, 112, 115, 38, 138, 33, 125,134, 35, 87, 26, 114, 61, 143, 103, 43, 82, 140, 141, 30,78, 146, 10, 22, 51, 122, 18, 31, 113, 131, 129, 7, 65,59, 36, 85, 81, 28, 116, 118, 83, 67, 52, 109, 119, 16,25, 2, 136, 94, 93, 45, 132, 76, 71, 99, 54, 20, 96,3, 117, 64, 128, 120, 48, 46, 13, 126, 88, 53, 68, 107,121, 40, 29, 133, 89, 44, 42, 98, 137, 17, 100, 84, 24,27, 74, 106, 37, 14, 70, 105])
test_ratio = 0.2
test_size = int(len(X) * test_ratio)
test_indexes = shuffled_indexes[:test_size]
train_indexes = shuffled_indexes[test_size:]
X_train = X[train_indexes]
y_train = y[train_indexes]X_test = X[test_indexes]
y_test = y[test_indexes]
print(X_train.shape)
print(y_train.shape)
(120, 4) (120,)
print(X_test.shape)
print(y_test.shape)
(30, 4) (30,)
封装
from playML.model_selection import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y)
print(X_train.shape)
print(y_train.shape)
(120, 4) (120,)
print(X_test.shape)
print(y_test.shape)
(30, 4) (30,)
测试我们的算法
from playML.kNN import KNNClassifiermy_knn_clf = KNNClassifier(k=3)
my_knn_clf.fit(X_train, y_train)
y_predict = my_knn_clf.predict(X_test)
y_predict
array([2, 1, 0, 0, 0, 0, 1, 1, 2, 2, 0, 0, 0, 2, 2, 0, 1, 2, 1, 1, 0, 1, 0,1, 1, 2, 2, 0, 0, 1])
y_test
array([2, 1, 0, 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 2, 2, 0, 1, 2, 1, 1, 0, 1, 0,1, 1, 2, 2, 0, 0, 1])
sum(y_predict == y_test)
29
sum(y_predict == y_test) / len(y_test)
0.96666666666666667
sklearn中的train_test_split
from sklearn.model_selection import train_test_splittrain_test_split
<function sklearn.model_selection._split.train_test_split>
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=666)
print(X_train.shape)
print(y_train.shape)
(120, 4) (120,)
print(X_test.shape)
print(y_test.shape)
(30, 4) (30,)
[云炬python3玩转机器学习]4-3 训练数据集,测试数据集相关推荐
- [云炬python3玩转机器学习笔记] 1-3课程所使用的主要技术栈
课程环境 语言:Python3 框架:Scikit-learn 其他框架:numpy,matplotlib... IDE:Jupyter Notebook,PyCharm,ANACONDA 课程学习基 ...
- [云炬python3玩转机器学习笔记] 3-2 Jupter Notebook魔法命令
xxxxxxxxxx### %run %run¶ In [1]:%run myscript/hello.py hello Machine Learning ! . . .In [2]:xxxxxxxx ...
- [云炬python3玩转机器学习笔记] 3-1 Jupyter Notebook
1+2for _ in range(5):print("Hello, Machine Learning!")5+5*29+9print("天津云炬网络科技有限公司&quo ...
- [云炬python3玩转机器学习] 5-6最好的衡量线性回归法的指标: R Squared
RMSE MAE 无法解决 不同模型之间的误差值比较,如预测房产数据误差为5万元,而预测学生成绩误差是10分,无法进行比较算法是用在哪个问题上好 R Squared就可以解决这种问题 y = y均值这 ...
- [云炬python3玩转机器学习笔记] 2-6关于回归和分类
在这一章,我们了解到了,机器学习主要可以处理的两大类问题,是回归和分类.看起来,似乎有些局限,但是,非常出人意料的,在我们现实生活中,很多问题,都可以通过化简,或者转换的手段,转换成分类问题或者回归问 ...
- [云炬python3玩转机器学习笔记] 2-5机器学习相关的哲学思考
2-5机器学习相关的哲学思考
- [云炬python3玩转机器学习笔记] 2-4批量学习、咋西安学习、参数学习和非参数学习
机器学习的其他分类: 在线学习(online learining)和批量学习(离线学习 batch learning/offline learning): 批量学习(之前没有具体说明的话,都可以用批量 ...
- [云炬python3玩转机器学习笔记] 2-2机器学习主要任务
机器学习(监督学习)的主要任务 一.分类:将给定的数据进行分类- 二分类任务:二选一的方式,yes/no- 多分类任务:结果不仅仅在两个结果中,而是很多结果,获得的结果很明确- 数字识别- 图像识别- ...
- [云炬python3玩转机器学习笔记] 2-1机器学习基础概念
机器学习基础概念 一.关于数据 本文约定: 大写表示矩阵 小写表示向量 上标代表第几个样本 下标代表第几个特征 一般向量都表示为列向量 特征空间:每个维度都可以表示一个特征,形成一个空间(2D,3D, ...
- [云炬python3玩转机器学习笔记] 1-1什么是机器学习
一. 什么是机器学习 机器学习本质是在模拟人类进行思考学习,人类的思考学习大部分来自经验的积累,机器学习也一样 二.机器学习的应用场景 (一)已投入生产的 (二)未来需要运用机器学习的领域 在未来,A ...
最新文章
- 网站优化只需五步技巧分享推广无界限
- HTTP 错误 500.21 - Internal Server Error PageHandlerFactory-Integrated
- android air创建文件夹,安卓版Airdrop将上线:无需安装APP,轻松实现文件隔空投送...
- IPC——流套接字通信
- 线性表11|单链表小结:腾讯面试题 - 数据结构和算法16
- KlayGE 4.4中渲染的改进(五):OpenGL 4.4和OpenGLES 3
- 吃货注意接收,精美美食图片壁纸来喽
- 整数反转Java_详解 LeetCode_007_整数反转(Java 实现)
- 项目实战:DIY光驱激光雕刻机-激光切割机 (含制作步骤 实物 图纸 程序 上位机软件 )下载
- 微星电脑win、ctrl等组合键时而失灵
- IOS逆向-静态分析
- 如何使用hMailServer+云服务器搭建个人邮箱
- 数学建模——摘要写作
- JavaScript - 通过居民身份证号码获取年龄和性别(函数封装)
- 搜索广告的整体架构-子模块划分
- 14-eval 函数
- 给不给你升职,领导关心的是什么?
- 数据分析项目实战——Airbnb数据分析
- MacBook的分屏
- Robomongo的安装和配置