动手学习数据分析(五)——数据建模及模型评估
数据建模及模型评估
1.特征工程
1.1 缺失值填充
- 对分类变量缺失值:填充某个缺失值字符(NA)、用最多类别的进行填充
- 对连续变量缺失值:填充均值、中位数、众数
2.模型搭建
处理完前面的数据我们就得到建模数据,下一步是选择合适模型在进行模型选择之前我们需要先知道数据集最终是进行监督学习还是无监督学习.除了根据我们任务来选择模型外,还可以根据数据样本量以及特征的稀疏性来决定刚开始我们总是先尝试使用一个基本的模型来作为其baseline,进而再训练其他模型做对比,最终选择泛化能力或性能比较好的模型
2.1 切割训练集和测试集
按比例切割训练集和测试集(一般测试集的比例有30%、25%、20%、15%和10%)
按目标变量分层进行等比切割
设置随机种子以便结果能复现
2.2 模型创建
- 创建基于线性模型的分类模型(逻辑回归)
- 创建基于树的分类模型(决策树、随机森林)
- 查看模型的参数,并更改参数值,观察模型变化
2.3 输出模型预测结果
- 输出模型预测分类标签
- 输出不通分类标签的预测概率
2.模型评估
- 模型评估是为了知道模型的泛化能力。
- 交叉验证(cross-validation)是一种评估泛化性能的统计学方法,它比单次划分训练集和测试集的方法更加稳定、全面。
- 在交叉验证中,数据被多次划分,并且需要训练多个模型。
- 最常用的交叉验证是 k 折交叉验证(k-fold cross-validation),其中 k 是由用户指定的数字,通常取 5 或 10。
- 准确率(precision)度量的是被预测为正例的样本中有多少是真正的正例
- 召回率(recall)度量的是正类样本中有多少被预测为正类
- f-分数是准确率与召回率的调和平均
2.1 交叉验证
- 用10折交叉验证来评估逻辑回归模型
- 计算交叉验证精度的平均值
2.2 混淆矩阵
- 计算二分类问题的混淆矩阵
- 计算精确率、召回率以及f-分数
动手学习数据分析(五)——数据建模及模型评估相关推荐
- 数据分析05:数据建模及模型评估
3 模型搭建和评估–建模 本章要做的是运用数据以及结合业务来得到某些需要知道的结果.分析的第一步是建模,搭建一个预测模型或者其他模型:得到模型的结果之后,要分析建立的模型是不是足够的可靠,接下来需要评 ...
- 动手学习数据分析(一)——数据探索性分析
Task01-数据加载及探索性数据分析 pandas 的数据结构: 基本概念:轴(Axis)和标签(Label) 数据框(DataFrame)的数据结构(存储二维数据) 数据框的 row 和 colu ...
- 西瓜书学习笔记第2章(模型评估与选择)
西瓜书学习笔记第2章(模型评估与选择) 2.1经验误差与过拟合 2.2评估方法 2.2.1留出法(hold-out) 2.2.2交叉验证法(cross validation) 2.2.3自助法(boo ...
- 3.5 集束搜索的误差分析-深度学习第五课《序列模型》-Stanford吴恩达教授
集束搜索的误差分析 (Error analysis in beam search) 在这五门课中的第三门课里,你了解了误差分析是如何能够帮助你集中时间做你的项目中最有用的工作,束搜索算法是一种近似搜索 ...
- 0.0 目录-深度学习第五课《序列模型》-Stanford吴恩达教授
文章目录 目录 第五课 第四课 第三课 第二课 第一课 目录 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1. ...
- Java NIO学习系列五:I/O模型
前面总结了很多IO.NIO相关的基础知识点,还总结了IO和NIO之间的区别及各自适用场景,本文会从另一个视角来学习一下IO,即IO模型.什么是IO模型?对于不同人.在不同场景下给出的答案是不同的,所以 ...
- 动手学数据分析——Task01_数据加载
前言 这是一门诞生于datawhale的课程,学习它的时候搭配datawhale所配备其他资源会更好,项目地址:https://github.com/datawhalechina/hands-on-d ...
- 动手学习数据分析(四)——数据可视化
数据可视化 导入相关库: import pandas as pd import numpy as np import matplotlib.pyplot as plt 导入数据: text = pd. ...
- 动手学习数据分析(三)——数据重构
数据重构 首先导入numpy.pandas包和数据文件 import numpy as np import pandas as pd # 载入data文件中的:train-left-up.csv te ...
最新文章
- 图形旋转的C语言源程序
- python入门有基础-Python入门学习难吗,新手如何学习
- LiquidCrystal库函数
- 【codeforces 807C】Success Rate
- Nginx【学习笔记】
- linux nsf 扫描,linux 使用NSF 映射远程磁盘目录的实现
- 对Table_locks_immediate值的理解
- codeforces:ProblemMset
- 分享Silverlight/WPF/Windows Phone一周学习导读(05月09日-05月14日)
- ShellExecute、ShellExecuteEx和SHELLEXECUTEINFO 的使用
- 100以内的奇数求和
- Visio对一个对象进行水平翻转
- 从源码分析Redis分布式锁的原子性保证
- margin-top传递问题
- cocos2d-x横版动作游戏《闯关吧》源码
- 2022年半导体硅片行业研究报告
- 【OpenGL 学习笔记03】点画多边形
- 什么叫视听思维,如何训练视听思维?(周传基)
- [译]36 Days of Web Testing(一)
- 给所有想爱、正在爱、失去爱的人(转)
热门文章
- linux应用之Lamp(apache+mysql+php)的源码安装(centos)
- 动态列从一表的数据汇总至另外一张表中
- 不重启mysqld更改root密码
- 【廖雪峰官方网站/Java教程】泛型
- 【To Understand! 回文串6 KMP算法】LeetCode 214. Shortest Palindrome
- 《Deep Snake for Real-Time Instance Segmentation》
- 判断服务器是虚拟机还是物理机方式
- iOS项目的命名规范
- ASP.NET Core部署到CentOS7,使用Nginx代理
- JSP三大指令、七大动作、九大对象