楼主: casey_c
1563 1

[程序分享] 模型验证与参数调整 [推广有奖]

  • 0关注
  • 10粉丝

博士生

92%

还不是VIP/贵宾

-

威望
0
论坛币
96 个
通用积分
2.0091
学术水平
2 点
热心指数
15 点
信用等级
2 点
经验
11502 点
帖子
278
精华
0
在线时间
94 小时
注册时间
2016-11-22
最后登录
2022-5-2

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文

继续基于 Scikit-Learn 库的相关模块,向大家介绍 Python 中一些模型验证及调优的工具。
为了方便后续的演示,首先导入示例数据集 iris,并对数据特征与标记(即模型的自变量与因变量)进行提取划分:


  1. from sklearn.datasets import load_iris
  2. iris = load_iris()
  3. X = iris.data
  4. y = iris.target
复制代码


构建一个 KNN 分类模型 model,用于验证准备:

  1. from sklearn.neighbors import KNeighborsClassifier
  2. model = KNeighborsClassifier(n_neighbors=1)
复制代码


模型拟合与预测:


  1. model.fit(X, y)
  2. y_model = model.predict(X)
复制代码


导入 metrics 模块的 accuracy_score 函数,该函数能够帮助我们计算模型的准确率:


  1. from sklearn.metrics import accuracy_score
  2. accuracy_score(y, y_model)
复制代码
1.0
交叉验证是机器学习中常用的模型验证方法,这需要我们将数据集划分为训练集与验证集,cross_validation 模块中的 train_test_split 函数能够帮助我们实现较轻松的划分:
  1. from sklearn.cross_validation import train_test_split
  2. # 对数据集进行划分,一半作为训练集,另一半作为验证集
  3. X1, X2, y1, y2 = train_test_split(X, y, random_state=0,
  4.                                   train_size=0.5)

  5. # 运用训练集拟合模型
  6. model.fit(X1, y1)

  7. # 运用验证集评价模型准确度
  8. y2_model = model.predict(X2)
  9. accuracy_score(y2, y2_model)
复制代码
0.90666666666666662
后文还有介绍 k-fold 交叉验证的工具 cross_val_score 、模型参数调优、绘制模型拟合的曲线等,内容较多,先搬运到这,有需要的同学可以先直接到 数析学院 查看原文
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:模型验证 scikit-learn classifier Validation accuracy 模型

已有 1 人评分经验 收起 理由
我的素质低 + 100 精彩帖子

总评分: 经验 + 100   查看全部评分

沙发
casey_c 发表于 2017-6-13 10:44:24 |只看作者 |坛友微信交流群

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 16:56