python - '太多的值要解压',同时迭代一个 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)
解决方案
用方法合并两个数组zip
:
for items, types in zip(classifiers, ListOfclassifiers):
# todo smth
推荐阅读
- c# - 如何在 UWP 的 ItemsRepeater 中使用用户控件
- postgresql - What does backend_xmin and backend_xid represent in pg_stat_activity?
- apache-kafka - kafka connect s3-source connector的压缩文件保存在哪里
- r - 对不同的变量多次应用 dcast
- java - 查询 Ms-Access 数据库 Java 时的问题
- javascript - 在服务器崩溃时处理获取响应
- xamarin.forms - 使用 Observable 进行 CollectionView 分组
- apache-spark - Spark SQL 中的迭代广播联接
- sql - 执行时间:为什么相同代码和相同参数的持续时间会有很大差异?
- mysql - 在mysql用户定义函数中使用if else