涂衮衮 2021-08-24 03:14 采纳率: 100%
浏览 277
已结题

python 具有多个返回值,只用一个参数去接受,为什么会出错

最后的pre_text 不应该是一样的嘛,为什么结果会不同呢?

import numpy as np
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler


def load_data(filename):    # 加载数据
    f = open(filename, encoding='utf-8-sig')
    data = np.genfromtxt(f, delimiter=',')
    f.close()
    y = data[:, 0].astype(int)
    x = data[:, 1:]
    x_std = StandardScaler().fit_transform(x)  
    x_train, x_test, y_train, y_test = train_test_split(x_std, y, test_size=.3) 
    return x_train, x_test, y_train, y_test


def svm_c(x_train, x_test, y_train, y_test):
    svc = SVC(kernel='rbf', class_weight='balanced', probability=True)
    clf = svc.fit(x_train, y_train)    # 训练模型,
    pre_test = clf.predict(x_test)
    pre_test_proba = clf.predict_proba(x_test)  # 计算测试集精度
    return y_test, pre_test, pre_test_proba


if __name__ == '__main__':
    y_test, pre_test, pre_test_proba = svm_c(*load_data('./files/Data.csv'))
    print(pre_test)
    x = svm_c(*load_data('./files/Data.csv'))[1]
    print(x)
  • 写回答

5条回答 默认 最新

  • python收藏家 2021-08-24 03:39
    关注

    星号表达式(*expressoin)不可单独使用 可以先执行完函数再赋值

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月24日
  • 已采纳回答 8月24日
  • 创建了问题 8月24日

悬赏问题

  • ¥15 STS/eclipse导入gradle项目时报错如下
  • ¥15 centos7.6进不去系统,卡在数字7界面
  • ¥15 Tensorflow采用interpreter.allocate_tensors()分配内存出现ValueError: vector too long报错
  • ¥15 使用CGenFF在线生成血红素辅基拓扑结构遇到问题
  • ¥15 在fragment使用okhttp同步上传文件,能不能在fragment销毁后还可以继续上传文件?
  • ¥20 matlab代码实现可达矩阵形成骨骼矩阵
  • ¥15 关于地板的木纹和图库中的匹配的
  • ¥30 机器学习预测疾病模型流程疑问
  • ¥50 2048Python实现
  • ¥15 使用ads进行低噪放仿真没有结果且不报错
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部