项目实践中的机器学习

这里介绍机器学习的六大步骤

一、定义问题

二、理解数据

三、数据准备

四、评估算法

五、优化模型

六、结果部署

(当然,这六个步骤并非机械的使用,有时候各个步骤还可能进一步细分,还有可能几个步骤合并成一个步骤。这里以常用的python模板为例)

详细说明

一、定义问题

需要导入常用的类库和数据集,包括导入python 的类库、类和方法,以及数据。可以将数据进行瘦身,快速进行可视化数据集建立。

二、理解数据

描述性统计来分析数据,可视化观察数据。***这一步需要花费时间多问几个问题,设定假设条件并调查分析一下,对模型的建立有很大的帮助。

三、数据准备

这一步主要是预处理数据:

通过删除重复数据、标记错误数值,甚至是标记错误的输入数据来清洗数据。

特征选择,包括移除多余的特征属性和增加新的特征属性。

数据转化,对数据尺度进行调整,或者调整数据的分布

不断重复以上步骤,直到找到足够准确的算法来生产模型。

~~~~~~~~~~~~~~~~~~~~起来活动一下~~~~~~~~~~~~~~~~~~~

******

数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:

特征选择主要有两个目的:

减少特征数量、降维,使模型泛化能力更强,减少过拟合; 增强对特征和特征值之间的理解。

四、评估算法

分离出评估数据集

定义模型评估标准,用来评估算法模型

抽样审查线性算法和非线性算法

比较算法的准确度

五、优化模型

当得到一个准确度足够的算法列表后,要从中找出最合适的算法,通常可以用两种方法提高算法的准确度:

1.对每一种算法进行调参,得到最佳结果

2.使用集合算法来提高算法模型的准确度

六、结果部署

通过验证集来验证被优化过的模型

通过整个数据集来生产模型

将模型序列化,以便于预测新数据

原文地址:https://www.cnblogs.com/2019-02-11/p/10541109.html

时间: 2024-11-06 15:31:55

项目实践中的机器学习的相关文章

项目实践中Linux集群的总结和思考

前言:作为一名Linux/unix系统工程师.项目实施工程师,这几年一直在涉及到对外项目,经手过许多小中型网站的架构,F5.LVS及Nginx接触的都比较多,我想一种比较通俗易懂的语气跟大家说明下何谓负载均衡,何谓Linux集群,帮助大家走出这个误区,真正意义上来理解它们,具体项目施工案例请参考我在network.51cto.com上的同类文章.一.目前网站架构一般分成负载均衡层.web层和数据库层,我其实一般还会多加一层,即文件服务器层,因为现在随着网站的PV越来越多,文件服务器的压力也越来越

项目实践中--Git服务器的搭建与使用指南(转)

一.前言 Git是一款免费.开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.在平时的项目开发中,我们会使用到Git来进行版本控制. Git的功能特性: 从一般开发者的角度来看,git有以下功能: 1.从服务器上克隆数据库(包括代码和版本信息)到单机上. 2.在自己的机器上创建分支,修改代码. 3.在单机上自己创建的分支上提交代码. 4.在单机上合并分支. 5.新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并. 6.生成补丁(patch),把补

项目实践中--Git服务器的搭建与使用指南

一.前言 Git是一款免费.开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.在平时的项目开发中,我们会使用到Git来进行版本控制. Git的功能特性: 从一般开发者的角度来看,git有以下功能: 1.从服务器上克隆数据库(包括代码和版本信息)到单机上. 2.在自己的机器上创建分支,修改代码. 3.在单机上自己创建的分支上提交代码. 4.在单机上合并分支. 5.新建一个分支,把服务器上最新版的代码fetch下来,然后跟自己的主分支合并. 6.生成补丁(patch),把补

[PHP] 项目实践中使用的IOC容器思想

1.容器的意思就是一个全局变量,里面存了很多对象,如果要用到某个对象就从里面取,前提就是要先把对象放进去2.控制反转就是把自己的控制权交给别人3.这两个结合就是,把自己的控制权交给别人并且创建的对象放进一个全局变量里4.好处就是可以灵活的修改一个对象的属性,而不需要去修改类本身的代码 项目实践:1.Application对象的resources属性数组就是那个容器2.getResource方法就是控制生成对象的方法,生成一个对象的控制权交给了Application3.这里先简化的规定下,自定义的

Parquet性能测试之项目实践中应用测试

因为从事大数据方面的工作,经常在操作过程中数据存储占空间过大,读取速率过慢等问题,我开始对parquet格式存储进行了研究,下面是自己的一些见解(使用的表都是项目中的,大家理解为宽表即可): 一.SparkSql中两种格式存储的读写性能(以资源产品拓扑信息宽表为例)1.假设:由于对于parquet存储格式来说,针对列式的查询读取操作以及列式的计算性能更高于普通的存储格式,所以在读取相同的sql过程中,表的存储格式为parquet,读取的性能更高,所花费的时间更少.2.测试步骤:①将sparksq

一次项目实践中DBCP数据库连接池性能优化

关于数据库连接池DBCP的关注源于刚刚结束的一轮测试,测试内容是衡量某Webserver服务创建用户接口的性能.这是一款典型的tomcat应用,使用的测试工具是Grinder.DBCP作为tomcat服务器常用的数据库连接池,其性能表现直接关乎应用的性能. 1.遇到的问题 当并发量增加到100时,该接口出现瓶颈,此时TPS接近400,如下图.但是服务端CPU和内存等资源并未达到瓶颈,服务器CPU使用率仅为30%,内存使用率为40%.监控到的javaMethod慢方法为incrAppAccount

[Java 泥水匠] Java Components 之二:算法篇之项目实践中的位运算符(有你不懂的

作者:泥沙砖瓦浆木匠 网站:http://blog.csdn.net/jeffli1993 个人签名:打算起手不凡写出鸿篇巨作的人,往往坚持不了完成第一章节. 交流QQ群:[编程之美 365234583]http://qm.qq.com/cgi-bin/qm/qr?k=FhFAoaWwjP29_AonqzL0rpdQAjjqlHQQ 如果我的帮到了你,是否乐意捐助一下或请一杯啤酒也好呢?有你支持,干的更好~ 点这参与众筹 我的支付宝:13958686678 2.1 前言 自从上篇[Java 泥水

python计算机视觉项目实践 答案

有问题的找我哈,转载标明出处http://blog.csdn.net/ikerpeng/article/details/25027567 里面具体的图没有贴了,原理还是比较好理解的.需要的找我! 基于朴素贝叶斯的图片分类 摘要 图片分类问题是计算机视觉中比较常见的问题.图片分类在日常的生活中,以及图片搜索中等方面都有很多很实际的用途.如何准确快速有效的进行图片分类,提高图片分类的准确率和召回率是现在主要要解决的问题.因此一个好的分类学习的算法以及一个好的特征提取的方式是非常重要的.本文所采取的学

Hangfire项目实践

Hangfire项目实践分享 Hangfire项目实践分享 目录 Hangfire项目实践分享 目录 什么是Hangfire Hangfire基础 基于队列的任务处理(Fire-and-forget jobs) 延迟任务执行(Delayed jobs) 定时任务执行(Recurring jobs) 延续性任务执行(Continuations) 与quartz.net对比 Hangfire扩展 Hangfire Dashborad日志查看 Hangfire Dashborad授权 IOC容器之Au