机器学习(一)

1 简单介绍机器学习

1.2 什么是机器学习

1.2.1 定义

机器学习是从历史数据中自动分析(学习),获得模型(规律),并利用模型未知数据进行**预测(结果)**的过程。

学习–>规律–>预测

1.2.2 数据集的构成

数据集就是所谓的 历史数据

数据集一般由特征值和目标值构成,数据集可以没有目标值。

1.3 机器学习算法分类

1.3.1 监督学习

目标值:类别(离散型数据) ==》分类算法 ==》(天气阴雨晴等,人脸识别)

目标值:连续型的数据(具体的数据) ==》回归算法 ==》(天气温度 具体的温度数值)

1.3.2 无监督学习

目标值:无目标值 ==》聚类算法

1.4 机器学习开发流程

1 获取数据

2 数据处理:处理缺失值,错乱数据

3 特征工程:训练数据和测试数据。将数据处理成能被算法直接使用的数据。

4 机器学习算法训练:得到模型

5 模型评估:如果效果不好,需要返回到2,3,4,进行处理,循环处理直到效果满意。

2 介绍数据集

2.1 数据集

###2.1.1 可用数据集

学习阶段可用数据集:

1 sklearn

2 kaggle

3 UCI

2.1.2 sklearn数据集

1 sklearn数据集API介绍:

sklearn.datasets

加载获取流行数据集方法:

​ datasets.load_*():获取小规模数据集,数据包含在datasets里面

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

sklearn小数据

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

​ sklearn.datasets.load_boston():加载并且返回波士顿房价数据集

sklearn大数据集

​ sklearn.datasets.fetch_20newsgroups(data_home=None,subset=“train”)

​ subset:“train"或者"test”, “all”, 可选,选择要加载的数据集。训练集的"训练", 测试集的"测试", 两者的全部

2.1.3 sklearn数据集的使用

以鸢尾花数据集为例,sklearn数据集的返回值介绍

load和fetch返回的数据类型 **datasets.base.Bunch **字典格式(继承自字典)

​ data:特征值数组,是[n_samples*n_features]的二维 numpy.ndarray数组

​ target: 目标值,标签数组,是n_samples的一维 numpy.ndarray 数组

​ DESCR:数组描述

​ feature_names: 特征名,新闻数据,手写数字,回归数据集

​ target_names: 目标值-标签名

datasets.base.Bunch(字典格式(继承自字典)

格式:

​ dict[“key”] = values (继承自字典的索引)

特有格式:

​ bunch.key = values (.模式)

2.1.4 数据集的划分

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

​ 训练数据:用于训练,构建模型

​ 测试数据:在模型检验时使用,用于评估模型是否有效

​ 划分比例:

​ 训练集:70% 80% 75%

​ 测试集:30% 20% 30%

数据集划分API

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

​ 传参:

​ x:数据集的特征值

​ y:数据集的标签值(目标值)

​ test_size:测试集的大小,一般为float(0.2)

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

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

​ return::x_train,x_test,y_train,y_test

代码:

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
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)
    print("查看目标值:\n", iris.target)
    print("查看目标值的名字:\n", iris.target_names)

    # 数据集的划分
    x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
    print("训练集的特征值:\n", x_train, x_train.shape)
    print("训练集的目标值:\n", y_train, y_train.shape)

    return None
datasets_demo()

转载请注明转自:https://blog.csdn.net/Owen_goodman/article/details/108283399

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值