zoukankan      html  css  js  c++  java
  • 浅谈KMlib(机器学习)

    PipeLine

             Pipeline:管道,

             在spark mllib中,作用主要是来定义计算的流程。模型的保存等。

             相当于提供了一个工具类,可以让我们更方便的使用spark mllib

             推荐:在使用sparkmllib过程中,建议通过pipeline将数据处理流程,连接起来,同时将模型的结果通过pipeline保存和加载。

    完整的机器学习流程:

    1数据的获取//加载数据  5%

    2.数据的预处理//(字符串转数字,缺失值的处理,异常值的处理,hash)  70%

    3.模型的训练 10%

    4.在测试数据上进行模型的评估(错误率,正确率,MSE 最小平方误差)10%

    5.如果模型达标,进行模型的保存,如果不达标,可以更换模型,或者对数据再次预处理。

    机器学习模型总结:

    1.分类:事先已经知道类别,只是对数据划分到已知的类别中,监督算法。

    Ie:垃圾邮件 垃圾短信 信用评级 。。。

    1. 逻辑斯蒂回归
    2. 决策树
    3. 贝叶斯
    4. 随机森林

    2.聚类:事先不知道类别,只是将数据集划分成指定的个数。非监督算法

             Ie:人群划分,收入划分,成绩划分。。

             算法名称:Kmeans

    3.回归:预测一个连续型的值。

             Ie:预测收入,预测价格,预测温度。。。。

             算法名称:线性回归算法

    4.关联分析/关联规则 以及 协同过滤

             关联分析:分析两两元素,或者多个元素相互之间的关系,求其一同出现的次数。次数越高,则说明关系越密切。

             可以分析两两商品或多个商品同时出现的次数,基于此推荐。

    算法名称:FP-growth.

             协同过滤:分析用户与用户(物品与物品)之间的相似度。根据相似用户,进行商品推荐。

             算法名称:ALS

    (ML)机器学习:数学模型、建模

    流程:提出模型-à序列-à预算

    (DL)深度学习ß--à(AI)人工智能

    能看:识别图像、人脸识别、识别万物

    能说:语音功能

    能听:语音识别、翻译

    汽车自动驾驶

    神经网络:分为三层

    深度神经网络模型:吴恩达

     

    1.线性回归:在空间里有n个点,在空间中画出一条直线到n个点距离之和最小。

    线性:y=ax+b   (一元一次函数)   a:相关系数    b:截距(到x轴的距离)

    Y=a0+a1x1+a2x2+….+anxn

    回归:逼近,n点线的距离最近

    作用:可以做预测(明天天气)

    属于:监督性学习

    特征(x):x1—天气  x2----时间   x3----地点    x4------风速

    求某个方向上的变化率

    《最终变成n元线性方程组》

    训练:7/8 训练数据,建立模型

    测试:3/2 检验模型 是否成效

    配置项:

    SetFeaturecol(“features”)  特征 因变量(x)

    setLabelcol(“label”)  自变量 (y)

    利用训练数据对模型拟合成型。Lir.fit()

    Eg:由年龄、身高--à体重

    模型:y=a+a1x1+a2x2     x1~2:表示身高、体重   y表示体重

    数据:21 175 120 输出的是一个double类型的值

    spark加载数据:spark.sparkcontext.textFile(“PathName”)

     对象返回两个参数:record(arr(0),arr(1))

    抽样:randomsplit(Array(0.8,0.2)) 对数据进行抽样训练

     

    2.聚类(KmeanSexample):先选取聚类中心(或者自动随机产生),将与这个聚类中心的距离(两点之间的距离-欧式距离)最小的点先归为一类,再区这一类的聚类中心(这些点的中心点作为新的聚类中心),迭代,直到与下次的情况一样。就讲这归类的作为稳定类。

    属于:无监督学习

    从开始不知道类别,最后归类

    作用于:人力资源(分等级)、人物画像

    Setk(2)   2类  自动可以设置随机数种子

     

    3.分类:监督学习  开始类别已知

     

    4.逻辑斯蒂(Logistic Regression):输入数字,输出类别(0/1)

    与线性回归的区别:线性回归输出的是double类型(正无穷到负无穷),LR输出的是0/1(0~1)

    将线性回归的接轨映射成0~1之间

    再将值小于0.5-à0   大于等于0.5-----à1

    人脸识别、to be or ont to be、只要是做与不做的情况

     

     

     

  • 相关阅读:
    Python 语言规范(Google)
    Python 代码风格规范(Google)
    GBM,XGBoost,LightGBM
    面试编程总结
    MagicNotes:如何迈向工作的坦途
    番茄工作法:让时间变成你最好的朋友
    时间管理:如何高效地利用时间
    读点大脑科学,学会变得更聪明
    为什么我那么努力,吃了那么多苦,也没见那么优秀?(转自知乎)
    不要被懒惰夺走你的思考能力
  • 原文地址:https://www.cnblogs.com/pigdata/p/10305565.html
Copyright © 2011-2022 走看看