机器学习笔记(二)

一、机器学习基础

算法是核心,数据和计算是基础。

数据类型

  • 离散型数据:记录不同类别个体的数目所得到的数据,又称为计数数据,全部是整数,不能再细分,也不能进一步提高精度。
  • 连续型数据:变量可以在某个范围内取任意数,即变量的取值可以是连续的,通常是非整数。
  • 离散型是区间内不可分,连续型是区间内可分。

机器学习算法分类

监督学习(预测):特征值+目标值

  • 分类(离散值):k-邻近算法、贝叶斯分类、决策树和随机森林、逻辑回归、神经网络
  • 回归(连续值):线性回归、岭回归
  • 标注:隐马尔科夫模型

无监督学习:特征值

  • 聚类:k-means

基本流程

  • 原始数据(公司本身的数据、合作过来数据、购买的数据)----明确问题做什么
  • 建立模型----根据数据类型划分应用种类
  • 数据的基本处理----pandas处理数据(缺失值、合并表...)
  • 特征工程----特征进行处理
  • 找到合适的算法去进行分析(模型=算法+数据)
  • 模型的评估,判定效果
  • 上线使用(API形式提供)

 

二、 sklearn数据集与估计器

1、数据集划分

训练和评估不能用一个数据集。

训练集:构建模型用于训练

测试集:评估模型是否有效

训练集和测试集的比例一般是7:3、8:2、7.5:2.5(最佳比例)

2、sklearn数据集API

数据集:sklearn.datasets

  • 加载获取流行数据集

datasets.load_*()

  • 获取小规模数据集,数据包含在datasets里

datasets.fetch_*(data_home=None)

  • 获取大规模数据集,需要从网络上下载,函数的第一个参数是data_home,表示数据集下载的目录,默认是 ~/scikit_learn_data/

load*和fetch*返回的数据类型:datasets.base.Bunch(一个字典格式)

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

例如

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

sklearn.datasets.load_digits()  加载并返回数字数据集

from sklearn.datasets import load_iris

li = load_iris()

print("特征值:")  # 二维数组
print(li.data)  # 150个样本,4个特征

print("目标值:")
print(li.target)  # 3种类别,每个类别50个

print("描述:")
print(li.DESCR)

 

数据集划分:sklearn.model_selection.train_test_split

sklearn.model_selection.train_test_split(*arrays, **options)

x  数据集的特征值

y  数据集的标签值

test_size  测试集的大小,一般为float

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

return  训练集特征值,测试集特征值,训练标签,测试标签 (默认随机取)

 

 

 

 

 

 

 

 

机器学习笔记(二)

 

上一篇:RedHat 7.1 下安装 Zabbix监控程序详解(适合linux初级用户)


下一篇:06-数据的划分与sklearn中的数据集介绍