9e62f772ee6e7e1b346640533f5122154f102b5a,code/traditional/TCA/TCA.py,TCA,fit,#TCA#,58

Before Change


        :return: Xs_new and Xt_new after TCA
        """
        X = np.hstack((self.Xs.T, self.Xt.T))
        X = np.dot(X, np.diag(1 / (np.sum(X ** 2, axis=0) ** 0.5)))
        m, n = X.shape
        ns, nt = len(self.Xs), len(self.Xt)
        e = np.vstack((1 / ns * np.ones((ns, 1)), -1 / nt * np.ones((nt, 1))))
        M = e * e.T
        M = M / np.linalg.norm(M, "fro")
        H = np.eye(n) - 1 / n * np.ones((n, n))
        K = kernel(self.kernel_type, X, None, gamma=self.gamma)
        n_eye = m if self.kernel_type == "primal" else n
        a, b = np.linalg.multi_dot([K, M, K.T]) + self.lamb * np.eye(n_eye), np.linalg.multi_dot([K, H, K.T])
        w, V = scipy.linalg.eig(a, b)
        ind = np.argsort(w)
        A = V[:, ind[:self.dim]]
        Z = np.dot(A.T, K)
        Z = np.dot(Z, np.diag(1 / (np.sum(Z ** 2, axis=0) ** 0.5)))
        Xs_new, Xt_new = Z[:, :ns].T, Z[:, ns:].T
        return Xs_new, Xt_new

    def fit_predict(self):

After Change


        :param Xt: nt * n_feature, target feature
        :return: Xs_new and Xt_new after TCA
        """
        X = np.hstack((Xs.T, Xt.T))
        X /= np.linalg.norm(X, axis=0)
        m, n = X.shape
        ns, nt = len(Xs), len(Xt)
        e = np.vstack((1 / ns * np.ones((ns, 1)), -1 / nt * np.ones((nt, 1))))
        M = e * e.T
        M = M / np.linalg.norm(M, "fro")
        H = np.eye(n) - 1 / n * np.ones((n, n))
        K = kernel(self.kernel_type, X, None, gamma=self.gamma)
        n_eye = m if self.kernel_type == "primal" else n
        a, b = np.linalg.multi_dot([K, M, K.T]) + self.lamb * np.eye(n_eye), np.linalg.multi_dot([K, H, K.T])
        w, V = scipy.linalg.eig(a, b)
        ind = np.argsort(w)
        A = V[:, ind[:self.dim]]
        Z = np.dot(A.T, K)
        Z /= np.linalg.norm(Z, axis=0)
        Xs_new, Xt_new = Z[:, :ns].T, Z[:, ns:].T
        return Xs_new, Xt_new

    def fit_predict(self, Xs, Ys, Xt, Yt):
Italian Trulli
In pattern: SUPERPATTERN

Frequency: 3

Non-data size: 22

Instances


Project Name: jindongwang/transferlearning
Commit Name: 9e62f772ee6e7e1b346640533f5122154f102b5a
Time: 2018-11-15
Author: jindongwang@outlook.com
File Name: code/traditional/TCA/TCA.py
Class Name: TCA
Method Name: fit


Project Name: jindongwang/transferlearning
Commit Name: 9e62f772ee6e7e1b346640533f5122154f102b5a
Time: 2018-11-15
Author: jindongwang@outlook.com
File Name: code/traditional/BDA/BDA.py
Class Name: BDA
Method Name: fit_predict


Project Name: jindongwang/transferlearning
Commit Name: 9e62f772ee6e7e1b346640533f5122154f102b5a
Time: 2018-11-15
Author: jindongwang@outlook.com
File Name: code/traditional/JDA/JDA.py
Class Name: JDA
Method Name: fit_predict


Project Name: jindongwang/transferlearning
Commit Name: 9e62f772ee6e7e1b346640533f5122154f102b5a
Time: 2018-11-15
Author: jindongwang@outlook.com
File Name: code/traditional/TCA/TCA.py
Class Name: TCA
Method Name: fit