MCPcopy
hub / github.com/scikit-learn/scikit-learn / test_scaler_int

Function test_scaler_int

sklearn/preprocessing/tests/test_data.py:1089–1142  ·  view source on GitHub ↗
(sparse_container)

Source from the content-addressed store, hash-verified

1087
1088@pytest.mark.parametrize("sparse_container", CSC_CONTAINERS + CSR_CONTAINERS)
1089def test_scaler_int(sparse_container):
1090 # test that scaler converts integer input to floating
1091 # for both sparse and dense matrices
1092 rng = np.random.RandomState(42)
1093 X = rng.randint(20, size=(4, 5))
1094 X[:, 0] = 0 # first feature is always of zero
1095 X_sparse = sparse_container(X)
1096
1097 with warnings.catch_warnings(record=True):
1098 scaler = StandardScaler(with_mean=False).fit(X)
1099 X_scaled = scaler.transform(X, copy=True)
1100 assert not np.any(np.isnan(X_scaled))
1101
1102 with warnings.catch_warnings(record=True):
1103 scaler_sparse = StandardScaler(with_mean=False).fit(X_sparse)
1104 X_sparse_scaled = scaler_sparse.transform(X_sparse, copy=True)
1105 assert not np.any(np.isnan(X_sparse_scaled.data))
1106
1107 assert_array_almost_equal(scaler.mean_, scaler_sparse.mean_)
1108 assert_array_almost_equal(scaler.var_, scaler_sparse.var_)
1109 assert_array_almost_equal(scaler.scale_, scaler_sparse.scale_)
1110
1111 assert_array_almost_equal(
1112 X_scaled.mean(axis=0), [0.0, 1.109, 1.856, 21.0, 1.559], 2
1113 )
1114 assert_array_almost_equal(X_scaled.std(axis=0), [0.0, 1.0, 1.0, 1.0, 1.0])
1115
1116 X_sparse_scaled_mean, X_sparse_scaled_std = mean_variance_axis(
1117 X_sparse_scaled.astype(float), 0
1118 )
1119 assert_array_almost_equal(X_sparse_scaled_mean, X_scaled.mean(axis=0))
1120 assert_array_almost_equal(X_sparse_scaled_std, X_scaled.std(axis=0))
1121
1122 # Check that X has not been modified (copy)
1123 assert X_scaled is not X
1124 assert X_sparse_scaled is not X_sparse
1125
1126 X_scaled_back = scaler.inverse_transform(X_scaled)
1127 assert X_scaled_back is not X
1128 assert X_scaled_back is not X_scaled
1129 assert_array_almost_equal(X_scaled_back, X)
1130
1131 X_sparse_scaled_back = scaler_sparse.inverse_transform(X_sparse_scaled)
1132 assert X_sparse_scaled_back is not X_sparse
1133 assert X_sparse_scaled_back is not X_sparse_scaled
1134 assert_array_almost_equal(X_sparse_scaled_back.toarray(), X)
1135
1136 if sparse_container in CSR_CONTAINERS:
1137 null_transform = StandardScaler(with_mean=False, with_std=False, copy=True)
1138 with warnings.catch_warnings(record=True):
1139 X_null = null_transform.fit_transform(X_sparse)
1140 assert_array_equal(X_null.data, X_sparse.data)
1141 X_orig = null_transform.inverse_transform(X_null)
1142 assert_array_equal(X_orig.data, X_sparse.data)
1143
1144
1145@pytest.mark.parametrize("sparse_container", CSR_CONTAINERS + CSC_CONTAINERS)

Callers

nothing calls this directly

Calls 7

inverse_transformMethod · 0.95
StandardScalerClass · 0.90
mean_variance_axisFunction · 0.90
fitMethod · 0.45
transformMethod · 0.45
inverse_transformMethod · 0.45
fit_transformMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…