Python机器学习篇1:基础概念和环境准备

前言:今年借着智能网络运维的机会,逐步基础到了AIOPS,而AIOPS其中很大一部分就是机器学习,所以通过网络日志数据分析的机会,想实现对于异常流量的判断(主要针对防火墙、出口设备等),借着大数据的东风,扎扎实实落地一些具体的场景。

 

1.机器学习概念

    机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

    传统的统计分析是因果分析,有固定的输入和输出,是对已有结果的总结。而机器学习则是典型的相关分析,通过固定或者非固定的输入,来得出一个有关联度的数据,常常用来对未来的走势进行预测。

    以防火墙的会话数据为例,统计过去24小时内的Top 100请求排名,属于统计分析。如果给定几个IP地址在过去一个月的发起请求流水数据,并告知类似请求属于异常行为,通过这几个IP的数据来匹配当前正在产生的会话情况,判定可能异常的IP,这个就是典型的机器学习-----基于已有对象的数据特征,找出相似的对象

 

2.机器学习的主要内容

2.1 定义问题

    顾名思义,任何的机器学习都有明确目的,一定是为了解决某类特定问题而设计的框架,所以一开始需要对问题有直观的定义,比如我的场景就是找出存在异常访问或者异常流量的IP地址。(基于防火墙的访问数据)。

2.2 准备数据

    定义好问题之后,就需要准备样例数据或者说训练模型数据,比如过去一段时间内的防火墙会话访问记录,用于接下来的各类算法模型验证。

2.3 评估算法

    基于训练数据,结合常见的算法进行相似度验证,比如KNN、逻辑回归、朴素贝叶斯等。

2.4 优化结果

    基于算法的结果,调整计算因子,使得计算结果更加符合预期。

2.5 呈现结果

    基于优化之后的结果,输出最终预期的值,并不断进行观察

 

3.常见的机器学习算法

3.1 逻辑回归(LR)

    Logistic回归虽然名字叫”回归” ,但却是一种分类学习方法。使用场景大概有两个:第一用来预测,第二寻找因变量的影响因素。逻辑回归(Logistic Regression, LR)又称为逻辑回归分析,是分类和预测算法中的一种。通过历史数据的表现对未来结果发生的概率进行预测。例如,我们可以将购买的概率设置为因变量,将用户的特征属性,例如性别,年龄,注册时间等设置为自变量。根据特征属性预测购买的概率。 逻辑回归也被称为对数几率回归,算法名虽然叫做逻辑回归,但是该算法是分类算法,个人认为这是因为逻辑回归用了和回归类似的方法来解决了分类问题。

3.2 线性判别分析(LDA)

    线性判别式分析(Linear Discriminant Analysis, LDA),也叫做Fisher线性判别(Fisher Linear Discriminant ,FLD),是模式识别的经典算法,它是在1996年由Belhumeur引入模式识别和人工智能领域的。线性鉴别分析的基本思想是将高维的模式样本投影到最佳鉴别矢量空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后保证模式样本在新的子空间有最大的类间距离和最小的类内距离,即模式在该空间中有最佳的可分离性。

3.3 K最近邻算法(KNN)

    邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。
kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。 kNN方法在类别决策时,只与极少量的相邻样本有关。由于kNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,kNN方法较其他方法更为适合。

3.4 分类和回归树(CART)

    分类与回归树的英文是Classification and regression tree,缩写是CART。CART是在给定输入随机变量X条件下输出随机变量Y的条件概率分布的学习方法。CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,左分支是取值为“是”的分支,右分支是取值为“否”的分支。这样的决策树等价于递归地二分每个特征,将输入空间即特征空间划分为有限个单元,并在这些单元上确定预测的概率分布,也就是在输入给定的条件下输出的条件概率分布。它由树的生成、树的剪枝构成。

3.5 高斯朴素贝叶斯(NB)

    朴素贝叶斯模型是一组非常简单快速的分类算法,通常适用于维度非常高的数据集。因为运行速度快,而且可调参数少,因此非常适合为分类问题提供快速粗糙的基本方案。
    朴素贝叶斯分类器建立在贝叶斯分类方法的基础上,其数学基础是贝叶斯定理(Bayes's theorem)——一个描述统计量条件概率关系的公式。在贝叶斯分类中,我们希望确定一个具有某些特征的样本属于某类标签的概率,通常记为 P (L |特征 )。
    最容易理解的朴素贝叶斯分类器可能就是高斯朴素贝叶斯(Gaussian naive Bayes)了,这个分类器假设每个标签的数据都服从简单的高斯分布。

3.6 支持向量机(SVM)

    支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类(binary classification)的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane) 。
    SVM使用铰链损失函数(hinge loss)计算经验风险(empirical risk)并在求解系统中加入了正则化项以优化结构风险(structural risk),是一个具有稀疏性和稳健性的分类器 [2]  。SVM可以通过核方法(kernel method)进行非线性分类,是常见的核学习(kernel learning)方法之一

 

4.Python基础环境及必要的分析包

基础环境如下:Python3.6

分析软件包:

scipy
numpy
matplotlib
pandas
Sklearn

 

 

以上是机器学习基础环境的准备,需要在进行分析之前先准备调试好。

转载于:https://www.cnblogs.com/oracleblog/p/10397472.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值