news 2026/5/10 0:17:16

深度学习篇---随机森林中的输入矩阵X和标签

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习篇---随机森林中的输入矩阵X和标签

1. 核心比喻:学生成绩预测系统

想象我们是一个学校的老师,要预测学生期末考试能否及格

我们收集了每个学生的信息,这些信息就是我们的输入矩阵 X(特征矩阵)。

预测的目标(及格/不及格)就是我们的标签 y


2. 输入矩阵 X(特征矩阵)- 学生的“数据表格”

形象比喻:

X 就是一张 Excel 表格,每一行是一个学生,每一列是学生的一个特征。

# 这就是我们的输入矩阵 X # 行 = 学生,列 = 特征(平时成绩、出勤率、作业次数) import numpy as np X = np.array([ # 平时成绩, 出勤率(%), 作业次数 [85, 90, 10], # 学生1:平时85分,出勤90%,交10次作业 [45, 60, 3], # 学生2:平时45分,出勤60%,交3次作业 [92, 95, 12], # 学生3:平时92分,出勤95%,交12次作业 [70, 80, 7], # 学生4:平时70分,出勤80%,交7次作业 [55, 70, 5] # 学生5:平时55分,出勤70%,交5次作业 ]) print("输入矩阵 X 的形状(行数,列数):", X.shape) # 输出:(5, 3) print("这意味着:") print(f"- 我们有 {X.shape[0]} 个学生(样本)") print(f"- 每个学生有 {X.shape[1]} 个特征") print("\n矩阵内容:") print(X)

输出结果:

输入矩阵 X 的形状(行数,列数): (5, 3) 这意味着: - 我们有 5 个学生(样本) - 每个学生有 3 个特征 矩阵内容: [[85 90 10] [45 60 3] [92 95 12] [70 80 7] [55 70 5]]

X 的关键特点:

  1. 二维数组:必须是个表格

  2. 数值型:最好是数字(85, 90, 10)

  3. 没有缺失值:不能有空缺

  4. 行是样本:一个学生/一条数据

  5. 列是特征:一个属性/一个指标


3. 标签 y - 我们想预测的“答案”

形象比喻:

y 就是每个学生对应的“正确答案”,放在一个列表里。

# 标签 y:1=及格,0=不及格(也可以是“是/否”、“猫/狗”等) # 注意:每个标签对应X的每一行! y = np.array([1, 0, 1, 1, 0]) # 学生1及格,学生2不及格... print("\n标签 y 的形状:", y.shape) # 输出:(5,) print("这意味着:") print(f"- 我们有 {y.shape[0]} 个标签") print(f"- 每个标签对应 X 中的一个学生") print("\n标签内容:") print(y) print("\n对应关系:") for i in range(len(y)): print(f"学生{i+1}: 特征{X[i]} -> 标签{y[i]}({'及格' if y[i]==1 else '不及格'})")

输出结果:

标签 y 的形状: (5,) 这意味着: - 我们有 5 个标签 - 每个标签对应 X 中的一个学生 标签内容: [1 0 1 1 0] 对应关系: 学生1: 特征[85 90 10] -> 标签1(及格) 学生2: 特征[45 60 3] -> 标签0(不及格) 学生3: 特征[92 95 12] -> 标签1(及格) 学生4: 特征[70 80 7] -> 标签1(及格) 学生5: 特征[55 70 5] -> 标签0(不及格)

y 的关键特点:

  1. 一维数组:就是个列表

  2. 长度等于X的行数:一个样本对应一个标签

  3. 可以是数值或文字

    • 分类:0/1,及格/不及格,猫/狗/鸟

    • 回归:具体分数(89.5,72.3)


4. 真实场景例子

例子1:鸢尾花分类(经典数据集)

# 预测鸢尾花的种类(Setosa, Versicolor, Virginica) # 基于:花瓣长度、花瓣宽度、花萼长度、花萼宽度 X_iris = np.array([ # 花萼长, 花萼宽, 花瓣长, 花瓣宽 [5.1, 3.5, 1.4, 0.2], # 样本1 [4.9, 3.0, 1.4, 0.2], # 样本2 [7.0, 3.2, 4.7, 1.4], # 样本3 [6.3, 3.3, 6.0, 2.5], # 样本4 ]) # 标签:0=Setosa, 1=Versicolor, 2=Virginica y_iris = np.array([0, 0, 1, 2]) print("鸢尾花数据集") print("X形状:", X_iris.shape) # (4, 4) - 4朵花,每朵4个特征 print("y形状:", y_iris.shape) # (4,) - 4个标签

例子2:房价预测(回归问题)

