Skip to content

Commit

Permalink
Changed the option "Classes" to "ClassLabeles".
Browse files Browse the repository at this point in the history
  • Loading branch information
antononcube committed May 4, 2018
1 parent cf40463 commit 729141c
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 9 deletions.
19 changes: 15 additions & 4 deletions MonadicProgramming/MonadicContextualClassification.m
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,8 @@ Mathematica is (C) Copyright 1988-2017 Wolfram Research, Inc.

ClConTakeClassifier::usage = "Gives the classifier as non-monadic value."

ClConTakeROCData::usage = "Gives the ROC data as non-monadic value."

ClConTakeVariableNames::usage = "Finds the variable names and returns them as a non-monadic value."

ClConGetVariableNames::usage = "Finds the variable names and puts them as the pipeline value. Does not modify the context."
Expand Down Expand Up @@ -419,6 +421,8 @@ Mathematica is (C) Copyright 1988-2017 Wolfram Research, Inc.
(* Setters / getters *)
(**************************************************************)

ClearAll["ClConSet*","ClConTake*"];

ClConSetTrainingData[___][$ClConFailure] := $ClConFailure;
ClConSetTrainingData[xs_, context_Association] := $ClConFailure;
ClConSetTrainingData[data_][xs_, context_Association] :=
Expand Down Expand Up @@ -466,6 +470,11 @@ Mathematica is (C) Copyright 1988-2017 Wolfram Research, Inc.
ClConTakeClassifier[][xs_, context_] := ClConTakeClassifier[xs, context];
ClConTakeClassifier[xs_, context_Association] := context["classifier"];

ClConTakeROCData[___][$ClConFailure] := $ClConFailure;
ClConTakeROCData[$ClConFailure] := $ClConFailure;
ClConTakeROCData[][xs_, context_] := ClConTakeROCData[xs, context];
ClConTakeROCData[xs_, context_Association] := context["rocData"];


ClConTakeClassLabelIndex[___][$ClConFailure] := $ClConFailure;
ClConTakeClassLabelIndex[][xs_, context_Association] := ClConTakeClassLabelIndex[Automatic][xs, context];
Expand Down Expand Up @@ -755,6 +764,8 @@ Mathematica is (C) Copyright 1988-2017 Wolfram Research, Inc.

ClConMakeClassifier[][xs_, context_] := ClConMakeClassifier["LogisticRegression"][xs, context];

ClConMakeClassifier[opts:OptionsPattern[]][xs_, context_] := ClConMakeClassifier[Automatic,opts][xs, context];

ClConMakeClassifier[methodSpecArg_?ClConMethodSpecQ, opts:OptionsPattern[]][xs_, context_] :=
Block[{cf, dataAssoc, newContext, methodSpec = methodSpecArg},

Expand Down Expand Up @@ -1122,19 +1133,19 @@ Mathematica is (C) Copyright 1988-2017 Wolfram Research, Inc.
(************************************************************)
ClearAll[ClConAccuracyByVariableShuffling];

Options[ClConAccuracyByVariableShuffling] = { "Classes" -> None };
Options[ClConAccuracyByVariableShuffling] = { "ClassLabels" -> None };

ClConAccuracyByVariableShuffling[$ClConFailure] := $ClConFailure;
ClConAccuracyByVariableShuffling[___][$ClConFailure] := $ClConFailure;

ClConAccuracyByVariableShuffling[xs_, context_Association] :=
ClConAccuracyByVariableShuffling["Classes" -> None][xs, context];
ClConAccuracyByVariableShuffling["ClassLabels" -> None][xs, context];

ClConAccuracyByVariableShuffling[][xs_, context_] :=
ClConAccuracyByVariableShuffling["Classes" -> None][xs, context];
ClConAccuracyByVariableShuffling["ClassLabels" -> None][xs, context];

ClConAccuracyByVariableShuffling[opts : OptionsPattern[]][xs_, context_] :=
Block[{fsClasses = FilterRules[{opts}, "Classes"]},
Block[{fsClasses = FilterRules[{opts}, "ClassLabels"]},

If[Length[fsClasses] == 0 || fsClasses === Automatic, fsClasses = None];

Expand Down
12 changes: 7 additions & 5 deletions VariableImportanceByClassifiers.m
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,8 @@ Mathematica is (C) Copyright 1988-2015 Wolfram Research, Inc.
Made it work with classifier ensembles.
Replaced the name of the option "FScoreLabels" with "Classes".
2018-05-03
Replaced "Classes" with "ClassLabels".
*)


Expand All @@ -184,7 +186,7 @@ The result is an Association object with keys the damaged column names of testDa

(*Needs["ClassifierEnsembles`"]*)

AccuracyByVariableShuffling::nfsc = "The option \"FScoreLabels\" is obsolete; use \"Classes\" instead.";
AccuracyByVariableShuffling::nfsc = "The option \"FScoreLabels\" is obsolete; use \"ClassLabels\" instead.";

Clear[ClassifierQ, ClassifierDataQ, AccuracyByVariableShuffling]

Expand All @@ -198,7 +200,7 @@ The result is an Association object with keys the damaged column names of testDa

AccuracyByVariableShuffling::varnames = "The third argument (variableNames) is expected to be Automatic or a list of strings."

Options[AccuracyByVariableShuffling] = { "FScoreLabels" -> None, "Classes" -> None };
Options[AccuracyByVariableShuffling] = { "FScoreLabels" -> None, "ClassLabels" -> None };

AccuracyByVariableShuffling[ clFunc_?ClassifierQ, testData_?ClassifierDataQ, variableNames_:Automatic, opts:OptionsPattern[] ] :=
Block[{ baseAccuracy, tmat, shuffledTestSets, accuraciesOfShuffledTestSets, varNames, fscoreLabels, targetClasses },
Expand All @@ -208,7 +210,7 @@ The result is an Association object with keys the damaged column names of testDa
Message[AccuracyByVariableShuffling::nfsc];
];

targetClasses = OptionValue["Classes"];
targetClasses = OptionValue["ClassLabels"];
If[ TrueQ[ targetClasses =!= None ] && AtomQ[targetClasses], targetClasses = {targetClasses} ];

If[targetClasses === None && fscoreLabels =!= None, targetClasses = fscoreLabels ];
Expand Down Expand Up @@ -246,7 +248,7 @@ The result is an Association object with keys the damaged column names of testDa
baseAccuracy = ClassifierEnsembles`EnsembleClassifierMeasurements[ clFunc, testData, "Accuracy"],

targetClasses =!= None,
baseAccuracy = ClassifierEnsembles`EnsembleClassifierMeasurements[ clFunc, testData, "Precision", "Classes"->targetClasses];
baseAccuracy = ClassifierEnsembles`EnsembleClassifierMeasurements[ clFunc, testData, "Precision", "ClassLabels"->targetClasses];
baseAccuracy = baseAccuracy /@ targetClasses;
];

Expand Down Expand Up @@ -275,7 +277,7 @@ The result is an Association object with keys the damaged column names of testDa

targetClasses =!= None,
accuraciesOfShuffledTestSets =
ClassifierEnsembles`EnsembleClassifierMeasurements[clFunc, #, "Precision", "Classes"->targetClasses] & /@ shuffledTestSets;
ClassifierEnsembles`EnsembleClassifierMeasurements[clFunc, #, "Precision", "ClassLabels"->targetClasses] & /@ shuffledTestSets;
accuraciesOfShuffledTestSets = Map[ # /@ targetClasses &, accuraciesOfShuffledTestSets];
];

Expand Down

0 comments on commit 729141c

Please sign in to comment.