python机器学习简介

目录

  • 一:学习机器学习原因和能够解决的问题
  • 二:为什么选择python作为机器学习的语言
  • 三:机器学习常用库简介
  • 四:机器学习流程

??机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。从数据中提取知识,也被称为预测分析 或 统计学习。

??它是人工智能的核心,是使计算机具有智能的根本途径。

??下面就让我们先了解一下机器学习吧。

一:学习机器学习原因和能够解决的问题

1.原因

??机器学习现在已经越来越流行,并且在实际生活运用以及高级的科学问题上做出了贡献。

??在早期的时候,许多系统和程序都是人为设定的决策规则,但是,人为制定的决策规则有缺点。一个是任务稍微有变化,可能需要重写系统;另一方面,还需要决策者对决策过程有很深刻的理解。

??一个例子就是人脸识别,人类和计算机对人脸的描述有所不同,因此有时候需要用机器进行非常复杂的操作,并且需要机器能够自动学习和识别,这就需要让计算机机器进行机器学习。因此学习机器学习是很有必要的。

2.机器学习能够解决的问题

??最成功的机器学习算法是能够将决策过程自动化的算法,从已知的示例中推导并泛化得出。这种算法叫做监督学习 。

??在这种算法中,用户将成对的输入和预期输出提供给算法,算法根据输入和预期输出得到一种方法,就可以把该方法作用到其他数据集上,根据已知推测未知。这就好像有一个老师监督着算法。
??监督学习算法实例:识别信封上的邮政编码,判断肿瘤大小,检测银行信用卡消费真实性。

??还有一种算法是无监督学习算法。这种算法只有输入数据是已知的,没有提供输出数据,因此评估起来很困难。

??无监督学习算法实例:确定系列博客主题,将客户或者好友分成不同类型的群组,检测网站的异常访问模式。

??将输入数据表示成表格形式是非常有用的,每一个数据点代表行,该数据代表的属性代表列。

??在机器学习中,每个实体或每一行被称为一个样本或数据点,而每一列(描述这些实体的某一个属性)则被称为特征。

??必须要有有效的信息集合,才能够用某一机器学习算法进行构建机器学习模型。

二:为什么选择python作为机器学习的语言

??python既有通用编程语言的强大,也有特定领域脚本语言的易用性。有很多功能库,使用它的主要优势是可以利用终端或其他类似Jupyter notebook的工具直接与代码进行交互。

三:机器学习常用库简介

1.scikit-learn

??简介:它是一个开源的python库,包含了目前最先进的机器学习算法,也是最有名的python机器学习库。

??用户指南http://scikit-learn.org/stable/user_guide.html

??安装scikit-learn:直接装集合了多个数据分析库的python发行版Anaconda,包含了所需的所有机器学习库。

2.Jupyter notebook

??这是一个可以在浏览器中运行代码的交互环境,有很多方便的交互功能,可以用来整合代码,文本和图像。

3.NumPy

??是基本的数据结构。功能包括多维数组,高级数学函数,以及伪随机数生成器等。所有的数据格式必须转化为NumPy多维数组。简称为"NumPy数组"或"数组"。

4.SciPy

??SciPy是python中用于科学计算的函数集合。具有线性代数高级程序,数学函数优化,信号处理,特殊函数和统计分布等功能。

5.matplotlib

??matplotlib是Python主要的科学绘图库,功能为将数据分析并生成可视化内容。一般用%matplotlib notebook和%matplotlib inline命令将图像显示在浏览器中。

6.pandas

??pandas是用于处理和分析数据的Python库。它基于一种叫做DataFrame的数据结构。类似于数据库中的二维表结构。

7.mglearn

??实用函数库,用户快速美化绘图,或者用户获取一些有趣的数字。

8.导入机器学习常用库

import sys
import pandas as pd
import matplotlib
import numpy as np
import scipy as sp
import ipython
import sklearn 

四:机器学习流程

1.实际问题抽象成数学问题

??将实际问题抽象成数学问题,目标的数学问题是一个怎样的问题,是一个分类还是回归,或聚类的问题,找到具体的问题类型,以及适合该问题可以用到哪些数据。

2.获取数据