# 预测房屋价格(具体数值) # 基于:面积(平米)、卧室数、房龄、地理位置评分 X_house = np.array([ # 面积, 卧室, 房龄, 位置分 [120, 3, 5, 85], # 房子1 [90, 2, 20, 70], # 房子2 [200, 4, 2, 95], # 房子3 ]) # 标签:具体房价(万元) y_house = np.array([450, 280, 850]) print("\n房价数据集") print("X形状:", X_house.shape) # (3, 4) - 3套房子,每套4个特征 print("y形状:", y_house.shape) # (3,) - 3个价格 print("预测具体数值就是回归问题!")

5. 在 PyTorch 中的样子

import torch # PyTorch 中用张量(tensor)表示 X_tensor = torch.tensor([ [85, 90, 10], [45, 60, 3], [92, 95, 12], [70, 80, 7], [55, 70, 5] ], dtype=torch.float32) # 通常用float32 y_tensor = torch.tensor([1, 0, 1, 1, 0], dtype=torch.long) # 分类用long print("PyTorch 张量格式:") print("X_tensor:") print(X_tensor) print(f"形状: {X_tensor.shape}, 类型: {X_tensor.dtype}") print("\ny_tensor:") print(y_tensor) print(f"形状: {y_tensor.shape}, 类型: {y_tensor.dtype}")

6. 可视化的理解

让我用图表展示这个关系:


7. 常见问题解答

Q:如果我的数据是文字怎么办?(比如“男/女”)

A:需要转换成数字!

# 转换前 gender = ["男", "女", "男", "女"] # 转换后(独热编码或标签编码) # 方法1:标签编码(简单转换) gender_encoded = [0, 1, 0, 1] # 0=男,1=女 # 方法2:独热编码(更常用) # 男 -> [1, 0],女 -> [0, 1] gender_onehot = [[1, 0], [0, 1], [1, 0], [0, 1]]

Q:X 和 y 的形状必须是什么?

# ✅ 正确的 X.shape = (100, 5) # 100个样本,5个特征 y.shape = (100,) # 100个标签 # ❌ 错误的 X.shape = (100,) # 错误:X必须二维 y.shape = (100, 1) # 可以但不推荐(应该是(100,))

Q:如果有学生信息缺失怎么办?

A:需要先处理缺失值!

# 原始数据(有缺失) X_with_nan = np.array([ [85, 90, 10], [45, np.nan, 3], # 第二个学生出勤率缺失 [92, 95, 12] ]) # 处理方法: # 1. 删除有缺失的行 # 2. 用平均值/中位数填充 # 3. 用算法预测缺失值

📌 一句话总结:

输入 X= 一个Excel 表格,行是样本(人/花/房子),列是特征(成绩/尺寸/面积)
标签 y= 每个样本对应的正确答案列表(及格与否/什么花/多少钱)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 13:18:17

零基础玩转GTE文本嵌入:手把手教你做中文语义搜索

零基础玩转GTE文本嵌入:手把手教你做中文语义搜索 你有没有遇到过这些场景: 在公司内部知识库搜“报销流程”,结果返回一堆标题含“报销”但内容讲差旅标准的文档用关键词“大模型部署优化”查技术文档,却漏掉了实际讲GPU显存分…

作者头像 李华
网站建设 2026/5/2 17:40:19

如何让老旧设备秒变云影院?零门槛搭建云盘视频播放中心

如何让老旧设备秒变云影院?零门槛搭建云盘视频播放中心 【免费下载链接】115proxy-for-kodi 115原码播放服务Kodi插件 项目地址: https://gitcode.com/gh_mirrors/11/115proxy-for-kodi 还在为云盘里的高清视频无法在家庭影院流畅播放而烦恼?本文…

作者头像 李华
网站建设 2026/5/2 4:51:19

RexUniNLU开发者实操手册:supervisorctl服务管理与故障排查

RexUniNLU开发者实操手册:supervisorctl服务管理与故障排查 1. 为什么你需要这份手册 你刚启动了RexUniNLU镜像,Web界面打不开?点击“分类”按钮没反应?日志里满屏报错却看不懂?别急——这不是模型的问题&#xff0c…

作者头像 李华
网站建设 2026/4/23 14:19:57

DeepSeek又拿第一!首创「因果流」视觉推理,超越Gemini

来源:新智元编辑:定慧 好困【导读】DeepSeek开源DeepSeek-OCR2,引入了全新的DeepEncoder V2视觉编码器。该架构打破了传统模型按固定顺序(从左上到右下)扫描图像的限制,转而模仿人类视觉的「因果流&#xf…

作者头像 李华