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

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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