• 数据挖掘与机器学习


    一. 机器学习的种类

    1. 有监督的机器学习 :

            分类 :

    •                  KNN 最近邻
    •                  逻辑回归 - 朴素贝叶斯估计
    •                  SVM 线性 或 非线性 优化模型
    •                  决策树模型 - 随机森林 - 其它集成模型
    •                  lightGBM - XGBOOST

            回归:

    •                   线性
    •                  非线性
    •                  加权平均回归

    2.无监督的机器学习 :

    •                  聚类
    •                 关联
    •                 特征处理

    二.  KNN ( K最近邻 )

    argmax()  # 只返回索引
    1. 特征值(Features):(特征数据必须是2维数据)

       特征值是用来描述样本的属性或特征的值。在KNN中,每个样本都被表示为一个特征向量,其中每个特征对应向量中的一个维度。例如,在一个二维空间中,特征向量可以由两个特征值构成,分别表示样本在X轴和Y轴上的坐标。
    2. 标签(Labels)

      标签是我们希望预测的值,或者是我们希望将样本分类到的类别。在分类问题中,每个样本都有一个类别标签,而在回归问题中,标签通常是一个连续的数值。在KNN中,我们使用已知的特征值和标签构建模型,然后根据新的特征值预测或分类其对应的标签。

    1. np.bincount([1,1,2,2,2,2,4,4,4,4]) # 看下标为几的出现几次
    2. 下标为0的 没有出现 0
    3. 下标为1,数字也为1的出现2
    4. 下标为2 数字也为2的出现4
    5. 下标为3,数字为30
    6. 下标为4,数字为34
    7. 答案是 (02404

    三.  KNN运用(字符识别、文本分类、图像识别),通过你的邻居判断你是什么类别 

    1. # 选几个邻居 进行分类
    2. sklearn.neighbors.KNeighborsClassfier(n_neighbors=5)
    3. n_neighbors = 5 是默认的
    4. #获取数据
    5. x = [[1],[2],[0],[0]]
    6. y = [1,1,0,0]
    7. # 机器学习
    8. # 1. 实例化一个训练模型
    9. estimator = KNeighborsClassfier(n_neighbors=2)
    10. 2. 调用fit方法进行训练
    11. estimator.fit(x,y)
    12. 3. 预测其他值
    13. ret = estimator.predict([-1])
    14. print(ret)

    四. K值的选取

    • K值过小: 过拟合,容易受异常点影响, 因为用较小的领域中训练实例进行预测
    • k值过大 :   欠拟合,容易受到样本均衡的问题

  • 相关阅读:
    segmentation
    Java进阶之路--继承中的方法重写与属性覆盖
    读高性能MySQL(第4版)笔记18_扩展MySQL
    Java如何对一个对象进行深拷贝?
    perl:用 Net::Server 创建简单的流媒体服务器
    Kubernetes实战(三十三)-外部Etcd集群部署与调优(更安全的数据存储策略)
    父子盒子边距塌陷之为什么设置margin-top父子盒子会一起移动
    centos7 + mysql 8 安装confluence7.19.3
    【我的前端】网站开发:设计响应式网站的八大因素
    【AI工程】08-MLOps工具-在Charmed Kubeflow上运行MindSpore
  • 原文地址:https://blog.csdn.net/weixin_46659095/article/details/137884327