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

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 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义
  • ¥15 (标签-UDP|关键词-client)
  • ¥15 关于库卡officelite无法与虚拟机通讯的问题
  • ¥15 目标检测项目无法读取视频
  • ¥15 GEO datasets中基因芯片数据仅仅提供了normalized signal如何进行差异分析
  • ¥100 求采集电商背景音乐的方法
  • ¥15 数学建模竞赛求指导帮助