机器学习引言


机器学习
机器学习引言
1. sklearn与特征工程
1.1. 数据的来源与类型
1.2. 数据的特征抽取
1.3. 数据的特征预处理
1.4. 数据的特征选择
2. sklearn数据集与机器学习组成
2.1. Scikit-learn数据集
2.2. 模型的选择
2.3. 模型检验-交叉验证
2.4. sklearn的estimator
3. sklearn的分类器算法
3.1. 分类算法之k-近邻
3.2. k-近邻算法案例分析
3.3. 朴素贝叶斯
3.4. 分类算法之逻辑回归
3.5. 逻辑回归算法案例分析
3.6. 分类器性能评估
3.7. 分类算法之决策树、随机森林
4. 回归算法
4.1. 回归算法之线性回归
4.2. 线性回归案例分析
4.3. 回归性能评估与欠拟合、过拟合
4.4. 回归算法之岭回归
4.5. 岭回归案例分析
5. 非监督学习
5.1. 非监督学习之k-means
5.2. k-means案例分析
6. 推荐系统
6.1. 推荐系统评测
6.2. 基于协同过滤的推荐系统
6.3. 代码案例

什么是机器学习

机器学习是人工智能的一个分支。人工智能的研究是从以“推理”为重点到以“知识”为重点,再到以“学习”为重点,一条自然、清晰的脉络。机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。机器学习算法是一类从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测的算法

为什么需要机器学习

21世纪机器学习又一次被人们关注,而这些关注的背后是因为整个环境的改变,我们的数据量越来越多,硬件越来越强悍。急需要解放人的生产力,自动去寻找数据的规律。解决更多专业领域的问题。机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人等领域.

开发机器学习应用程序的步骤

(1)收集数据

我们可以使用很多方法收集样本护具,如:制作网络爬虫从网站上抽取数据、从RSS反馈或者API中得到信息、设备发送过来的实测数据。

(2)准备输入数据

得到数据之后,还必须确保数据格式符合要求。

(3)分析输入数据

这一步的主要作用是确保数据集中没有垃圾数据。如果是使用信任的数据来源,那么可以直接跳过这个步骤

(4)训练算法

机器学习算法从这一步才真正开始学习。如果使用无监督学习算法,由于不存在目标变量值,故而也不需要训练算法,所有与算法相关的内容在第(5)步

(5)测试算法

这一步将实际使用第(4)步机器学习得到的知识信息。当然在这也需要评估结果的准确率,然后根据需要重新训练你的算法

(6)使用算法

转化为应用程序,执行实际任务。以检验上述步骤是否可以在实际环境中正常工作。如果碰到新的数据问题,同样需要重复执行上述的步骤

环境准备

我们本次机器学习的课程使用的python程序库:

Numpy、Scikit-learn

在ubuntu或者mac操作系统中,在虚拟环境中安装:

pip3 install Numpy
pip3 install Scikit-learn

Numpy是一个强大的高级数***算的工具库,还具备非常搞笑的向量和矩阵运算功能。Scikit-learn是一个基于python的机器学习库,封装了大量经典以及最新的机器学习模型。

我们应该怎么做

互联网公司机器学习工作、数据挖掘工程师们工作内容是什么?

  • 研究各种算法,设计高大上模型?
  • 深度学习的应用,N层神经网络?

大部分复杂模型的算法精进都是数据科学家在做

大多数程序员

  • 跑数据,各种map-reduce,hive SQL,数据仓库搬砖
  • 数据清洗,数据清洗,数据清洗
  • 分析业务,分析case,找特征
  • 常用算法跑模型

我们应该怎么做

  1. 学会分析问题
  2. 掌握算法基本思想,学会对问题用相应的算法解决
  3. 学会利用简便的库或者框架解决问题