??机器学习的第一个步骤就是收集数据,收集到的数据的质量和数量将直接决定预测模型是否能够建好,将收集的数据去重复、标准化、错误修正,得到标准数据,并进行多维数组化。保存到文本文件(csv,txt,json)或者数据库中。

??这里要注意,获取的数据包括获取原始数据以及从原始数据中经过特征工程从原始数据中提取训练、测试的数据。数据决定机器学习结果的上限,而算法只是尽可能的逼近这个上限。如果数据量太大可以考虑减少训练样本、降维或者使用分布式机器学习系统。

3.分析

??主要是进行数据发现,找出每列的最大、最小值、平均值、方差、中位数、三分位数、四分位数、某些特定值(比如零值)所占比例或者分布规律等。了解这些最好的办法就是可视化,直观对数据进行分析。

4.特征工程

??特征工程包括从原始数据中特征构建、特征提取、特征选择。特征工程能够使得算法的效果和性能得到显著的提升,有时能使简单的模型的效果比复杂的模型效果好。 数据挖掘的大部分时间就花在特征工程上面,是机器学习非常基础而又必备的步骤 。数据预处理、数据清洗、筛选显著特征、摒弃非显著特征等等都非常重要。

5.向量化

??向量化是对特征提取结果的再加工,目的是增强特征的表示能力,防止模型过于复杂和学习困难,把复杂的问题简单化。

6.拆分数据集

??将数据分为两部分。一方面是用于训练模型;另一方面是用于评估我们训练有素的模型的表现,来测试我们的模型是否适合。

7.模型训练

??进行模型训练之前,要确定合适的算法,比如线性回归、决策树、随机森林、逻辑回归、梯度提升、SVM等等。最佳方法是测试各种不同的算法,然后通过 交叉验证 选择最好的一个。但如果训练集很小,高偏差/低方差分类器(如朴素贝叶斯分类器)要优于低偏差/高方差分类器(如k近邻分类器),更容易拟合,但是训练集大的话,低偏差/高方差就比较适合了。

8.评估

??训练完成之后,通过拆分出来的训练的数据来对模型进行评估,通过真实数据和预测数据进行对比,来判定模型的好坏。常见的五个方法:混淆矩阵、提升图&洛伦兹图、基尼系数、ks曲线、roc曲线。

??完成评估后,如果想进一步改善训练,我们可以通过调整模型的参数来实现,然后重复训练和评估的过程。

9.文件整理

??模型训练完之后,要整理出不同含义的文件,确保模型能够正确运行。

10.接口封装,上线

??通过封装封装服务接口,实现对模型的调用,以便返回预测结果。然后将整个机器学习模型上线。

原文地址:https://www.cnblogs.com/ITXiaoAng/p/11618546.html

时间: 2024-10-08 12:31:27

python机器学习简介的相关文章

Python机器学习中文版

Python机器学习简介 第一章 让计算机从数据中学习 将数据转化为知识 三类机器学习算法 第二章 训练机器学习分类算法 透过人工神经元一窥早期机器学习历史 使用Python实现感知机算法 基于Iris数据集训练感知机模型 自适应线性神经元及收敛问题 Python实现自适应线性神经元 大规模机器学习和随机梯度下降 第三章 使用Scikit-learn进行分类器之旅 如何选择合适的分类器算法 scikit-learn之旅 逻辑斯蒂回归对类别概率建模 使用正则化解决过拟合 支持向量机 使用松弛变量解

七步精通Python机器学习 转

开始.这是最容易令人丧失斗志的两个字.迈出第一步通常最艰难.当可以选择的方向太多时,就更让人两腿发软了. 从哪里开始? 本文旨在通过七个步骤,使用全部免费的线上资料,帮助新人获取最基本的 Python 机器学习知识,直至成为博学的机器学习实践者.这篇概述的主要目的是带领读者接触众多免费的学习资源.这些资源有很多,但哪些是最好的?哪些相互补充?怎样的学习顺序才最好? 我假定本文的读者不是以下任何领域的专家: ?  机器学习 ?  Python ?  任何Python的机器学习.科学计算.数据分析库

《Python机器学习及实践:从零开始通往Kaggle竞赛之路》

