TypeError: np.matrix is not supported. Please convert to a numpy array with np.asarray.
Hi, when I use the package, I have the following issues: code is: d1 = np.random.rand(100,10) d2 = np.random.rand(100,10) d3 = np.random.rand(100,10) data = [d1,d2,d3] params = pyrea.parea_2_genetic(data, k_min=2, k_max=5)
it returns the error: TypeError Traceback (most recent call last) Cell In[14], line 1 ----> 1 params_hierarchical = pyrea.parea_1_genetic(data, k_min=2, k_max=5, k_final=3, n_generations=10, n_population=10)
File ~/anaconda3/envs/eval/lib/python3.10/site-packages/pyrea/core.py:833, in parea_1_genetic(data, k_min, k_max, k_final, n_population, n_generations) 830 stats.register("max", np.max) 832 # Run the genetic algorithm --> 833 pop, log = algorithms.eaSimple(population, toolbox, cxpb=0.7, mutpb=0.2, ngen=n_generations, stats=stats, halloffame=hall_of_fame, verbose=True) 835 print(f"\nSummary:\n{log}") 837 return hall_of_fame[0]
File ~/anaconda3/envs/eval/lib/python3.10/site-packages/deap/algorithms.py:151, in eaSimple(population, toolbox, cxpb, mutpb, ngen, stats, halloffame, verbose) 149 invalid_ind = [ind for ind in population if not ind.fitness.valid] 150 fitnesses = toolbox.map(toolbox.evaluate, invalid_ind) --> 151 for ind, fit in zip(invalid_ind, fitnesses): 152 ind.fitness.values = fit 154 if halloffame is not None:
File ~/anaconda3/envs/eval/lib/python3.10/site-packages/pyrea/core.py:795, in parea_1_genetic.
Do you know how to fix it? Thanks.
Hi @PengleiGao
yeah this is because I used the numpy.matrix class and this now deprecated in newer versions of NumPy. I would need to change Pyrea's code to use the numpy.array class instead. Which is on the agenda, and I will do so in the coming days actually. Once I have made the changes, I will update the package and let you know.
This has now been fixed in version 1.0.11, upgrade Pyrea using pip install pyrea --upgrade where it should be solved.