如何在 Python 的遗传算法中以 1 和 0 表示项目以生成初始种群?

问题描述

我想使用遗传算法从项目中找到频繁项集。

我的示例交易数据库dataset = [['a','b'],['c'],['d'],['b'],['e','c',['a','c']] 我的项目是 [a,b,c,d,e]

首先,我想用 1 和 0 表示每个项目。例如'a' as {1,0} and d as {0,1,0}

我怎样才能在 Python 中做到这一点??

当我必须交叉项目时,1 和 0 将不得不转换,因此这种形式必须是可变的。

有人可以帮助我或向我指出类似于这种情况的 GA 实现吗?一个指针会很有帮助,谢谢!

解决方法

items = ['a','b','c','d','e']
zeros = [0 for item in items]
for index,item in enumerate(items):
  result = zeros.copy()
  result[index] = 1
  print(result)

输入:

['a','e']

输出:

[1,0]
[0,1,1]