勇闯机器学习(第二关-数据集使用)

以下内容,皆为原创,重在无私分享高质量知识,制作实属不易,请点点关注。

好戏开场了~~~(这关涉及到了加载数据集的代码,下一关,教你们安装机器学习库)

一.数据集

  • 这一关的目标
    • 知道数据集被分为训练集和测试集
    • 会使用sklearn的数据集

1.可用数据集

++scikit-learn网址:++ scikit-learn: machine learning in Python --- scikit-learn 1.5.1 documentation

++UCI网址:++ UCI Machine Learning Repository

++Kaggle网址:++ Bohrium

  • scikit-learn 数据量小,方便学习
    • UCI 收录360个数据集,覆盖科技、生活、经济等领域,数据量几十万。
    • Kaggle 大数据竞赛平台,真实数据,数据量巨大

如以下图所示,这个就是UCI机器学习的网站和scikit-learn机器学习的网站。

二.使用sclearn数据集

1.scikit-learn数据集API介绍

python 复制代码
# 用sklearn中的datasets方法(sklearn.datasets)
    1.加载获取流行数据集
    2.datasets.load_*()
            获取小规模数据集,数据包含在datasets中
    3.datasets。fetch_*(data_home=None)
            获取大规模数据集,需要从网上下载,
            函数第一个参数是data_home,表示数据集下载的目录。你可以自己定义位置。C盘D盘都行

2.sklearn小数据集

加载并返回鸢尾花数据集。当然还有一个常见的波士顿房价数据集,但是

复制代码
`load_boston` has been removed from scikit-learn since version 1.2.这个是我在加载波士顿房价数据集,出现的报错,所以要注意好自己的版本。
python 复制代码
import sklearn
from sklearn.datasets import load_iris

# Load the iris dataset
print(sklearn.datasets.load_iris())

这个就是我在jupyter notebook里,打印出来鸢尾花的数据集。

|--------|--------|
| 名称 | 数量 |
| 类别 | 3 |
| 特征 | 4 |
| 样本数量 | 150 |
| 每个类别数量 | 5 |
[鸢尾花数据集]

3.sklearn大数据集

加载大数据集,我们就要用fetch_*,用于加载大数据集。那个*指的是加载的数据集的名称。

3.1 sklearn数据集返回值介绍

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

  • data:特征数据数组
  • target:目标数组(标签数组)
  • DESCR:数据描述
  • feature_names:特征名
  • target_names:目标名(标签名)
python 复制代码
from sklearn.datasets import load_iris
# 将加载的数据集传给iris变量
iris = load_iris()
print("鸢尾花的数据集:\n", iris)
print("查看鸢尾花的特征值:\n", iris["data"])
print("查看鸢尾花的目标值:\n", iris.target)
print("查看鸢尾花特征的名字:\n", iris.feature_names)
print("查看鸢尾花目标值的名字:\n", iris.target_names)
print("查看数据集描述:\n", iris["DESCR"])

字典的元素是键值对的形式,所以获取值的方式有两种:

python 复制代码
dict['key'] = value
bunch.key = value

三.训练模型

思考:要不要用全部数据来训练一个模型??

内心独白:肯定不行啊,你要一部分来进行模型评估啊,看你的模型好不好。

所以数据集,分为训练集(用于训练,构建模型)测试集(在模型核验时,用于评估模型是否有效)

划分的标准(上下组合):

1.训练数据:70% 80% 75%

2.测试数据:30% 20% 30%

我们希望训练的模型好一点,所以让训练集多一点。

python 复制代码
# 导入加载鸢尾花数据集的方法
from sklearn.datasets import load_iris
# 导入划分数据集的方法
from sklearn.model_selection import train_test_split

# 加载鸢尾花数据
iris = load_iris()

# 有了加载数据,才能划分数据集
# 这四个分别对应后面方法的四个返回值(训练集的特征值,测试集的特征值,训练集的目标值, 测试集的目标值)
x_train, x_test, y_train, y_test = train_test_split(iris.data, iris.target, test_size=0.2, random_state=22)
print("训练集的特征值", x_train, x_train.shape)

四.懵笔时刻

在划分数据集时,那四个变量为什么这么命名?

不错,问得好。举个例子,在数学中,我们都是有X值去求Y值,那么Y就是我们的目标值。所以X就是数据集的特征值,Y就是数据集的目标值。后面方法里的参数test_size是测试集的大小,一般为float类型(20%,0.2,以此类推)。random_state是随机数种子,不同的种子造成不同的随机采样结果,相同的种子采样结果相同。

为什么要用四个变量,而不是三个或者五个变量?

因为那个方法就是返回的四个值啊,我能有什么办法!!what can I say?!!

return 训练集的特征值,测试集的特征值。训练集的目标值,测试集的目标值。

五.谢谢大家的观看,后续持续分享高质量内容~~~~

相关推荐
985小水博一枚呀4 分钟前
【深度学习滑坡制图|论文解读2】基于融合CNN-Transformer网络和深度迁移学习的遥感影像滑坡制图方法
人工智能·深度学习·神经网络·cnn·transformer·迁移学习
数据与后端架构提升之路13 分钟前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
爱技术的小伙子19 分钟前
【ChatGPT】如何通过逐步提示提高ChatGPT的细节描写
人工智能·chatgpt
深度学习实战训练营2 小时前
基于CNN-RNN的影像报告生成
人工智能·深度学习
昨日之日20064 小时前
Moonshine - 新型开源ASR(语音识别)模型,体积小,速度快,比OpenAI Whisper快五倍 本地一键整合包下载
人工智能·whisper·语音识别
浮生如梦_4 小时前
Halcon基于laws纹理特征的SVM分类
图像处理·人工智能·算法·支持向量机·计算机视觉·分类·视觉检测
深度学习lover4 小时前
<项目代码>YOLOv8 苹果腐烂识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·苹果腐烂识别
热爱跑步的恒川5 小时前
【论文复现】基于图卷积网络的轻量化推荐模型
网络·人工智能·开源·aigc·ai编程
阡之尘埃7 小时前
Python数据分析案例61——信贷风控评分卡模型(A卡)(scorecardpy 全面解析)
人工智能·python·机器学习·数据分析·智能风控·信贷风控
孙同学要努力9 小时前
全连接神经网络案例——手写数字识别
人工智能·深度学习·神经网络