Python RuntimeWarning:在双\u标量中遇到无效值
算法的步骤: 1-用p和Q初始化 2-算法的主要过程在(循环)的第一个Python RuntimeWarning:在双\u标量中遇到无效值,python,python-2.7,numpy,floating-point,Python,Python 2.7,Numpy,Floating Point,算法的步骤: 1-用p和Q初始化 2-算法的主要过程在(循环)的第一个开始时开始 这是我为上述步骤编写的程序: 但当我运行上述程序时,我会遇到以下错误: >>> ================================ RESTART ================================ >>> step 0 step 1 step 2 step 3 Warning (from warnings module): File "C:
开始时开始
这是我为上述步骤编写的程序:
但当我运行上述程序时,我会遇到以下错误:
>>> ================================ RESTART ================================
>>>
step 0
step 1
step 2
step 3
Warning (from warnings module):
File "C:\Python34\mf.py", line 42
Q[k][j] = float(Q[k][j]) + alpha * (2 * eij * P[i][k] - beta * Q[k][j])
RuntimeWarning: overflow encountered in double_scalars
Warning (from warnings module):
File "C:\Python34\mf.py", line 41
P[i][k] = float(P[i][k]) + alpha * (2 * eij * Q[k][j] - beta * P[i][k])
RuntimeWarning: invalid value encountered in double_scalars
Warning (from warnings module):
File "C:\Python34\mf.py", line 41
P[i][k] = float(P[i][k]) + alpha * (2 * eij * Q[k][j] - beta * P[i][k])
RuntimeWarning: overflow encountered in double_scalars
Warning (from warnings module):
File "C:\Python34\mf.py", line 42
Q[k][j] = float(Q[k][j]) + alpha * (2 * eij * P[i][k] - beta * Q[k][j])
RuntimeWarning: invalid value encountered in double_scalars
step 4
[[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]
...,
[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]]
>>>
最好知道DS.csv
@romeric的内容。excel窗口的标题是“DS.csv”。哈米德:你确定CSV解释正确吗?你是否打印了R
,或者至少打印了其中的一部分,以查看它的外观是否符合要求?@swenzel完全没有注意到这一点。将R
数组更改为随机数组不会发出任何溢出警告,因此我认为csv
读取不正确。此外,您正在将文件行作为字符串读取并将其转换为浮点。检查像1E-07
这样的值是否正确转换。我尝试了矩阵的一部分,得到了正确的结果。对于我遇到的错误数据量,内存如何?如何增加python的内存缓冲区或堆栈?!?最好知道DS.csv
@romeric的内容。excel窗口的标题是“DS.csv”。哈米德:你确定CSV解释正确吗?你是否打印了R
,或者至少打印了其中的一部分,以查看它的外观是否符合要求?@swenzel完全没有注意到这一点。将R
数组更改为随机数组不会发出任何溢出警告,因此我认为csv
读取不正确。此外,您正在将文件行作为字符串读取并将其转换为浮点。检查像1E-07
这样的值是否正确转换。我尝试了矩阵的一部分,得到了正确的结果。对于我遇到的错误数据量,内存如何?如何增加python的内存缓冲区或堆栈?!?
>>> ================================ RESTART ================================
>>>
step 0
step 1
step 2
step 3
Warning (from warnings module):
File "C:\Python34\mf.py", line 42
Q[k][j] = float(Q[k][j]) + alpha * (2 * eij * P[i][k] - beta * Q[k][j])
RuntimeWarning: overflow encountered in double_scalars
Warning (from warnings module):
File "C:\Python34\mf.py", line 41
P[i][k] = float(P[i][k]) + alpha * (2 * eij * Q[k][j] - beta * P[i][k])
RuntimeWarning: invalid value encountered in double_scalars
Warning (from warnings module):
File "C:\Python34\mf.py", line 41
P[i][k] = float(P[i][k]) + alpha * (2 * eij * Q[k][j] - beta * P[i][k])
RuntimeWarning: overflow encountered in double_scalars
Warning (from warnings module):
File "C:\Python34\mf.py", line 42
Q[k][j] = float(Q[k][j]) + alpha * (2 * eij * P[i][k] - beta * Q[k][j])
RuntimeWarning: invalid value encountered in double_scalars
step 4
[[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]
...,
[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]
[ nan nan nan ..., nan nan nan]]
>>>