def fit(self, data): """Estimate principal components Parameters ---------- data : RDD of (tuple, array) pairs, or RowMatrix """ if type(data) is not RowMatrix: data = RowMatrix(data) data.center(0) svd = SVD(k=self.k, method=self.svdmethod) svd.calc(data) self.scores = svd.u self.latent = svd.s self.comps = svd.v return self