You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by zh...@apache.org on 2023/03/30 04:28:07 UTC
[flink-ml] branch master updated: [hotfix][doc] Update website doc to avoid space in feature engineering algorithm names
This is an automated email from the ASF dual-hosted git repository.
zhangzp pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink-ml.git
The following commit(s) were added to refs/heads/master by this push:
new 1d1f6869 [hotfix][doc] Update website doc to avoid space in feature engineering algorithm names
1d1f6869 is described below
commit 1d1f68698560f0747a5a693e24f28a22ec6b282e
Author: Dong Lin <li...@gmail.com>
AuthorDate: Thu Mar 30 12:28:01 2023 +0800
[hotfix][doc] Update website doc to avoid space in feature engineering algorithm names
This closes #228.
---
.../docs/operators/feature/countvectorizer.md | 4 +-
.../docs/operators/feature/elementwiseproduct.md | 6 +-
.../docs/operators/feature/featurehasher.md | 6 +-
.../docs/operators/feature/indextostring.md | 184 +++++++++++++++++++++
.../content/docs/operators/feature/maxabsscaler.md | 6 +-
docs/content/docs/operators/feature/minhashlsh.md | 8 +-
.../content/docs/operators/feature/minmaxscaler.md | 6 +-
.../docs/operators/feature/onehotencoder.md | 6 +-
.../content/docs/operators/feature/robustscaler.md | 6 +-
.../docs/operators/feature/standardscaler.md | 6 +-
.../docs/operators/feature/stringindexer.md | 164 +-----------------
.../operators/feature/univariatefeatureselector.md | 14 +-
.../operators/feature/variancethresholdselector.md | 6 +-
.../docs/operators/feature/vectorassembler.md | 4 +-
.../content/docs/operators/feature/vectorslicer.md | 6 +-
15 files changed, 229 insertions(+), 203 deletions(-)
diff --git a/docs/content/docs/operators/feature/countvectorizer.md b/docs/content/docs/operators/feature/countvectorizer.md
index 3a640279..b6658c06 100644
--- a/docs/content/docs/operators/feature/countvectorizer.md
+++ b/docs/content/docs/operators/feature/countvectorizer.md
@@ -1,5 +1,5 @@
---
-title: "Count Vectorizer"
+title: "CountVectorizer"
weight: 1
type: docs
aliases:
@@ -23,7 +23,7 @@ specific language governing permissions dand limitations
under the License.
-->
-## Count Vectorizer
+## CountVectorizer
CountVectorizer is an algorithm that converts a collection of text
documents to vectors of token counts. When an a-priori dictionary is not
diff --git a/docs/content/docs/operators/feature/elementwiseproduct.md b/docs/content/docs/operators/feature/elementwiseproduct.md
index 6b4b2e9b..0021c15b 100644
--- a/docs/content/docs/operators/feature/elementwiseproduct.md
+++ b/docs/content/docs/operators/feature/elementwiseproduct.md
@@ -1,5 +1,5 @@
---
-title: "Elementwise Product"
+title: "ElementwiseProduct"
weight: 1
type: docs
aliases:
@@ -25,9 +25,9 @@ specific language governing permissions and limitations
under the License.
-->
-## Elementwise Product
+## ElementwiseProduct
-Elementwise Product multiplies each input vector with a given scaling vector using
+ElementwiseProduct multiplies each input vector with a given scaling vector using
Hadamard product. If the size of the input vector does not equal the size of the
scaling vector, the transformer will throw an IllegalArgumentException.
diff --git a/docs/content/docs/operators/feature/featurehasher.md b/docs/content/docs/operators/feature/featurehasher.md
index 5bb11002..e804d9ae 100644
--- a/docs/content/docs/operators/feature/featurehasher.md
+++ b/docs/content/docs/operators/feature/featurehasher.md
@@ -1,5 +1,5 @@
---
-title: "Feature Hasher"
+title: "FeatureHasher"
weight: 1
type: docs
aliases:
@@ -25,9 +25,9 @@ specific language governing permissions and limitations
under the License.
-->
-## Feature Hasher
+## FeatureHasher
-Feature Hasher transforms a set of categorical or numerical features into a sparse vector of
+FeatureHasher transforms a set of categorical or numerical features into a sparse vector of
a specified dimension. The rules of hashing categorical columns and numerical columns are as
follows:
diff --git a/docs/content/docs/operators/feature/indextostring.md b/docs/content/docs/operators/feature/indextostring.md
new file mode 100644
index 00000000..80e341e1
--- /dev/null
+++ b/docs/content/docs/operators/feature/indextostring.md
@@ -0,0 +1,184 @@
+---
+title: "IndexToString"
+weight: 1
+type: docs
+aliases:
+- /operators/feature/indextostring.html
+---
+
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+## IndexToString
+
+`IndexToStringModel` transforms input index column(s) to string column(s) using
+the model data computed by StringIndexer. It is a reverse operation of
+StringIndexerModel.
+
+### Input Columns
+
+| Param name | Type | Default | Description |
+| :--------- | :------ | :------ | :----------------------------------- |
+| inputCols | Integer | `null` | Indices to be transformed to string. |
+
+### Output Columns
+
+| Param name | Type | Default | Description |
+| :--------- | :----- | :------ | :------------------- |
+| outputCols | String | `null` | Transformed strings. |
+
+### Parameters
+
+Below are the parameters required by `StringIndexerModel`.
+
+| Key | Default | Type | Required | Description |
+| ---------- | ------- | ------ | -------- | -------------------- |
+| inputCols | `null` | String | yes | Input column names. |
+| outputCols | `null` | String | yes | Output column names. |
+
+### Examples
+
+{{< tabs index_to_string_examples >}}
+
+{{< tab "Java">}}
+
+```java
+import org.apache.flink.ml.feature.stringindexer.IndexToStringModel;
+import org.apache.flink.ml.feature.stringindexer.StringIndexerModelData;
+import org.apache.flink.streaming.api.datastream.DataStream;
+import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
+import org.apache.flink.table.api.Table;
+import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;
+import org.apache.flink.types.Row;
+import org.apache.flink.util.CloseableIterator;
+
+import java.util.Arrays;
+
+/**
+ * Simple program that creates an IndexToStringModelExample instance and uses it for feature
+ * engineering.
+ */
+public class IndexToStringModelExample {
+ public static void main(String[] args) {
+ StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
+ StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
+
+ // Creates model data for IndexToStringModel.
+ StringIndexerModelData modelData =
+ new StringIndexerModelData(
+ new String[][] {{"a", "b", "c", "d"}, {"-1.0", "0.0", "1.0", "2.0"}});
+ Table modelTable = tEnv.fromDataStream(env.fromElements(modelData)).as("stringArrays");
+
+ // Generates input data.
+ DataStream<Row> predictStream = env.fromElements(Row.of(0, 3), Row.of(1, 2));
+ Table predictTable = tEnv.fromDataStream(predictStream).as("inputCol1", "inputCol2");
+
+ // Creates an indexToStringModel object and initializes its parameters.
+ IndexToStringModel indexToStringModel =
+ new IndexToStringModel()
+ .setInputCols("inputCol1", "inputCol2")
+ .setOutputCols("outputCol1", "outputCol2")
+ .setModelData(modelTable);
+
+ // Uses the indexToStringModel object for feature transformations.
+ Table outputTable = indexToStringModel.transform(predictTable)[0];
+
+ // Extracts and displays the results.
+ for (CloseableIterator<Row> it = outputTable.execute().collect(); it.hasNext(); ) {
+ Row row = it.next();
+
+ int[] inputValues = new int[indexToStringModel.getInputCols().length];
+ String[] outputValues = new String[indexToStringModel.getInputCols().length];
+ for (int i = 0; i < inputValues.length; i++) {
+ inputValues[i] = (int) row.getField(indexToStringModel.getInputCols()[i]);
+ outputValues[i] = (String) row.getField(indexToStringModel.getOutputCols()[i]);
+ }
+
+ System.out.printf(
+ "Input Values: %s \tOutput Values: %s\n",
+ Arrays.toString(inputValues), Arrays.toString(outputValues));
+ }
+ }
+}
+
+```
+
+{{< /tab>}}
+
+{{< tab "Python">}}
+
+```python
+# Simple program that creates an IndexToStringModelExample instance and uses it
+# for feature engineering.
+
+from pyflink.common import Types
+from pyflink.datastream import StreamExecutionEnvironment
+from pyflink.ml.feature.stringindexer import IndexToStringModel
+from pyflink.table import StreamTableEnvironment
+
+# create a new StreamExecutionEnvironment
+env = StreamExecutionEnvironment.get_execution_environment()
+
+# create a StreamTableEnvironment
+t_env = StreamTableEnvironment.create(env)
+
+# generate input data
+predict_table = t_env.from_data_stream(
+ env.from_collection([
+ (0, 3),
+ (1, 2),
+ ],
+ type_info=Types.ROW_NAMED(
+ ['input_col1', 'input_col2'],
+ [Types.INT(), Types.INT()])
+ ))
+
+# create an index-to-string model and initialize its parameters and model data
+model_data_table = t_env.from_data_stream(
+ env.from_collection([
+ ([['a', 'b', 'c', 'd'], [-1., 0., 1., 2.]],),
+ ],
+ type_info=Types.ROW_NAMED(
+ ['stringArrays'],
+ [Types.OBJECT_ARRAY(Types.OBJECT_ARRAY(Types.STRING()))])
+ ))
+
+model = IndexToStringModel() \
+ .set_input_cols('input_col1', 'input_col2') \
+ .set_output_cols('output_col1', 'output_col2') \
+ .set_model_data(model_data_table)
+
+# use the index-to-string model for feature engineering
+output = model.transform(predict_table)[0]
+
+# extract and display the results
+field_names = output.get_schema().get_field_names()
+input_values = [None for _ in model.get_input_cols()]
+output_values = [None for _ in model.get_input_cols()]
+for result in t_env.to_data_stream(output).execute_and_collect():
+ for i in range(len(model.get_input_cols())):
+ input_values[i] = result[field_names.index(model.get_input_cols()[i])]
+ output_values[i] = result[field_names.index(model.get_output_cols()[i])]
+ print('Input Values: ' + str(input_values) + '\tOutput Values: ' + str(output_values))
+
+```
+
+{{< /tab>}}
+
+{{< /tabs>}}
diff --git a/docs/content/docs/operators/feature/maxabsscaler.md b/docs/content/docs/operators/feature/maxabsscaler.md
index d128440c..1c3d4fd9 100644
--- a/docs/content/docs/operators/feature/maxabsscaler.md
+++ b/docs/content/docs/operators/feature/maxabsscaler.md
@@ -1,5 +1,5 @@
---
-title: "Max Abs Scaler"
+title: "MaxAbsScaler"
weight: 1
type: docs
aliases:
@@ -25,9 +25,9 @@ specific language governing permissions and limitations
under the License.
-->
-## Max Abs Scaler
+## MaxAbsScaler
-Max Abs Scaler is an algorithm rescales feature values to the range [-1, 1]
+MaxAbsScaler is an algorithm rescales feature values to the range [-1, 1]
by dividing through the largest maximum absolute value in each feature.
It does not shift/center the data and thus does not destroy any sparsity.
diff --git a/docs/content/docs/operators/feature/minhashlsh.md b/docs/content/docs/operators/feature/minhashlsh.md
index b34709ea..5c3aee92 100644
--- a/docs/content/docs/operators/feature/minhashlsh.md
+++ b/docs/content/docs/operators/feature/minhashlsh.md
@@ -1,5 +1,5 @@
---
-title: "MinHash LSH"
+title: "MinHashLSH"
weight: 1
type: docs
aliases:
@@ -25,13 +25,13 @@ specific language governing permissions and limitations
under the License.
-->
-## MinHash LSH
+## MinHashLSH
-MinHash LSH is a Locality Sensitive Hashing (LSH) scheme for Jaccard distance metric.
+MinHashLSH is a Locality Sensitive Hashing (LSH) scheme for Jaccard distance metric.
The input features are sets of natural numbers represented as non-zero indices of vectors,
either dense vectors or sparse vectors. Typically, sparse vectors are more efficient.
-In addition to transforming input feature vectors to multiple hash values, the MinHash LSH
+In addition to transforming input feature vectors to multiple hash values, the MinHashLSH
model also supports approximate nearest neighbors search within a dataset regarding a key
vector and approximate similarity join between two datasets.
diff --git a/docs/content/docs/operators/feature/minmaxscaler.md b/docs/content/docs/operators/feature/minmaxscaler.md
index 07a70534..b4427b62 100644
--- a/docs/content/docs/operators/feature/minmaxscaler.md
+++ b/docs/content/docs/operators/feature/minmaxscaler.md
@@ -1,5 +1,5 @@
---
-title: "Min Max Scaler"
+title: "MinMaxScaler"
weight: 1
type: docs
aliases:
@@ -25,9 +25,9 @@ specific language governing permissions and limitations
under the License.
-->
-## Min Max Scaler
+## MinMaxScaler
-Min Max Scaler is an algorithm that rescales feature values to a common range
+MinMaxScaler is an algorithm that rescales feature values to a common range
[min, max] which defined by user.
### Input Columns
diff --git a/docs/content/docs/operators/feature/onehotencoder.md b/docs/content/docs/operators/feature/onehotencoder.md
index 240a9573..32ff2ffa 100644
--- a/docs/content/docs/operators/feature/onehotencoder.md
+++ b/docs/content/docs/operators/feature/onehotencoder.md
@@ -1,5 +1,5 @@
---
-title: "One Hot Encoder"
+title: "OneHotEncoder"
weight: 1
type: docs
aliases:
@@ -24,9 +24,9 @@ specific language governing permissions and limitations
under the License.
-->
-## One Hot Encoder
+## OneHotEncoder
-One-hot encoding maps a categorical feature, represented as a label index, to a
+OneHotEncoder maps a categorical feature, represented as a label index, to a
binary vector with at most a single one-value indicating the presence of a
specific feature value from among the set of all feature values. This encoding
allows algorithms that expect continuous features, such as Logistic Regression,
diff --git a/docs/content/docs/operators/feature/robustscaler.md b/docs/content/docs/operators/feature/robustscaler.md
index fda7edbf..a37085dd 100644
--- a/docs/content/docs/operators/feature/robustscaler.md
+++ b/docs/content/docs/operators/feature/robustscaler.md
@@ -1,5 +1,5 @@
---
-title: "Robust Scaler"
+title: "RobustScaler"
weight: 1
type: docs
aliases:
@@ -25,9 +25,9 @@ specific language governing permissions and limitations
under the License.
-->
-## Robust Scaler
+## RobustScaler
-Robust Scaler is an algorithm that scales features using statistics that are
+RobustScaler is an algorithm that scales features using statistics that are
robust to outliers.
This Scaler removes the median and scales the data according to the quantile
diff --git a/docs/content/docs/operators/feature/standardscaler.md b/docs/content/docs/operators/feature/standardscaler.md
index 9d726c9c..55879d35 100644
--- a/docs/content/docs/operators/feature/standardscaler.md
+++ b/docs/content/docs/operators/feature/standardscaler.md
@@ -1,5 +1,5 @@
---
-title: "Standard Scaler"
+title: "StandardScaler"
weight: 1
type: docs
aliases:
@@ -25,9 +25,9 @@ specific language governing permissions and limitations
under the License.
-->
-## Standard Scaler
+## StandardScaler
-Standard Scaler is an algorithm that standardizes the input features by removing
+StandardScaler is an algorithm that standardizes the input features by removing
the mean and scaling each dimension to unit variance.
### Input Columns
diff --git a/docs/content/docs/operators/feature/stringindexer.md b/docs/content/docs/operators/feature/stringindexer.md
index 5fbaf60f..10e02dc1 100644
--- a/docs/content/docs/operators/feature/stringindexer.md
+++ b/docs/content/docs/operators/feature/stringindexer.md
@@ -1,5 +1,5 @@
---
-title: "String Indexer"
+title: "StringIndexer"
weight: 1
type: docs
aliases:
@@ -25,9 +25,9 @@ specific language governing permissions and limitations
under the License.
-->
-## String Indexer
+## StringIndexer
-String Indexer maps one or more columns (string/numerical value) of the input to
+StringIndexer maps one or more columns (string/numerical value) of the input to
one or more indexed output columns (integer value). The output indices of two
data points are the same iff their corresponding input columns are the same. The
indices are in [0, numDistinctValuesInThisColumn].
@@ -216,161 +216,3 @@ for result in t_env.to_data_stream(output).execute_and_collect():
{{< /tab>}}
{{< /tabs>}}
-
-## Index To String
-
-`IndexToStringModel` transforms input index column(s) to string column(s) using
-the model data computed by StringIndexer. It is a reverse operation of
-StringIndexerModel.
-
-### Input Columns
-
-| Param name | Type | Default | Description |
-| :--------- | :------ | :------ | :----------------------------------- |
-| inputCols | Integer | `null` | Indices to be transformed to string. |
-
-### Output Columns
-
-| Param name | Type | Default | Description |
-| :--------- | :----- | :------ | :------------------- |
-| outputCols | String | `null` | Transformed strings. |
-
-### Parameters
-
-Below are the parameters required by `StringIndexerModel`.
-
-| Key | Default | Type | Required | Description |
-| ---------- | ------- | ------ | -------- | -------------------- |
-| inputCols | `null` | String | yes | Input column names. |
-| outputCols | `null` | String | yes | Output column names. |
-
-### Examples
-
-{{< tabs index_to_string_examples >}}
-
-{{< tab "Java">}}
-
-```java
-import org.apache.flink.ml.feature.stringindexer.IndexToStringModel;
-import org.apache.flink.ml.feature.stringindexer.StringIndexerModelData;
-import org.apache.flink.streaming.api.datastream.DataStream;
-import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
-import org.apache.flink.table.api.Table;
-import org.apache.flink.table.api.bridge.java.StreamTableEnvironment;
-import org.apache.flink.types.Row;
-import org.apache.flink.util.CloseableIterator;
-
-import java.util.Arrays;
-
-/**
- * Simple program that creates an IndexToStringModelExample instance and uses it for feature
- * engineering.
- */
-public class IndexToStringModelExample {
- public static void main(String[] args) {
- StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
- StreamTableEnvironment tEnv = StreamTableEnvironment.create(env);
-
- // Creates model data for IndexToStringModel.
- StringIndexerModelData modelData =
- new StringIndexerModelData(
- new String[][] {{"a", "b", "c", "d"}, {"-1.0", "0.0", "1.0", "2.0"}});
- Table modelTable = tEnv.fromDataStream(env.fromElements(modelData)).as("stringArrays");
-
- // Generates input data.
- DataStream<Row> predictStream = env.fromElements(Row.of(0, 3), Row.of(1, 2));
- Table predictTable = tEnv.fromDataStream(predictStream).as("inputCol1", "inputCol2");
-
- // Creates an indexToStringModel object and initializes its parameters.
- IndexToStringModel indexToStringModel =
- new IndexToStringModel()
- .setInputCols("inputCol1", "inputCol2")
- .setOutputCols("outputCol1", "outputCol2")
- .setModelData(modelTable);
-
- // Uses the indexToStringModel object for feature transformations.
- Table outputTable = indexToStringModel.transform(predictTable)[0];
-
- // Extracts and displays the results.
- for (CloseableIterator<Row> it = outputTable.execute().collect(); it.hasNext(); ) {
- Row row = it.next();
-
- int[] inputValues = new int[indexToStringModel.getInputCols().length];
- String[] outputValues = new String[indexToStringModel.getInputCols().length];
- for (int i = 0; i < inputValues.length; i++) {
- inputValues[i] = (int) row.getField(indexToStringModel.getInputCols()[i]);
- outputValues[i] = (String) row.getField(indexToStringModel.getOutputCols()[i]);
- }
-
- System.out.printf(
- "Input Values: %s \tOutput Values: %s\n",
- Arrays.toString(inputValues), Arrays.toString(outputValues));
- }
- }
-}
-
-```
-
-{{< /tab>}}
-
-{{< tab "Python">}}
-
-```python
-# Simple program that creates an IndexToStringModelExample instance and uses it
-# for feature engineering.
-
-from pyflink.common import Types
-from pyflink.datastream import StreamExecutionEnvironment
-from pyflink.ml.feature.stringindexer import IndexToStringModel
-from pyflink.table import StreamTableEnvironment
-
-# create a new StreamExecutionEnvironment
-env = StreamExecutionEnvironment.get_execution_environment()
-
-# create a StreamTableEnvironment
-t_env = StreamTableEnvironment.create(env)
-
-# generate input data
-predict_table = t_env.from_data_stream(
- env.from_collection([
- (0, 3),
- (1, 2),
- ],
- type_info=Types.ROW_NAMED(
- ['input_col1', 'input_col2'],
- [Types.INT(), Types.INT()])
- ))
-
-# create an index-to-string model and initialize its parameters and model data
-model_data_table = t_env.from_data_stream(
- env.from_collection([
- ([['a', 'b', 'c', 'd'], [-1., 0., 1., 2.]],),
- ],
- type_info=Types.ROW_NAMED(
- ['stringArrays'],
- [Types.OBJECT_ARRAY(Types.OBJECT_ARRAY(Types.STRING()))])
- ))
-
-model = IndexToStringModel() \
- .set_input_cols('input_col1', 'input_col2') \
- .set_output_cols('output_col1', 'output_col2') \
- .set_model_data(model_data_table)
-
-# use the index-to-string model for feature engineering
-output = model.transform(predict_table)[0]
-
-# extract and display the results
-field_names = output.get_schema().get_field_names()
-input_values = [None for _ in model.get_input_cols()]
-output_values = [None for _ in model.get_input_cols()]
-for result in t_env.to_data_stream(output).execute_and_collect():
- for i in range(len(model.get_input_cols())):
- input_values[i] = result[field_names.index(model.get_input_cols()[i])]
- output_values[i] = result[field_names.index(model.get_output_cols()[i])]
- print('Input Values: ' + str(input_values) + '\tOutput Values: ' + str(output_values))
-
-```
-
-{{< /tab>}}
-
-{{< /tabs>}}
diff --git a/docs/content/docs/operators/feature/univariatefeatureselector.md b/docs/content/docs/operators/feature/univariatefeatureselector.md
index 780db2ff..873919e2 100644
--- a/docs/content/docs/operators/feature/univariatefeatureselector.md
+++ b/docs/content/docs/operators/feature/univariatefeatureselector.md
@@ -1,5 +1,5 @@
---
-title: "Univariate Feature Selector"
+title: "UnivariateFeatureSelector"
weight: 1
type: docs
aliases:
@@ -25,12 +25,12 @@ specific language governing permissions and limitations
under the License.
-->
-## Univariate Feature Selector
-Univariate Feature Selector is an algorithm that selects features based on
+## UnivariateFeatureSelector
+UnivariateFeatureSelector is an algorithm that selects features based on
univariate statistical tests against labels.
-Currently, Flink supports three Univariate Feature Selectors: chi-squared,
-ANOVA F-test and F-value. User can choose Univariate Feature Selector by
+Currently, Flink supports three UnivariateFeatureSelectors: chi-squared,
+ANOVA F-test and F-value. User can choose UnivariateFeatureSelector by
setting `featureType` and `labelType`, and Flink will pick the score function
based on the specified `featureType` and `labelType`.
@@ -45,7 +45,7 @@ The following combination of `featureType` and `labelType` are supported:
F-value, i.e. f_regression in sklearn.
</ul>
-Univariate Feature Selector supports different selection modes:
+UnivariateFeatureSelector supports different selection modes:
<ul>
<li>numTopFeatures: chooses a fixed number of top features according to a
@@ -219,4 +219,4 @@ for result in t_env.to_data_stream(output).execute_and_collect():
print('Input Value: ' + str(result[input_index]) +
'\tOutput Value: ' + str(result[output_index]))
-```
\ No newline at end of file
+```
diff --git a/docs/content/docs/operators/feature/variancethresholdselector.md b/docs/content/docs/operators/feature/variancethresholdselector.md
index 19dcc855..5cd9a2f1 100644
--- a/docs/content/docs/operators/feature/variancethresholdselector.md
+++ b/docs/content/docs/operators/feature/variancethresholdselector.md
@@ -1,5 +1,5 @@
---
-title: "Variance Threshold Selector"
+title: "VarianceThresholdSelector"
weight: 1
type: docs
aliases:
@@ -25,9 +25,9 @@ specific language governing permissions and limitations
under the License.
-->
-## Variance Threshold Selector
+## VarianceThresholdSelector
-Variance Threshold Selector is a selector that removes low-variance features.
+VarianceThresholdSelector is a selector that removes low-variance features.
Features with a variance not greater than the varianceThreshold will be removed.
If not set, varianceThreshold defaults to 0, which means only features with
variance 0 (i.e. features that have the same value in all samples) will be removed.
diff --git a/docs/content/docs/operators/feature/vectorassembler.md b/docs/content/docs/operators/feature/vectorassembler.md
index f84736d4..2877e419 100644
--- a/docs/content/docs/operators/feature/vectorassembler.md
+++ b/docs/content/docs/operators/feature/vectorassembler.md
@@ -1,5 +1,5 @@
---
-title: "Vector Assembler"
+title: "VectorAssembler"
weight: 1
type: docs
aliases:
@@ -25,7 +25,7 @@ specific language governing permissions and limitations
under the License.
-->
-## Vector Assembler
+## VectorAssembler
A Transformer which combines a given list of input columns into a vector column. Input columns
would be numerical or vectors whose sizes are specified by the {@link #INPUT_SIZES} parameter.
Invalid input data with null values or values with wrong sizes would be dealt with according to
diff --git a/docs/content/docs/operators/feature/vectorslicer.md b/docs/content/docs/operators/feature/vectorslicer.md
index 1f9444e0..c7965e0c 100644
--- a/docs/content/docs/operators/feature/vectorslicer.md
+++ b/docs/content/docs/operators/feature/vectorslicer.md
@@ -1,5 +1,5 @@
---
-title: "Vector Slicer"
+title: "VectorSlicer"
weight: 1
type: docs
aliases:
@@ -25,9 +25,9 @@ specific language governing permissions and limitations
under the License.
-->
-## Vector Slicer
+## VectorSlicer
-Vector Slicer transforms a vector to a new feature, which is a sub-array of the original
+VectorSlicer transforms a vector to a new feature, which is a sub-array of the original
feature. It is useful for extracting features from a given vector.
Note that duplicate features are not allowed, so there can be no overlap between selected