Python 如何将变量的每个唯一组合迭代到带有变量的训练/测试集中,并添加到先前存在的模型变量中?
我发现这告诉我如何得到每一个独特的组合——这是完美的。但是我已经有了一组我想要在模型中使用的“基本”变量。这只是我需要迭代和添加的最后一个。如果只有两三套的话,那就很简单了——但我还有几套需要看 我已经有了一个功能,它将采取我需要的所有准确性、召回率等措施,并输出我所有措施的数据框。所以我可以很容易地浏览这些专栏,看看哪一个领域最好 所有变量都在一个数据框中,所以我所要做的就是选择我想要的列。由于保密协议,我无法与您共享我的数据集。所以下面的一切都是虚构的 基本设置是:Python 如何将变量的每个唯一组合迭代到带有变量的训练/测试集中,并添加到先前存在的模型变量中?,python,loops,scikit-learn,iterator,Python,Loops,Scikit Learn,Iterator,我发现这告诉我如何得到每一个独特的组合——这是完美的。但是我已经有了一组我想要在模型中使用的“基本”变量。这只是我需要迭代和添加的最后一个。如果只有两三套的话,那就很简单了——但我还有几套需要看 我已经有了一个功能,它将采取我需要的所有准确性、召回率等措施,并输出我所有措施的数据框。所以我可以很容易地浏览这些专栏,看看哪一个领域最好 所有变量都在一个数据框中,所以我所要做的就是选择我想要的列。由于保密协议,我无法与您共享我的数据集。所以下面的一切都是虚构的 基本设置是: train_x = tr
train_x = train[["Age", "Gender", "Income", "Seniority"]]
test_x = test[["Age", "Gender", "Income", "Seniority"]]
train_y = [["Longevity"]]
test_x = ["Longevity"]]
但是现在我想在所有可能的组合中,在序列x
和测试x
的末尾添加变量[[“var_1”、“var_2”、“var_3”、“var_4”、“var_5”、“var_6”]]
我找到的答案是for循环和输出列表,但我无法将列表输入到变量集中——我手动尝试了,但没有成功
我的基本概念是,它应该是这样的:
set = some iteration loop through [["var_1", "var_2", "var_3", "var_4", "var_5", "var_6"]]
train_x = train[["Age", "Gender", "Income", "Seniority", set]]
test_x = test[["Age", "Gender", "Income", "Seniority", set]]
train_y = [["Longevity"]]
test_x = ["Longevity"]]
model = mlp.fit(train_x, train_y)
y_pred = pd.DataFrame(mlp.predict(test_x), columns = ["Predicted"])
print(model)
print(metrics.confusion_matrix(test_y, y_pred))
knn_model(model, "model_name") this my function
无论是
var_1
还是“var_1”、“var_2”、“var_3”、“var_4”、“var_5”、“var_6”
以及介于两者之间的所有设置,其中var_1、var_2、var_3
与var_3、var_2、var_1
都是丑陋的,但它确实有效
import itertools
input = ["var_1", "var_2", "var_3", "var_4", "var_5", "var_6"]
output = sum([list(map(list, combinations(input, i))) for i in range(len(input) + 1)], [])
for item in itertools.chain.from_iterable(output):
train_x = train[["Age", "Gender", "Income", "Seniority"]].join(train[[item]])
test_x = test[["Age", "Gender", "Income", "Seniority"]].join(train[[item]])
train_y = [["Longevity"]]
test_x = ["Longevity"]]
print(model)
print(metrics.confusion_matrix(test_y, y_pred))
knn_model(model, "model_name") this my function