Dans le champ Classes, saisissez le code pour définir les classes Java à utiliser afin de vérifier si les libellés de classe prédits correspondent aux libellés réels des classes,
spam pour les messages indésirables et ham pour les messages normaux.
Dans ce scénario, row7 est l'ID de la connexion entre le tPredict et le tReplicate et contient les résultats de classification à envoyer aux composants suivants. row7Struct est la classe Java du RDD pour les résultats de classification. Dans votre code, vous devez remplacer row7, utilisé seul ou au sein de row7Struct, par l'ID de la connexion utilisée dans votre Job.
Les noms des colonnes, comme reallabel ou label ont été définis dans l'étape précédente lors de la configuration des différents composants. Si vous les avez nommées différemment, gardez la cohérence pour utilisation dans votre code.
public static class SpamFilterFunction implements
org.apache.spark.api.java.function.Function<row7Struct, Boolean>{
private static final long serialVersionUID = 1L;
@Override
public Boolean call(row7Struct row7) throws Exception {
return row7.reallabel.equals("spam");
}
}
// 'negative': ham
// 'positive': spam
// 'false' means the real label & predicted label are different
// 'true' means the real label & predicted label are the same
public static class TrueNegativeFunction implements
org.apache.spark.api.java.function.Function<row7Struct, Boolean>{
private static final long serialVersionUID = 1L;
@Override
public Boolean call(row7Struct row7) throws Exception {
return (row7.label.equals("ham") && row7.reallabel.equals("ham"));
}
}
public static class TruePositiveFunction implements
org.apache.spark.api.java.function.Function<row7Struct, Boolean>{
private static final long serialVersionUID = 1L;
@Override
public Boolean call(row7Struct row7) throws Exception {
// true positive cases
return (row7.label.equals("spam") && row7.reallabel.equals("spam"));
}
}
public static class FalseNegativeFunction implements
org.apache.spark.api.java.function.Function<row7Struct, Boolean>{
private static final long serialVersionUID = 1L;
@Override
public Boolean call(row7Struct row7) throws Exception {
// false positive cases
return (row7.label.equals("spam") && row7.reallabel.equals("ham"));
}
}
public static class FalsePositiveFunction implements
org.apache.spark.api.java.function.Function<row7Struct, Boolean>{
private static final long serialVersionUID = 1L;
@Override
public Boolean call(row7Struct row7) throws Exception {
// false positive cases
return (row7.label.equals("ham") && row7.reallabel.equals("spam"));
}
}