<Python 机器学习及实践–从零开始通往kaggle竞赛之路>很基础 主要介绍了Scikit-learn,顺带介绍了pandas.numpy.matplotlib.scipy. 本书代码基于python2.x.不过大部分可以通过修改print()来适应python3.5.x. 提供的代码默认使用 Jupyter Notebook,建议安装Anaconda3. 最好是到https://www.kaggle.com注册账号后,运行下第四章的代码,感受下. 监督学习: 2.1.1分类学习(Cla

七步精通Python机器学习--转载

作者简介: Matthew Mayo    翻译:王鹏宇 开始.这是最容易令人丧失斗志的两个字.迈出第一步通常最艰难.当可以选择的方向太多时,就更让人两腿发软了. 从哪里开始? 本文旨在通过七个步骤,使用全部免费的线上资料,帮助新人获取最基本的 Python 机器学习知识,直至成为博学的机器学习实践者.这篇概述的主要目的是带领读者接触众多免费的学习资源.这些资源有很多,但哪些是最好的?哪些相互补充?怎样的学习顺序才最好? 我假定本文的读者不是以下任何领域的专家: 机器学习 Python 任何Py

利用scikit-learn进行机器学习简介

利用scikit-learn进行机器学习简介 Sectioncontents: 在这部分,我们引入利用scikit-learn进行机器学习的常用单词,并给出一些简单的学习例子. 机器学习:问题设置 一般而言,一个学习问题处理一组包含n个样本的数据集,然后预测未知数据的属性.如果每个样本不止有一个数据,例如多维条目(又叫做多维数据),这种情况被称为拥有多组属性或特征. 我们可以将学习问题氛围几个大类: 监督学习:这类学习中数据包含我们想要预测的附加属性,这个问题可以被分为分类和回归. 分类问题:样

《Python机器学习基础教程》高清版免费PDF下载

Python机器学习基础教程-[德] 安德里亚斯·穆勒(Andreas C.Müller)[美]莎拉·吉多(Sarah Guido) 著,张亮(hysic) 译 下载地址1:网盘下载 下载地址2:网盘下载 内容简介本书是机器学习入门书,以Python语言介绍.主要内容包括:机器学习的基本概念及其应用:实践中常用的机器学习算法以及这些算法的优缺点:在机器学习中待处理数据的呈现方式的重要性,以及应重点关注数据的哪些方面:模型评估和调参的方法,重点讲解交叉验证和网格搜索:管道的概念:如何将前面各章的方

Python机器学习为啥就一下子红遍全球了呢???

在这篇文章中我们会讲Python的重要特征和它适用于机器学习的原因,介绍一些重要的机器学习包,以及其他你可以获取更详细资源的地方.为什么用Python做机器学习 Python很适合用于机器学习.首先,它很简单.如果你完全不熟悉Python但是有一些其他的编程经验(C或者其他编程语言),要上手是很快的.其次,Python的社区很强大.这使得Python的文档不仅条理性好,而且容易读.你还可以在StackOverFlow上找到关于很多问题详细解答(学习基石).再次,一个强大的社区带来的副产品就是大量

python机器学习必读书籍:机器学习系统设计

所属网站分类: 资源下载 > python电子书 作者:从新来过 链接: http://www.pythonheidong.com/blog/article/441/ 来源:python黑洞网 www.pythonheidong.com 内容简介 如今,机器学习正在互联网上下掀起热潮,而Python则是非常适合开发机器学习系统的一门优秀语言.作为动态语言,它支持快速探索和实验,并且针对Python的机器学习算法库的数量也与日俱增.本书最大的特色,就是结合实例分析教会读者如何通过机器学习解决实际问

Python机器学习及实战kaggle从零到竞赛pdf电子版下载

Python机器学习及实战kaggle从零到竞赛pdf电子版下载 本书面向对机器学习感兴趣的专业认识,帮助从零开始一步一步掌握机器学习的奥义,在阅读的过程中由浅入深,慢慢步入机器学习的殿堂,零基础也可学习哦! 链接:https://pan.baidu.com/s/1l7MBESegEWD4fm0fYyld5w 提取码:eu2m 目录 第1章 简介篇…1 1.1 机器学习综述…1 1.1.1 任务…3 1.1.2 经验…5 1.1.3 性能…5 1.2 Python编程库…8 1.2.1 为什么使