Closed
Description
In the arguments classes there are several arguments that get translated to the same parameter for the estimators/transforms.
One of the variant is a convenience for the command line version of ML.Net.
I think those can be made internal, and kept away from the user for v1.
Example:
ValueToKeyMappingTransformer.ArgumentsBase
public abstract class ArgumentsBase : TransformInputBase
{
[Argument(ArgumentType.AtMostOnce, HelpText = "Maximum number of terms to keep per column when auto-training", ShortName = "max", SortOrder = 5)]
public int MaxNumTerms = ValueToKeyMappingEstimator.Defaults.MaxNumTerms;
[Argument(ArgumentType.AtMostOnce, HelpText = "Comma separated list of terms", SortOrder = 105, Visibility = ArgumentAttribute.VisibilityType.CmdLineOnly)]
public string Terms;
[Argument(ArgumentType.AtMostOnce, HelpText = "List of terms", SortOrder = 106, Visibility = ArgumentAttribute.VisibilityType.EntryPointsOnly)]
public string[] Term;
I don't think our API users should see the first
public string Terms
Metadata
Metadata
Assignees
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
najeeb-kazmi commentedon Jan 12, 2019
The other two occurrences of this are:
CustomStopWordsRemovingTransform.ArgumentsBase
and
TermLoaderArguments
Zruty0 commentedon Jan 13, 2019
I would say that the name
Term
for a 'list of terms' is not ideal either.glebuk commentedon Jan 25, 2019
Related to #2079 and #2041
artidoro commentedon Jan 30, 2019
After further investigating, it seems that the above Arguments classes should be made internal. They are only used by the entrypoints API. We are using other objects to set the parameters of the estimators (either direct definition of the parameters in the constructors, or through a ColumnInfo object).
artidoro commentedon Feb 13, 2019
The only transform that still has public Options class (former Arguments class) is the
TensorFlowTransformer
and it does not have command line oriented arguments.The remaining transform either use the
ColumnInfo
object or don't have advanced settings that cannot be set from the constructor directly. So we have made the Options class internal in those cases.This issue can therefore be considered closed.