首页 > 解决方案 > '太多的值要解压',同时迭代一个 for 循环

问题描述

我在预测算法中迭代多个回归模型。当我从一个列表中迭代模型时,没有这样的错误。但是当我迭代 2 个列表时,一个用于模型(' classifiers'),另一个用于模型名称作为字符串('ListOfclassifiers'),我收到如下错误:'ValueError: too many values to unpack (expected 2)'

ListOfclassifiers = ['svm.SVR', 'SGDRegressor', 'BayesianRidge', 'LassoLars', 'ARDRegression',
                     'PassiveAggressiveRegressor',
                     'TheilSenRegressor', 'LinearRegression']
classifiers = [svm.SVR(),
               linear_model.SGDRegressor(),
               linear_model.BayesianRidge(),
               linear_model.LassoLars(),
               linear_model.ARDRegression(),
               linear_model.PassiveAggressiveRegressor(),
               linear_model.TheilSenRegressor(),
               linear_model.LinearRegression()]

for items, types in classifiers, ListOfclassifiers:
    clf = items
    clf.fit(X_train, y_train)
    clf.score(X_test, y_test)
    accuracy = clf.score(X_test, y_test)
    print('The accuracy with', types, 'is:', accuracy)

标签: pythonloopsiteratordatasetregression

解决方案


用方法合并两个数组zip

for items, types in zip(classifiers, ListOfclassifiers):
    # todo smth

推荐阅读