DEAP是一个支持进化算法的了不起的Python包。
现在,我从简单的示例中学习它
使用HallofFame on,“它将跟踪进化中出现的最佳个体(即使在其熄灭的情况下)”。
但当我使用它时,种群在进化过程中的最大适应度有时会下降一些。
我认为当最好的父母离开时,fitness.Max永远不应该减少,而应该保持不变或增加。
这是我直接在DEAP网站上复制的代码。
import array
import random
import numpy
from deap import algorithms
from deap import base
from deap import creator
我试验了不同的建模方法,包括KNN、决策树、神经网络和SVN,并试图对我的数据进行拟合,看看哪种方法最有效。令我惊讶的是,决策树的最佳工作方式是训练精度为1.0,测试精度为0.5。无论训练精度为0.92,测试精度为0.42,神经网络的性能都是最好的,比决策树分类器低8%。
请有人解释一下,与决策树这样的建模技术相比,神经网络可能具有低精度的情况/情况。我尝试过不同配置的神经网络,比如:
1 hidden layer and 1 neuron : Train Accuracy 34% Test Accuracy 42%
7 hidden layers and 5 neurons in each
现在,我正在创建具有bezier控制柄的多边形。它工作得很好,除了现在我总是这样做:
for(float i = 0; i < 1; i += 0.04)
{
interpolate A, a.handle to B.handle, B at time i
}
问题是,无论点A和B之间的距离有多短或多长,它总是会产生相同数量的点。我怎么做才能让它看起来总是很好,但只能插值到它必须的程度。例如:如果Distance(A,B)是40,那么它可能只细分15次,但如果Distance(A,B)是20,它可能只细分7次,等等。我如何才能将其作为质量ex的函数:
float GetThresh
假设您有这种快速排序实现,它可能与标准实现略有不同:
qsort(list):
if list is of length 1 or lower -
return list
else -
choose a random pivot
smaller - get all elements that are smaller than the pivot
equal - get all elements that are equal to the pivot, including the pivot itself
greater - get all
我已经看到了许多关于使用python的multiprocessing的问题,但我还不能完全理解如何在我的代码中使用它。
假设我有一个NxM数组。我有一个函数f,它将(i,j)处的值与每隔一个像素进行比较。因此,本质上,我计算网格上每个点的NxM值。
我的机器有四个内核。我设想将输入位置分成四个象限,然后将每个象限提供给不同的进程。
所以,从模式上讲,我当前的代码是:
def f(x, array):
"""
For input location x, do some operation
with every other array value.