Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将变量的每个唯一组合迭代到带有变量的训练/测试集中,并添加到先前存在的模型变量中?_Python_Loops_Scikit Learn_Iterator - Fatal编程技术网

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