涂衮衮 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日

悬赏问题

  • ¥65 LineageOs-21.0系统编译问题
  • ¥30 关于#c++#的问题,请各位专家解答!
  • ¥15 App的会员连续扣费
  • ¥15 不同数据类型的特征融合应该怎么做
  • ¥15 用proteus软件设计一个基于8086微处理器的简易温度计
  • ¥15 用联想小新14Pro
  • ¥15 multisim中关于74ls192n和DSWPK开关仿真图分析(减法计数器)
  • ¥15 w3wp,exe 中发生未处理的 Microsoft ,NETFramework 异常。
  • ¥20 C51单片机程序及仿真(加减器)
  • ¥15 AQWA | 水动力分析 二阶波浪力