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

如何在Scikit中加载本地Excel文件用于训练测试?解决DataFrame报错

解决Scikit-learn加载本地Excel文件后拆分特征与目标的问题

错误原因

你执行的X,y=data(return_X_y=True)是错误语法——data是Pandas的DataFrame对象,不能像函数那样调用。return_X_y=True是Scikit-learn自带数据集加载函数(如load_iris())的参数,不适用于Pandas数据框。

正确操作步骤

  1. 确认数据列结构
    先通过print(data.columns)查看Excel里的特征列和目标列名称/位置,比如IRIS数据集通常前4列是特征,最后1列是类别标签。

  2. 拆分特征(X)和目标(y)
    两种常用方式:

    • 按列位置拆分(假设目标列是最后一列):
      X = data.iloc[:, :-1]  # 所有行,除最后一列外的所有列作为特征
      y = data.iloc[:, -1]   # 所有行的最后一列作为目标变量
      
    • 按列名拆分(假设目标列名为species):
      X = data.drop("species", axis=1)  # 删除目标列,剩余为特征
      y = data["species"]               # 提取目标列
      
  3. 拆分训练集与测试集
    导入Scikit-learn的拆分工具,然后划分数据:

    from sklearn.model_selection import train_test_split
    
    # 按8:2比例拆分,random_state保证结果可复现
    X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
    
  4. 后续训练
    拿到X_train、y_train和X_test、y_test后,就可以使用Scikit-learn的模型(如LogisticRegression、SVC等)进行训练和测试了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 13:40:34