You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用train_test_split报错:'dict'对象没有'data'属性

问题原因

  • Python字典不能用**点号.访问键值,你写的array1.data属于错误的访问方式,字典的正确取值方式是用方括号[]**指定键名。
  • 你的特征数组和标签数组样本数不匹配:data_array有5个样本,target_array只有4个标签,这会导致train_test_split后续抛出维度不匹配的错误。

修复后的代码

import numpy as np
from sklearn.model_selection import train_test_split

# 调整特征数组的样本数,和标签数组保持一致
data_array = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
target_array = np.array([11, 12, 13, 14])

array1 = {'data': data_array, 'target': target_array}

# 用方括号访问字典的键值,同时注意train_test_split的返回顺序是X_train, X_test, y_train, y_test
X_train, X_test, y_train, y_test = train_test_split(
    array1['data'], array1['target'])

# 验证输出
print("X_train:\n", X_train)
print("y_train:\n", y_train)
print("X_test:\n", X_test)
print("y_test:\n", y_test)

关键注意点

  • 字典取值:将array1.data改为array1['data'],array1.target改为array1['target'],这是Python字典的标准取值语法。
  • 样本数对齐:必须保证特征数组的行数(样本数量)和标签数组的元素数量完全一致,否则无法完成样本与标签的对应匹配。

内容的提问来源于stack exchange,提问作者karoloso

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 13:04:52