机器学习入门1

机器学习入门1

一、 机器学习概述

1.1 人工智能概述

  • 机器学习、人工智能、深度学习三者之间的关系
    • 机器学习是人工智能的一个实现途径
    • 深度学习是机器学习的一个方法发展而来
  • 1956达特茅斯会议——人工智能的起点
    • 用机器来模仿人类学习以及其他方面的智能
    • 1956年人工智能元年
  • 人工智能应用场景:传统预测、图像识别、自然语言处理

1.2 机器学习

机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测

image-20240330105625137

  • 数据集构成:特征值+目标值
    • 每一条数据我们称之为样本
    • 有些数据集可以没有目标值

1.3 机器学习算法分类

  • 分类问题:目标值为类别
  • 回归问题:目标值为连续性数据
  • 无监督学习:无目标值

image-20240330110445541

  • 监督学习supervised learning(预测)
    • 定义:输入数据是由输入特征值和目标值所组成。函数的输出可以是一个连续的值(称为回归),或是输出是有限个离散值(称为分类)
    • 分类k-近邻算法、贝叶斯分类、决策树与随机森林、逻辑回归
    • 回归:线性回归、岭回归
  • 无监督学习unsupervised learning
    • 定义:输入数据是由输入特征值所组成
    • 聚类k-means

1.4 机器学习开发流程

  • 获取数据
  • 数据处理
  • 特征工程
  • 机器学习算法训练 - 模型
  • 模型评估
  • 应用

1.5 学习框架

算法是核心,数据与计算是基础

学会分析问题,使用机器学习算法的目的,想要算法完成何种任务

  • 入门
  • 实战类书籍
  • 提升内功

二、 特征工程

2.1 数据集

  • 部分可用数据集

    • sklearn数据集:
      • 特点:数据量较小;方便学习
      • http://scikit-learn.org/stable/datasets/index.html#datasets
    • kaggle数据集:
      • 特点:大数据竞赛平台;80万科学家;真实数据;数据量巨大
      • https://www.kaggle.com/datasets
    • UCI数据集:
      • 特点:收录了360个数据集;覆盖科学、生活、经济等领域;数据量几十万
      • http://archive.ics.uci.edu/ml/
  • scikit-learn工具介绍:

    • python语言的机器学习工具;scikit-learn包括许多知名的机器学习算法的实现;scikit-learn文档完善,容易上手,丰富的API
    • 安装
    • 包含内容:
      • 分类、聚类、回归
      • 特征工程
      • 模型选择、调优
  • sklearn数据集:

    • scikit-learn数据集API介绍:

      • sklearn.datasats
        • 加载获取流行数据集
        • datasats.load_*():获取小规模数据集,数据包含在datasets里
        • datasets.fetch_*(data_home=None):获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是~/scikit_learn_data/
    • sklearn小数据集:

      • sklearn.datasets.load_iris():加载返回鸢尾花数据集

        名称 数量
        类别 3
        特征 4
        样本数量 150
        每个类别数量 50
      • sklearn.datasets.load_boston():加载并返回波士顿房价数据集

        名称 数量
        目标类别 5-50
        特征 13
        样本数量 506
    • sklearn大数据集:

      • sklearn.datasets.fetch_20newsgroups(data_home=None,subset=‘train’):
        • subset:‘train’或者’test’或者’all’,可选,选择要加载的数据集
        • 训练集的“训练”,测试集的“测试”,两者的“全部”
    • sklearn数据集的使用(以鸢尾花数据集为例):

      • load和fetch返回的数据类型是字典格式:

        • data:特征数据数组,是[n_samples*n_features]的二维numpy.ndarray数组
        • target:标签数组,是n_samples的一维numpy.ndarray数组
        • DESCR:数据描述
        • feature_names:特征名,新闻数据,手写数字、回归数据集没有
        • target_names:标签名
      • 获取数据集示例:

        from  sklearn.datasets import load_iris
        
        def datasets_demo():
            """
            sklearn数据集使用
            :return:
            """
            # 获取数据集
            iris = load_iris()
            print("鸢尾花数据:\n", iris)
            print("查看数据集描述:\n", iris["DESCR"])
            print("查看特征值的名字:\n", iris.feature_names)
            print("查看特征值:\n", iris.data, iris.data.shape)
            return None
        
        if __name__ == "__main__":
            datasets_demo()
        
  • 数据集的划分:

    • 机器学习一般的数据集会划分为两个部分:

      • 训练数据:用于训练,构建模型
      • 测试数据:在模型检验时使用,用于评估模型是否有效
    • 划分比例:

      训练集 测试集
      70% 30%
      80% 20%
      75% 30%
    • 数据划分api:sklearn.model_selection.train_test_split(arrays, *options)

      • x:数据集的特征值

      • y:数据集的标签值

      • teat_size:测试集的大小,一般为float

      • random_state:随机数种子,不同的种子会造成不同的随机采样结果。相同的种子采样结果相同

      • return:训练集特征值,测试集特征值,训练集目标值,测试集目标值

      • 示例:

        from sklearn.datasets import load_iris
        from sklearn.model_selection import train_test_split
        
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值