def pull_new_data(crossval_rate, pca, path=None): from csxdata.frames import RData from csxdata.utilities.parsers import parse_csv if path is None: from csxdata import roots path = roots["csvs"] + "sum_ntab.csv" X, _, header = parse_csv(path, headers=1, indeps=4, sep="\t", end="\n") return RData((X[..., 2:], X[..., :2]), crossval_rate, indeps_n=0, header=0, pca=pca)
def pull_xy_data(): X, Y, header = parse_csv(roots["csvs"] + "sum_ntab2.csv", headers=1, indeps=7) data = RData((X, Y[:, -2:].astype("float32")), cross_val=0.0, indeps_n=2, header=header) data.transformation = PRETREAT cities = Y[:, -3] return data.table("learning"), cities
def get_data(path=None): if path is None: from tkinter import Tk import tkinter.filedialog as tkfd tk = Tk() tk.withdraw() path = tkfd.askopenfilename(title="Please open the csv containing the data!", initialdir=csvroot) tk.destroy() return parse_csv(path, headers=1, indeps=1, sep="\t", end="\n")
def test_ica_on_etalon(self): self.data.reset_data(shuff=False) calcme = parse_csv(etalonroot + "ica.csv", dtype="float64")[0] calcme = np.round(np.sort(np.abs(calcme.ravel())), 1) self.data.transformation = "ica" X = self.data.learning.astype("float64") X = np.round(np.sort(np.abs(X.ravel())), 1) self.assertEqual(self.data.transformation, "ica", "The transformation property is faulty!") self.assertTrue(np.allclose(X, calcme, rtol=1.e-4, atol=1.e-7), "ICA is faulty!")
def test_lda_on_etalon(self): self.data.reset_data(shuff=False) calcme = parse_csv(etalonroot + "lda.csv", dtype="float64")[0] calcme = np.round(np.sort(np.abs(calcme.ravel())), 1) self.data.transformation = "lda" X = self.data.learning.astype("float64") X = np.round(np.sort(np.abs(X.ravel())), 1) eq = np.isclose(X, calcme) self.assertEqual(self.data.transformation, "lda", "The transformation property is faulty!") self.assertTrue(np.all(eq), "LDA is faulty!")
def test_standardization_on_etalon(self): self.data.reset_data(shuff=False) calcme = parse_csv(etalonroot + "std.csv", dtype="float64")[0] calcme = np.sort(calcme.ravel()) self.data.transformation = "std" X = np.round(self.data.learning.astype("float64"), 3) X = np.sort(X.ravel()) self.assertEqual(self.data.transformation, "std", "The transformation property is faulty!") self.assertTrue(np.all(np.equal(X, calcme)), "Standardization is faulty!")
def setUp(self): self.X_, self.y_, headers = parse_csv(etalonroot + "/input.csv") self.data = CData((self.X_, self.y_), cross_val=0)