Skip to content

统计信息:字数 4870 阅读10分钟

机器学习入门

00-课程介绍

集成后文档比较大,加载图片可能服务器返回 503 错误,所以可以点击链接访问原始网页:

https://cloud.seatable.cn/dtable/external-links/621babd7e22b4ceb88ec/

课程介绍

黑马出品的三天入门课程,不介绍具体算法实现,简单介绍相关的库怎么使用。

视频链接

https://www.bilibili.com/video/BV1nt411r7tj

个人目标:了解机器学习基本原理,了解常用库和技术,可以根据案例做一个小 demo。

机器学习:属于人工智能的一个技术实现分支,深入研究需要扎实的数理基础(高数,统计,线代等),多元统计分析(判别,聚类,回归等),计算机基础(c++ java python)。

其他资料:Sklearn 库:https://scikit-learn.org/stable/modules/linear_model.html

其他两个知乎上的参考笔记,在附件列

第一天 机器学习概述+特征工程

实际机器学习是人工智能的一部分,原理部分需要很深的数学(多元统计分析)+计算机功底(CPP Python),短期学会难度较大。

01-人工智能概述

人工智能包括机器学习,机器学习包括深度学习。

机器学习包括:传统预测,图像视频识别,自然语言处理,数据挖掘。

02-什么是机器学习

从数据中自动分析获取模型,利用模型对未知数据进行预测(数据+模型+预测)。

特征值(多个属性)+目标值

03-机器学习算法分类

目标值是离散值(布尔值)——类别-分类——K 近邻算法,贝叶斯分类、决策树随机森林、逻辑回归

目标值是连续值(数值)——回归——线性回归,岭回归

没有目标值——无监督学习(输入的数据没有明确结果)—— kmeans 聚类

04-机器学习开发流程

获取数据(公开数据或者公司用户数据)

数据预处理(去掉脏数据,补充缺失数据)

特征工程(提取特征值和特征向量)

机器学习(获取模型)

模型评估(模型是否满足测试数据,如果不满足,重复第二步)

模型上线

05-学习框架和资料介绍

算法是核心,大量数据和计算能力(硬件水平)是基础

定位是什么?如果是算法工程师,需要专业技术过硬

实际上大部分工程师主要是分析数据,然后应用已有的模型等(调参数+优化模型)

快速学习过程(适合了解)

  • 入门介绍
  • 实战类书籍(某框架学习)
  • 机器学习(西瓜书,周志华)
  • 统计学习方法(李航)
  • 深度学习(花书)

06-可用数据集

公司内部的用户数据集;或者其他搜索引擎的数据集,学习阶段可使用下面几个数据集

Scikit-learn

kaggle

UCI

我们这里使用 sklearn(分类、回归、聚类、降维、特征工程、模型选择等)

07-sklearn 数据集使用

加载数据

# sklearn.datasets 数据集
# 加载数据 波士顿房地产数据 鸢尾花数据
datasets.load_iris()
datasets.load_boston()

# 加载线上大数据集
datasets.fetch_iris(data_home = None, subset="train")

# 第一个参数表示数据集下载到本地的目录
# 第二个参数表示子集类型(train, test, all)

返回值分析

以鸢尾花 iris 结果分析返回值结果

from sklearn.datasets import load_iris
iris = load_iris()
返回值是 datasets.base.Bunch 字典格式,包括下面字段

data: 特征数据数组,二维数组
target: 标签数组
DESCR: 数据描述
feature_names: 特征名
target_names: 标签名

数据集划分

数据集:训练数据(训练构建模型)和测试数据(评估模型是否有效)

通常训练数据越多,模型越准确(70%-80%)

sklearn.model_selection.train_test_aplit(x, y, test_size, random_state, *options)
- x 数据集特征值
- y 数据集特征值
- test_size 测试集合的大小(float, 0.8)
- random_state 随机数种子
- return 返回值(训练集特征值,测试集特征值,训练集目标值,测试集目标值)
    x_train, x_test, y_train, y_test = train_test_aplit()

demo 01

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split

def datasets_demo():
  """
  learn sklearn dataset
  """
  # load data from local dataset
  iris = load_iris()
  # print("iris datasets test", iris["DESCR"])
  # print(iris.feature_names, iris.target_names)
  # print(iris.data, iris.data.shape)
  # split data into two subset, train set and target set
  x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size = 0.2, random_state = 20)
  print(x_train, x_test, y_train, y_test)
  return None

if __name__ == "__main__":
  datasets_demo()


Last update: November 9, 2024