Seven Steps to Success Machine Learning in Practice
Seven Steps to Success
Machine Learning in Practice
Project failures in IT are all too common. The risks are higher if you are adopting a new technology that is unfamiliar to your organisation. Machine learning has been around for a long time in academia, but awareness and development of the technology has only recently reached a point at which its benefits are becoming attractive to business. There is huge potential to reduce costs and find new revenue by applying this technology correctly, but there are also pitfalls.
This guide will help you apply machine learning effectively to solve practical problems within your organisation. I’ll talk about issues that I’ve encountered applying machine learning in industry. My experience is in applying machine learning to analysis of text, however I believe the lessons I have learnt are generally applicable. I have been able to deliver significant and measurable benefits through applying machine learning, and I hope that I can enable you to do the same.
I will assume that you know the basics of machine learning, and that you have a real-world problem that you want to apply it to. This is not an introduction to machine learning (there are already plenty of those), however I don’t assume that you’re a machine learning expert. A lot of the advice is non-technical and would be just as useful to a product manager wanting to understand the technology as a software developer creating a solution.
Clearly understand the business need
Understanding the business need is important for any project, but it is easy to get blinded by technological possibilities. Is machine learning really going to benefit the company, or is it possible to achieve the same goals (or most of them) with some simple rules? The goal is to build a solution, not to do machine learning for the sake of it.
Try and identify all the metrics that are important to the business. The metrics we are optimising for have a profound effect on the solution we choose, so it is important to identify these early on. It also affects what alternatives there are to machine learning.
In the case of classification problems, potential metrics to consider are
accuracy: the proportion of all instances classified correctly. Note that this can be very misleading if the data is biased (if 90% of the data is from class 1, we can get 90% accuracy by simply classifying everying as being from that class). Real data is normally biased in some way. For this reason, you may want to consider an average of the accuracy on each class, or some other measure.
precision is needed when the results need to look good, for example if they are being presented to customers without any manual filtering after the machine learning phase.
high recall is important when combining machine learning with manual analysis to produce a combined system with high overall accuracy.
F1 score, or more generally Fβ score is useful when a trade-off between precision and recall is needed, and β can be adjusted to prefer one over the other.
Customer Service at Direct Electric
Direct Electric are a large electricity company based in the south of England. Dave, the head of customer service, is concerned about response times for upset customers who contact the company online. He wants to ensure that if a customer sends an angry email, a representative will get back to them quickly.
“At the moment, it takes about two days to respond, and I’d like to get that down to half a day,” he explains to Samantha, the resident machine learning expert on the software development team. Dave has heard about automated sentiment analysis, and wonders if that could be used to quickly identify the emails of interest, so that they can be prioritised by the customer service team.
“What we could do,” suggests Samantha, “is try and identify the emails that are likely to carry negative sentiment automatically, and send those to your team to look at first.”
“That sounds good!”
“The thing is,” says Samantha, “A machine-learning based system isn’t going to get everything right. Would it matter if we missed some of the negative sentiment emails?” Samantha thinks a high precision system may be what they are looking for. In this case, we will most likely have to sacrifice recall, and miss some of the emails of interest.
“Well, not really,” says Dave, “it’s only really useful to us if it finds them all.”
“Well, if you want to guarantee you find all of them,” says Samantha, “the only way to do that is to examine them manually.” Dave looks crestfallen. “But,” she continues, “we could probably get nearly all of them. Would it matter if we accidentally prioritised some articles that aren’t really negative?” She is thinking of trying to build a system with high recall, which will probably mean lower precision.
“That would be fine,” says Dave. “After all, at the moment, we’re reading them all.”
Sign up below to read all seven chapters: #### 1. Clearly understand the business need #### 2. Know what’s possible #### 3. Know the data #### 4. Plan for change #### 5. Avoid premature optimisation #### 6. Mitigate risks #### 7. Use common sense
Seven Steps to Success Machine Learning in Practice的更多相关文章
- Python (1) - 7 Steps to Mastering Machine Learning With Python
Step 1: Basic Python Skills install Anacondaincluding numpy, scikit-learn, and matplotlib Step 2: Fo ...
- How do I learn machine learning?
https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644 How Can I Learn X? ...
- 17 Great Machine Learning Libraries
17 Great Machine Learning Libraries 08 October 2013 After wonderful feedback on my previous post on ...
- [C2P3] Andrew Ng - Machine Learning
##Advice for Applying Machine Learning Applying machine learning in practice is not always straightf ...
- Roles on a Machine Learning Project (机器学习项目中的角色)
原文 :https://medium.com/machine-learning-in-practice/roles-on-a-machine-learning-project-216903a6dc12 ...
- Machine Learning and Data Mining(机器学习与数据挖掘)
Problems[show] Classification Clustering Regression Anomaly detection Association rules Reinforcemen ...
- [C2P1] Andrew Ng - Machine Learning
About this Course Machine learning is the science of getting computers to act without being explicit ...
- (转) Graph-powered Machine Learning at Google
Graph-powered Machine Learning at Google Thursday, October 06, 2016 Posted by Sujith Ravi, S ...
- ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS
ON THE EVOLUTION OF MACHINE LEARNING: FROM LINEAR MODELS TO NEURAL NETWORKS We recently interviewed ...
随机推荐
- [Node.js] Introduction to apiCheck.js
timeoutLog.js: var apiCheckFactory = require('api-check'); var myCheck = apiCheckFactory(); module.e ...
- 注释驱动的 Spring cache 缓存介绍--转载
概述 Spring 3.1 引入了激动人心的基于注释(annotation)的缓存(cache)技术,它本质上不是一个具体的缓存实现方案(例如 EHCache 或者 OSCache),而是一个对缓存使 ...
- ADO.Net技术
Connection对象 1.连接数据库 通过SqlConnection对象的State属性判断数据库的连接状态: public override ConnectionState State{ get ...
- jquery 如何给新生成的元素绑定 hover事件?
$("table tr").live({ mouseenter: function() { //todo }, mouseleave: ...
- 学习java随笔第十一篇:java窗体程序
要开java的窗体程序,就要下载开发窗体的工具. 这里我用的是的myeclipse,可以直接在网上下载安装即可. 我用的是10.0版本的,如果需要汉化的话,可以看一下这篇文章:myeclipse.10 ...
- 编写适合windows 7 平台的软件,给程序添加UAC认证
Delphi程序必须在资源里面嵌入MANIFEST信息 一. 首先编辑一个文件,内容如下: <?xml version="1.0" encoding="UTF-8& ...
- 如何快速的将Centos6.7快速升级3.10.9
参考文档:http://www.xiexianbin.cn/linux/2015/10/15/quickly-upgrade-centos6.5-kernel-from-2.6.32-to-3.10. ...
- OC - 13.数据解析(JSON与XML)
##数据交互格式 服务器返回给用户的数据,通常是以下两种方式: JSON XML JSON 一种轻量级的数据数据格式,体积比XML小,是服务器返回给移动端通常采用的格式 用使用JSON文件中的数据,需 ...
- CSS 边框
CSS 边框属性 CSS边框属性允许你指定一个元素边框的样式和颜色. 边框样式 边框样式属性指定要显示什么样的边界. border-style属性用来定义边框的样式 border-style 值: ...
- windows注册表的基本使用——示例
上网找好多资料发现一个问题就是太老.例如只有RegCreateKey而没有RegCreateKeyEx用法详解,自己摸索了几个小时终于基本用到的几个函数都试用了一遍. 下面代码已经通过编译测试 // ...