Source code for physbo.misc.centering

# SPDX-License-Identifier: MPL-2.0
# Copyright (C) 2020- The University of Tokyo
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at https://mozilla.org/MPL/2.0/.

import numpy as np


[docs] def centering(X): """ Normalize the mean and standard deviation along the each column of X to 0 and 1, respectively Parameters ---------- X: numpy array N x d dimensional matrix. Each row of X denotes the d-dimensional feature vector of search candidate. Returns ------- X_normalized: numpy array normalized N x d dimensional matrix. """ stdX = np.std(X, 0) index = np.where(stdX != 0) X_normalized = (X[:, index[0]] - np.mean(X[:, index[0]], 0)) / stdX[index[0]] return X_normalized