[
https://issues.apache.org/jira/browse/FLINK-9664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16573222#comment-16573222
]
ASF GitHub Bot commented on FLINK-9664:
---------------------------------------
azagrebin commented on a change in pull request #6425: [FLINK-9664][Doc] fixing
documentation in ML quick start
URL: https://github.com/apache/flink/pull/6425#discussion_r208576999
##########
File path: docs/dev/libs/ml/quickstart.md
##########
@@ -129,6 +129,10 @@ and the [test set
here](http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/b
This is an astroparticle binary classification dataset, used by Hsu et al.
[[3]](#hsu) in their
practical Support Vector Machine (SVM) guide. It contains 4 numerical
features, and the class label.
+Before importing the traning and test dataset, Flink SVM only supports
threshold binary values of
+`+1.0` and `-1.0`. Thus a conversion is needed upon downloading the svmguide1
dataset since it is
+labelled using `1`s and `0`s.
+
Review comment:
I think this section belongs to the beginning of the next one
`Classification`, because it is about LibSVM format.
The code example of conversion could be also provided to make the example
fully 'copy-paste' runnable.
Small thing is also typo in `traning` -> `training`.
I would suggest to modify the code example in this `LibSVM files` section
like this:
```
val astroTrainLibSVM: DataSet[LabeledVector] = MLUtils.readLibSVM(env,
"/path/to/svmguide1")
val astroTestLibSVM: DataSet[LabeledVector] = MLUtils.readLibSVM(env,
"/path/to/svmguide1.t")
```
to have no SVM training specifics here, and add something like this to the
beginning of `Classification` section:
_... After importing the training and test dataset, the data needs to be
prepared for the classification, because Flink SVM only supports ... conversion
is needed after downloading ..._
And then the code example:
```
def svmNormaliser : LabeledVector => LabeledVector =
lv => LabeledVector(if (lv.label > 0.0) 1.0 else -1.0, lv.vector)
val astroTrain: DataSet[LabeledVector] = astroTrainLibSVM.map(svmNormaliser)
val astroTest: DataSet[(Vector, Double)] =
astroTestLibSVM.map(svmNormaliser).map(x => (x.vector, x.label))
```
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> FlinkML Quickstart Loading Data section example doesn't work as described
> -------------------------------------------------------------------------
>
> Key: FLINK-9664
> URL: https://issues.apache.org/jira/browse/FLINK-9664
> Project: Flink
> Issue Type: Bug
> Components: Documentation, Machine Learning Library
> Affects Versions: 1.5.0
> Reporter: Mano Swerts
> Assignee: Rong Rong
> Priority: Major
> Labels: documentation-update, machine_learning, ml,
> pull-request-available
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> The ML documentation example isn't complete:
> [https://ci.apache.org/projects/flink/flink-docs-release-1.5/dev/libs/ml/quickstart.html#loading-data]
> The referred section loads data from an astroparticle binary classification
> dataset to showcase SVM. The dataset uses 0 and 1 as labels, which doesn't
> produce correct results. The SVM predictor expects -1 and 1 labels to
> correctly predict the label. The documentation, however, doesn't mention
> that. The example therefore doesn't work without a clue why.
> The documentation should be updated with an explicit mention to -1 and 1
> labels and a mapping function that shows the conversion of the labels.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)