机器学习与应用 part 2

机器学习与应用

第二天 机器学习与应用

  • 1.sklearn数据集与估计器
  • 2.分类算法k近邻算法

一 sklearn 数据集与估计器

1.1 sklearn 数据集

  • 数据集划分
  • sklearn数据集接口介绍
  • sklearn分类数据集
  • sklearn回归数据集

1.1.1 数据集的划分

数据集划分

思考:如果数据集全部用于训练模型,有什么问题?
只训练了模型,没有数据集对模型进行验证,没有模型的调优

机器学习数据集划分为训练数据和测试数据:
训练数据:运用训练,构建模型
测试数据:在模型检验时使用,用于评估模型是否有效

1.1.2 数据集API

sklearn数据集划分API
sklearn.model_selection.train_test_split
机器学习为什么不自己准备数据
自己准备数据集,耗时耗力,不一定真实。

1.1.2.1 sklearn 数据集API介绍

sklearn.datasets
加载获取流行数据集
datasets.load_*()
获取小规模数据集,数据包含在datasets里

datasets.fetch_*(data_home=None)
获取大规模数据集,需要从网络上下载,函数的第一个参数data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/

1.1.2.2 获取数据集返回的类型

load和fetch返回的数据类型datasets.base.Bunch(字典格式)
data:特征数据数组,是 [n_samples * n_features] 的二维 numpy.ndarray 数组
target:标签数组,是 n_samples 的一维 numpy.ndarray 数组
DESCR:数据描述
feature_names:特征名,新闻数据,手写数字、回归数据集没有
target_names:标签名,回归数据集没有

sklearn 分类数据集
用于分类的大数据集
sklearn 回归数据集

1.1.2.3 数据集进行分割

sklearn.model_selection.train_test_split(*arrays, **options)
x 数据集的特征值
y 数据集的标签值
test_size 测试集的大小,一般为float
random_state 随机数种子,不同的种子会造成不同的随机
采样结果。相同的种子采样结果相同。
return 训练集特征值,测试集特征值,训练标签,测试标签
(默认随机取)

1.1.2 转换器与预估器

想一下之前做的特征工程的步骤?
1、实例化 (实例化的是一个转换器类(Transformer))
2、调用fit_transform(对于文档建立分类词频矩阵,不能同时调用)
在这里插入图片描述

1.1.2.1 sklearn机器学习算法的实现-估计器

在sklearn中,估计器(estimator)是一个重要的角色,分类器和回归器都属于estimator,是一类实现了算法的API

1、用于分类的估计器:
sklearn.neighbors k-近邻算法
sklearn.naive_bayes 贝叶斯
sklearn.linear_model.LogisticRegression 逻辑回归
sklearn.tree 决策树与随机森林

2、用于回归的估计器:
sklearn.linear_model.LinearRegression 线性回归
sklearn.linear_model.Ridge 岭回归

1.1.2.2 估计器工作流程

估计器工作流程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章