如果我有一个列表列表,并且想要从每个不同的索引中找到所有可能的组合,我该怎么做?
例如:
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Run Code Online (Sandbox Code Playgroud)
我想找到
all_possibility = [[1, 5, 9], [1, 8, 6], [4, 2, 9], [4, 8, 3], [7, 2, 6], [7, 5, 3]]
Run Code Online (Sandbox Code Playgroud)
在哪里
[1,5,9]:1是[1,2,3]的第1个元素,5是[4,5,6]的第2个元素,9是[7,8,9]的第3个元素。
[1,8,6]:1是[1,2,3]的第1个元素,8是[7,8,9]的第2个元素,6是[4,5,6]的第3个元素。
等等。
(已编辑)注意:我希望结果与列表的原始元素具有相同的顺序。[1, 8, 6] 但不是 [1, 6, 8],因为 8 是 [7, 8, 9] 的第二个元素。
通常,我们可以使用pickle保存一个分类器模型。有没有一种方法可以将多个分类器模型保存在一个泡菜中?如果是,我们如何保存模型并在以后检索它?
例如,(最小的工作示例)
from sklearn import model_selection
from sklearn.linear_model import LogisticRegression
from sklearn.tree import DecisionTreeClassifier
from numpy.random import rand, randint
models = []
models.append(('LogisticReg', LogisticRegression(random_state=123)))
models.append(('DecisionTree', DecisionTreeClassifier(random_state=123)))
# evaluate each model in turn
results_all = []
names = []
dict_method_score = {}
scoring = 'f1'
X = rand(8, 4)
Y = randint(2, size=8)
print("Method: Average (Standard Deviation)\n")
for name, model in models:
kfold = model_selection.KFold(n_splits=2, random_state=999)
cv_results = model_selection.cross_val_score(model, X, Y, cv=kfold, scoring=scoring)
results_all.append(cv_results)
names.append(name)
dict_method_score[name] = (cv_results.mean(), cv_results.std()) …Run Code Online (Sandbox Code Playgroud)