我想为k个变量的列表生成长度n的所有组合。我可以这样做:
import itertools
import pandas as pd
from sklearn import datasets
dataset = datasets.load_breast_cancer()
X = dataset.data
y = dataset.target
df = pd.DataFrame(X, columns=dataset.feature_names)
features = dataset.feature_names
x = set(['mean radius', 'mean texture'])
for s in itertools.combinations(features, 3):
if x.issubset(set(s)):
print s
len(特征)=30,因此这将生成4060个组合,其中n=3。当n=10时,这是30045015个组合。
len(tuple(itertools.combinations(features, 10)
而不是生成所有组合,然后按某些条件进行过滤,如本例中所示,
在这种情况下,是否可以生成所有组合?
换句话说,生成所有组合,其中n=3、4、5。。。k、 给定“平均半径”和“平均纹理”出现在组合中?