涂衮衮 2021-08-24 11: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 11:39
    关注

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

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

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 Paddleocr:out of memory error on GPU
  • ¥30 51单片机C语言数码管驱动单片机为AT89C52
  • ¥100 只改动本课件的 cal_portfolio_weight_series(decision_date), 跑完本课件。设计一个信息比率尽量高的策略。
  • ¥20 如何在visual studio 2022中添加ImageMagick库
  • ¥50 如何实现uniapp编译的微信小程序做可回溯视频
  • ¥15 求Houdini使用行家,付费。价格面议。
  • ¥15 前端高拍仪调用问题报错
  • ¥15 想用octave解决这个数学问题
  • ¥15 Centos新建的临时ip无法上网,如何解决?
  • ¥15 海康威视如何实现客户端软件对设备语音请求的处理。