python - 使用 Python 进行数组乘法的 For/if 循环
问题描述
我正在尝试将 for 循环用于使用 numpy 的二进制分类函数。我遇到的问题是循环需要继续,直到 Y 中的所有值在乘以更新后的值 ak 时都大于 0。
但是,此循环返回的 ak 值确实确保 Y 的所有值都大于 0。例如,当前输出 [0,0,7] 乘以 Y1 中的第四个数组 [-1, -1,0],等于 0。
我能做些什么来解决这个问题?我在下面发布了我的代码。提前致谢。
import numpy as np
def percep(a1, epochs, Y):
sum = Y1.sum(axis=0)
print(sum)
ak=a1
for k in range(1, epochs):
if np.multiply(ak, Y).all() > 0:
return(ak)
else:
rho = np.multiply(1/k, sum)
ak = np.add(ak, rho)
return(ak)
a1 = np.array([0,0,0])
Y1 = np.array([ [1,1,1], [1,1,2], [1,2,2], [-1,-1,0], [-1, -1, 1], [-1, -2, 1]])
解决方案
推荐阅读
- omnet++ - 如何在 Omnet++ 项目中查找基本安全消息的数量?
- javascript - javascript window-dollarsign 方法;alert() 中的冒号
- python - 如何聚合唯一 id 具有多行且另一列具有不同值的分类数据?
- c++ - C++:创建一个模板函数,只允许继承特定接口的类?
- vb.net - 在UiPath中用VB提取最后一个非零数字之前的所有数字
- python - 如何将字符串从 Python 套接字发送到 C 套接字?
- spring-boot - Spring Boot 批处理作业识别
- python - 在包含数组的python列表中查找重复项
- javascript - Angular 8/9 - Firebase CRUD - 更新
- c++ - 从 C 包装器创建 C++ 对象