def test_cast_double_to_float(): DT = dt.Frame(F=[0.78, math.nan, math.inf, -math.inf, 2.35e78, -6.5e11]) assert DT.stypes == (dt.float64,) RES = DT[:, dt.float32(f.F)] assert RES.stypes == (dt.float32,) assert RES.to_list()[0] == [0.7799999713897705, None, math.inf, -math.inf, math.inf, -6.50000007168e+11]
def test_cast_to_float32(src): dt0 = dt.Frame(src) dt1 = dt0[:, [dt.float32(f[i]) for i in range(dt0.ncols)]] dt1.internal.check() assert dt1.stypes == (dt.float32, ) * dt0.ncols pyans = [float(x) if x is not None else None for x in src] assert list_equals(dt1.topython()[0], pyans)
def test_ftrl_reuse_pickled_empty_model(): ft_pickled = pickle.dumps(Ftrl()) ft_unpickled = pickle.loads(ft_pickled) ft_unpickled.nbins = 10 df_train = dt.Frame({"id": range(ft_unpickled.nbins)}) df_target = dt.Frame([True] * ft_unpickled.nbins) ft_unpickled.fit(df_train, df_target) model = [[-0.5] * ft_unpickled.nbins, [0.25] * ft_unpickled.nbins] fi = dt.Frame([["id"], [0.0]])[:, [f[0], dt.float32(f[1])]] fi.names = ["feature_name", "feature_importance"] assert ft_unpickled.model.to_list() == model assert_equals(ft_unpickled.feature_importances, fi)
def test_cast_view_simple(): df0 = dt.Frame({"A": [1, 2, 3]}) df1 = df0[::-1, :][:, dt.float32(f.A)] frame_integrity_check(df1) assert df1.stypes == (dt.float32, ) assert df1.to_list() == [[3.0, 2.0, 1.0]]
def test_cast_view(): df0 = dt.Frame({"A": [1, 2, 3]}) df1 = df0[::-1, :][:, dt.float32(f.A)] df1.internal.check() assert df1.stypes == (dt.float32, ) assert df1.topython() == [[3.0, 2.0, 1.0]]
def transform(self, X: dt.Frame): if dtype_global() == np.float32: return X[:, [dt.float32(dt.log(dt.f[i])) for i in range(X.ncols)]] else: return X[:, [dt.float64(dt.log(dt.f[i])) for i in range(X.ncols)]]