Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_model_label_binariser_neg_label(self):
X = np.array([1, 2, 6, 4, 2])
model = LabelBinarizer(neg_label=-101).fit(X)
model_onnx = convert_sklearn(
model,
"scikit-learn label binariser",
[("input", Int64TensorType([None]))],
)
self.assertTrue(model_onnx is not None)
dump_data_and_model(
X.astype(np.int64),
model,
model_onnx,
basename="SklearnLabelBinariserNegLabel",
allow_failure="StrictVersion("
"onnxruntime.__version__)"
def test_model_label_binariser_default(self):
X = np.array([1, 2, 6, 4, 2])
model = LabelBinarizer().fit(X)
model_onnx = convert_sklearn(
model,
"scikit-learn label binariser",
[("input", Int64TensorType([None]))],
)
self.assertTrue(model_onnx is not None)
dump_data_and_model(
X.astype(np.int64),
model,
model_onnx,
basename="SklearnLabelBinariserDefault",
allow_failure="StrictVersion("
"onnxruntime.__version__)"
def test_model_k_bins_discretiser_onehot_dense_uniform_int(self):
X = np.array([[1, 3, 3, -6], [3, -2, 5, 0], [0, 2, 7, -9]])
model = KBinsDiscretizer(n_bins=[3, 2, 3, 4],
encode="onehot-dense",
strategy="uniform").fit(X)
model_onnx = convert_sklearn(
model,
"scikit-learn KBinsDiscretiser",
[("input", Int64TensorType([None, X.shape[1]]))],
)
self.assertTrue(model_onnx is not None)
dump_data_and_model(
X.astype(np.int64),
model,
model_onnx,
basename="SklearnKBinsDiscretiserOneHotDenseUniformInt",
allow_failure="StrictVersion(onnxruntime.__version__)"
"<= StrictVersion('0.2.1')",
def test_select_k_best_int(self):
model = SelectKBest(k="all")
X = np.array(
[[1, 2, 3, 1], [0, 3, 1, 4], [3, 5, 6, 1], [1, 2, 1, 5]],
dtype=np.int64,
)
y = np.array([0, 1, 0, 1])
model.fit(X, y)
model_onnx = convert_sklearn(
model,
"select k best",
[("input", Int64TensorType([None, X.shape[1]]))],
)
self.assertTrue(model_onnx is not None)
dump_data_and_model(
X,
model,
model_onnx,
basename="SklearnSelectKBest",
allow_failure="StrictVersion(onnx.__version__)"
" < StrictVersion('1.2') or "
def test_model_k_bins_discretiser_ordinal_kmeans_int(self):
X = np.array([
[1, 3, 3, -6], [3, -2, 5, 0], [0, 2, 7, -9],
[-1, 0, 1, -16], [31, -5, 15, 10], [12, -2, 8, -19]
])
model = KBinsDiscretizer(n_bins=3, encode="ordinal",
strategy="kmeans").fit(X)
model_onnx = convert_sklearn(
model,
"scikit-learn KBinsDiscretiser",
[("input", Int64TensorType([None, X.shape[1]]))],
)
self.assertTrue(model_onnx is not None)
dump_data_and_model(
X.astype(np.int64),
model,
model_onnx,
basename="SklearnKBinsDiscretiserOrdinalKMeansInt",
allow_failure="StrictVersion(onnxruntime.__version__)"
"<= StrictVersion('0.2.1')",
def test_ovr_classification_int_binary_mlp(self):
model, X = fit_classification_model(
OneVsRestClassifier(MLPClassifier()), 2, is_int=True)
model_onnx = convert_sklearn(
model,
"ovr classification",
[("input", Int64TensorType([None, X.shape[1]]))],
)
self.assertIsNotNone(model_onnx)
dump_data_and_model(
X,
model,
model_onnx,
basename="SklearnOVRClassificationIntBinMLP",
allow_failure="StrictVersion(onnxruntime.__version__)"
"<= StrictVersion('0.2.1')",
def test_model_multinomial_nb_binary_classification_int(self):
model, X = fit_classification_model(
MultinomialNB(), 2, is_int=True, pos_features=True)
model_onnx = convert_sklearn(
model,
"multinomial naive bayes",
[("input", Int64TensorType([None, X.shape[1]]))],
dtype=np.float32,
)
self.assertIsNotNone(model_onnx)
dump_data_and_model(
X,
model,
model_onnx,
basename="SklearnBinMultinomialNBInt-Dec4",
allow_failure="StrictVersion(onnxruntime.__version__)"
"<= StrictVersion('0.2.1')",
def calculate_sklearn_nearest_neighbours(operator):
check_input_and_output_numbers(operator, input_count_range=1,
output_count_range=[1, 2])
check_input_and_output_types(
operator, good_input_types=[
FloatTensorType, Int64TensorType, DoubleTensorType])
N = operator.inputs[0].type.shape[0]
neighbours = operator.raw_operator.n_neighbors
operator.outputs[0].type = Int64TensorType([N, neighbours])
operator.outputs[1].type.shape = [N, neighbours]
def convert_dataframe_schema(df, drop=None):
inputs = []
for k, v in zip(df.columns, df.dtypes):
if drop is not None and k in drop:
continue
if v == 'int64':
t = Int64TensorType([None, 1])
elif v == 'float64':
t = FloatTensorType([None, 1])
else:
t = StringTensorType([None, 1])
inputs.append((k, t))
return inputs
def calculate_sklearn_k_bins_discretiser(operator):
check_input_and_output_numbers(operator, output_count_range=1)
check_input_and_output_types(
operator, good_input_types=[
FloatTensorType, Int64TensorType, DoubleTensorType])
M = operator.inputs[0].type.shape[0]
model = operator.raw_operator
N = len(model.n_bins_) if model.encode == 'ordinal' else sum(model.n_bins_)
operator.outputs[0].type.shape = [M, N]