显然,下面的代码应该标准化x
值中的列。
#normalize columns
def normalize_cols(m):
col_max = m.max(axis=0)
col_min = m.min(axis=0)
return (m-col_min)/(col_max - col_min)
x_vals_train = np.nan_to_num(normalize_cols(x_vals_train))
x_vals_test = np.nan_to_num(normalize_cols(x_vals_test))
然而,我有点困惑。
首先,该函数是否逐列对数据进行规范化?如果是这样,怎么样和为什么? (因为我们一次输入整列。)
其次,np.nan_to_num
的文档说:
用零和inf替换大的有限数字。
但为什么在这里使用?我不明白为什么在规范化数据后我们必须替换零?