DSF {stream} | R Documentation |
Data Stream Filter Base Classes
Description
Abstract base classes for all data stream filter (DSF) classes. Data stream filters transform a data stream (DSD).
Usage
DSF(...)
## S3 method for class 'DSF'
reset_stream(dsd, pos = 1)
## S3 method for class 'DSF'
get_points(x, n = 1L, info = TRUE, ...)
## S3 method for class 'DSF'
update(object, dsd = NULL, n = 1L, return = "data", ...)
## S3 method for class 'DSF'
close_stream(dsd, ...)
Arguments
... |
Further arguments passed on. |
dsd |
a stream object of class DSD. |
pos |
position in the stream. |
x , object |
a |
n |
number of points to get/use for the update. |
info |
return additional columns with information about the data point (e.g., a known cluster assignment). |
return |
a character string indicating what update returns. The only
value is currently |
Details
The DSF
class cannot be instantiated, but it serve as a base
class from which other DSF classes inherit.
Data stream filters transform a DSD data stream. DSF
can be used in two ways.
-
DSD Adapter: When a data stream (
dsd
) is specified in the constructor, then the DSF acts as an a adapter for a connected data stream. The DSF implementations inherit the interface from DSD and provide:-
get_points()
get the transformed points. -
reset_stream()
reset the underlying stream -
close_stream()
close the underlying stream
-
-
Stream Transformer: When no data stream (
dsd
) is specified in the constructor, then the DSF acts like a DST data stream task and provides:-
update()
to transform the points from a specifiedDSD
. It is convenient to use the pipe (magrittr::%>%) to apply one or more filters to data streams (see Examples section).
-
Methods (by generic)
-
reset_stream(DSF)
: reset the attached stream if reset is supported. -
get_points(DSF)
: DSD-like interface to get points if the DSF was created with an attached stream. -
update(DSF)
: updates with data and returns the filtered data. -
close_stream(DSF)
: close the attached stream if close is supported.
Author(s)
Michael Hahsler
See Also
Other DSF:
DSF_Convolve()
,
DSF_Downsample()
,
DSF_ExponentialMA()
,
DSF_FeatureSelection()
,
DSF_Func()
,
DSF_Scale()
,
DSF_dplyr()
Other DSD:
DSD()
,
DSD_BarsAndGaussians()
,
DSD_Benchmark()
,
DSD_Cubes()
,
DSD_Gaussians()
,
DSD_MG()
,
DSD_Memory()
,
DSD_Mixture()
,
DSD_NULL()
,
DSD_ReadDB()
,
DSD_ReadStream()
,
DSD_Target()
,
DSD_UniformNoise()
,
DSD_mlbenchData()
,
DSD_mlbenchGenerator()
,
animate_data()
,
close_stream()
,
get_points()
,
plot.DSD()
,
reset_stream()
Examples
DSF()
# Example 1: Use as a DSD adapter
stream <- DSD_Gaussians(k = 3, d = 2) %>%
DSF_Func(func = function(x) cbind(x, Xsum = x$X1 + x$X2))
stream
get_points(stream, n = 5)
# Example 2: Use as a stream transformer
trans <- DSF_Func(func = function(x) cbind(x, Xsum = x$X1 + x$X2))
trans
update(trans, stream, n = 5)
# Example 3: Use as a DST preprocessor
clusterer <- DSF_Func(func = function(x) cbind(x, X1_squared = x$X1^2)) %>%
DST_Runner(DSC_Kmeans(k = 3))
clusterer
update(clusterer, stream, n = 100)
# Example 5: Specify a complete pipeline DSD -> DSF -> DST
pipeline <- DSD_Gaussians(k = 3, d = 2) %>%
DSF_Func(func = function(x) cbind(x, X1_squared = x$X1^2)) %>%
DST_Runner(DSC_Kmeans(k = 3))
pipeline
update(pipeline, n = 100)
plot(pipeline$dst)