Exemplo n.º 1
0
	def test_predict_transform(self):
		predict_transformer = FeatureUnion([
			("identity", FunctionTransformer(None)),
			("log10", FunctionTransformer(numpy.log10))
		])
		pipeline = PMMLPipeline([("estimator", DummyRegressor())], predict_transformer = predict_transformer)
		X = DataFrame([[1, 0], [2, 0], [3, 0]], columns = ["X1", "X2"])
		y = Series([0.5, 1.0, 1.5], name = "y")
		pipeline.fit(X, y)
		y_pred = [1.0, 1.0, 1.0]
		y_predt = [1.0, 1.0, numpy.log10(1.0)]
		self.assertEqual(y_pred, pipeline.predict(X).tolist())
		self.assertEqual([y_predt for i in range(0, 3)], pipeline.predict_transform(X).tolist())
Exemplo n.º 2
0
def sin(x):
	x = numpy.pi*(x - 0.5)
	return numpy.sin(x)

def tanh(x):
	x = 2 * numpy.pi * (x - 0.5)
	return numpy.tanh(x)

train = numpy.linspace(0, 1, 9)
test = numpy.linspace(0.01, 0.99, 12)

X = DataFrame(test.reshape(-1, 1), columns = ["x1"])
store_csv(X, "BSpline")

for fun in [gaussian, sin, tanh]:
	name = fun.__name__.capitalize() + "BSpline"

	bspline = make_interp_spline(train, fun(train), k = 3)

	regressor = LinearRegression()
	regressor.coef_ = numpy.array([1])
	regressor.intercept_ = numpy.array([0])

	pipeline = PMMLPipeline([
		("regressor", regressor)
	], predict_transformer = BSplineTransformer(bspline))
	store_pkl(pipeline, name)

	y = DataFrame(pipeline.predict_transform(X), columns = ["y", "bspline(predict(y))"])
	store_csv(y, name)