Skip to content

Documentation for BinaryClassification.AveragedPerceptron (V2) #2517

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 16 commits into from
Feb 14, 2019

Conversation

shmoradims
Copy link

#2483 got messed up with a bad rebase. Recreating the PR here.

Docs & sample for BinaryClassification.AveragedPerceptron. Related to #1209.

@@ -41,12 +41,21 @@ public sealed class AveragedPerceptronTrainer : AveragedLinearTrainer<BinaryPred

public sealed class Options : AveragedLinearArguments
{
/// <summary>
/// The custom <a href="tmpurl_loss">loss</a>.
Copy link
Contributor

@Ivanidzo4ka Ivanidzo4ka Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tmpurl_loss [](start = 36, length = 11)

What's the story with this tmpurl? #Resolved

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shahab is working on a concepts doc. Those tmpUrl are placeholders for referencing those concepts.


In reply to: 256202773 [](ancestors = 256202773)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please see #2356


In reply to: 256251776 [](ancestors = 256251776,256202773)

Copy link
Contributor

@Ivanidzo4ka Ivanidzo4ka left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@codecov
Copy link

codecov bot commented Feb 13, 2019

Codecov Report

Merging #2517 into master will decrease coverage by 0.02%.
The diff coverage is 21.42%.

@@            Coverage Diff             @@
##           master    #2517      +/-   ##
==========================================
- Coverage   71.45%   71.42%   -0.03%     
==========================================
  Files         800      801       +1     
  Lines      141700   141749      +49     
  Branches    16135    16135              
==========================================
- Hits       101247   101240       -7     
- Misses      35987    36041      +54     
- Partials     4466     4468       +2
Flag Coverage Δ
#Debug 71.42% <21.42%> (-0.03%) ⬇️
#production 67.72% <15.38%> (-0.04%) ⬇️
#test 85.49% <100%> (-0.01%) ⬇️

// Setting the seed to a fixed number in this example to make outputs deterministic.
var mlContext = new MLContext(seed: 0);

// Download and featurize the dataset
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

// Downl [](start = 12, length = 8)

Period at the end of all comments. #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


In reply to: 256221898 [](ancestors = 256221898)

var metrics = mlContext.BinaryClassification.EvaluateNonCalibrated(dataWithPredictions, "IsOver50K");
SamplesUtils.ConsoleUtils.PrintMetrics(metrics);

// Output:
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Output [](start = 15, length = 6)

Expected output, then an extra space on the output below. #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


In reply to: 256221990 [](ancestors = 256221990)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add space between Expected output and line below it.


In reply to: 256538945 [](ancestors = 256538945,256221990)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not sure what you mean. This is how other samples look like.


In reply to: 256622797 [](ancestors = 256622797,256538945,256221990)

"occupation", "relationship", "ethnicity", "native-country", "age", "education-num",
"capital-gain", "capital-loss", "hours-per-week"))
// Min-max normalized all the features
.Append(mlContext.Transforms.Normalize("Features"));
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.Append [](start = 16, length = 7)

Can you add a CopyColumns("Label", "IsOver50K")? That way you don't have to specify the label or remember what it is. #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


In reply to: 256222438 [](ancestors = 256222438)

@@ -190,17 +190,46 @@ public static class StandardLearnersCatalog
}

/// <summary>
/// Predict a target using a linear binary classification model trained with the AveragedPerceptron trainer.
/// Predict a target using a linear binary classification model trained with averaged perceptron trainer.
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


In reply to: 256222543 [](ancestors = 256222543)

/// </summary>
/// <remarks>
/// Perceptron is a classification algorithm that makes its predictions by finding a separating hyperplane.
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perceptron [](start = 12, length = 11)

The Perceptron #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


In reply to: 256222592 [](ancestors = 256222592)

///
/// The perceptron is an online algorithm, which means it processes the instances in the training set one at a time.
/// It starts with a set of initial weights (zero, random, or initialized from a previous learner). Then, for each example in the training set, the weighted sum of the features (sigma[0, D-1] (w_i * f_i)) is computed.
/// If this value has the same sign as the label of the current example, the weights remain the same.If they have opposite signs,
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

.If [](start = 108, length = 4)

Space on "same. If" #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good eyes


In reply to: 256222755 [](ancestors = 256222755)

/// The perceptron is an online algorithm, which means it processes the instances in the training set one at a time.
/// It starts with a set of initial weights (zero, random, or initialized from a previous learner). Then, for each example in the training set, the weighted sum of the features (sigma[0, D-1] (w_i * f_i)) is computed.
/// If this value has the same sign as the label of the current example, the weights remain the same.If they have opposite signs,
/// the weights vector is updated by either subtracting or adding (if the label is negative or positive, respectively) the feature vector of the current example,
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

subtracting or adding [](start = 52, length = 21)

"adding or subtracting" (common form of speech) #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


In reply to: 256222892 [](ancestors = 256222892)

/// It starts with a set of initial weights (zero, random, or initialized from a previous learner). Then, for each example in the training set, the weighted sum of the features (sigma[0, D-1] (w_i * f_i)) is computed.
/// If this value has the same sign as the label of the current example, the weights remain the same.If they have opposite signs,
/// the weights vector is updated by either subtracting or adding (if the label is negative or positive, respectively) the feature vector of the current example,
/// multiplied by a factor 0 &lt; a &lt;= 1, called the learning rate.In a generalization of this algorithm, the weights are updated by adding the feature vector multiplied by the learning rate,
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

e.In [](start = 76, length = 5)

Space #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


In reply to: 256222984 [](ancestors = 256222984)

/// <param name="catalog">The binary classification catalog trainer object.</param>
/// <param name="labelColumn">The name of the label column, or dependent variable.</param>
/// <param name="featureColumn">The features, or independent variables.</param>
/// <param name="lossFunction">The custom loss.</param>
/// <param name="lossFunction">The custom <a href="tmpurl_loss">loss</a>. If <see langword="null"/>, hinge loss will be used resulting in max-margin averaged perceptron.</param>
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The [](start = 38, length = 4)

A custom #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


In reply to: 256223351 [](ancestors = 256223351)

@rogancarr
Copy link
Contributor

rogancarr commented Feb 13, 2019

        IClassificationLoss lossFunction = null,

How do we make one of these? Do we want to have these public? #Resolved


Refers to: src/Microsoft.ML.StandardLearners/StandardLearnersCatalog.cs:238 in 59673b8. [](commit_id = 59673b8, deletion_comment = False)

@@ -219,10 +248,18 @@ public static class StandardLearnersCatalog
}

/// <summary>
/// Predict a target using a linear binary classification model trained with the AveragedPerceptron trainer.
/// Predict a target using a linear binary classification model trained with averaged perceptron trainer using advanced options.
/// For usage details, please see <see cref="AveragedPerceptron(BinaryClassificationCatalog.BinaryClassificationTrainers, string, string, string, IClassificationLoss, float, bool, float, int)"/>
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For usage details [](start = 12, length = 17)

This goes in remarks, so it doesn't show up in the table of contents. #Resolved

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1


In reply to: 256223581 [](ancestors = 256223581)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved


In reply to: 256250971 [](ancestors = 256250971,256223581)

@@ -17,38 +17,89 @@ namespace Microsoft.ML.Trainers.Online
{
public abstract class AveragedLinearArguments : OnlineLinearArguments
{
/// <summary>
/// <a href="tmpurl_lr">Learning rate</a>.
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Learning rate [](start = 32, length = 13)

Remarks? #Resolved

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, if it is short, it can stay in summary. This does need more text, if that's what you mean by remarks.


In reply to: 256223629 [](ancestors = 256223629)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i was thinking the same as Senja. The remark will be simply the link, so we might as well leave it in the summary.


In reply to: 256251344 [](ancestors = 256251344,256223629)

/// Determine whether to decrease the <see cref="LearningRate"/> or not.
/// </summary>
/// <value>
/// <see langword="true" /> to decrease the <see cref="LearningRate"/> as iterations progress; otherwise, <see langword="false" />.
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

<see lan [](start = 12, length = 8)

Remarks on exactly how it decreases? #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added


In reply to: 256223703 [](ancestors = 256223703)

// - Prediction calibration to produce probabilities. Off by default, if on, uses exponential (aka Platt) calibration.
/// <include file='doc.xml' path='doc/members/member[@name="AP"]/*' />
/// <summary>
/// This is averaged perceptron trainer.
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is averaged perceptron trainer. [](start = 8, length = 36)

See the email on standard summary text. #Resolved

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1


In reply to: 256223833 [](ancestors = 256223833)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated


In reply to: 256251639 [](ancestors = 256251639,256223833)

@@ -19,27 +19,41 @@ namespace Microsoft.ML.Trainers.Online

public abstract class OnlineLinearArguments : LearnerInputBaseWithLabel
{
/// <summary>
/// Number of training iterations through the data.
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Number of training iterations [](start = 12, length = 29)

Number of passes through the dataset. #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


In reply to: 256223998 [](ancestors = 256223998)


/// <summary>
/// <see langword="true" /> to shuffle data for each training iteration; otherwise, <see langword="false" />.
/// Default is <see langword="true" />.
Copy link
Contributor

@rogancarr rogancarr Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default is <see lan [](start = 11, length = 20)

in value #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved


In reply to: 256224234 [](ancestors = 256224234)

// In this examples we will use the adult income dataset. The goal is to predict
// if a person's income is above $50K or not, based on different pieces of information about that person.
// For more details about this dataset, please see https://archive.ics.uci.edu/ml/datasets/adult

Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would this be better atop the Example() #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

moved up


In reply to: 256250307 [](ancestors = 256250307)

/// <param name="catalog">The binary classification catalog trainer object.</param>
/// <param name="labelColumn">The name of the label column, or dependent variable.</param>
/// <param name="featureColumn">The features, or independent variables.</param>
/// <param name="lossFunction">The custom loss.</param>
/// <param name="lossFunction">The custom <a href="tmpurl_loss">loss</a>. If <see langword="null"/>, hinge loss will be used resulting in max-margin averaged perceptron.</param>
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tmpurl_loss [](start = 59, length = 11)

replace before checking in #WontFix

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we don't have the final links yet. find-replace needs to be done later.


In reply to: 256250676 [](ancestors = 256250676)

/// <param name="learningRate">The learning Rate.</param>
/// <param name="decreaseLearningRate">Decrease learning rate as iterations progress.</param>
/// <param name="l2RegularizerWeight">L2 regularization weight.</param>
/// <param name="learningRate"><a href="tmpurl_lr">Learning rate</a>.</param>
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tmpurl_lr [](start = 48, length = 9)

replace #WontFix

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as other one


In reply to: 256250732 [](ancestors = 256250732)

/// <example>
/// <format type="text/markdown">
/// <![CDATA[
/// [!code-csharp[AveragedPerceptron](~/../docs/samples/docs/samples/Microsoft.ML.Samples/Dynamic/BinaryClassification/AveragedPerceptron.cs)]
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A [](start = 127, length = 1)

Trainers/AveragedPerceptron.cs #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

aaah, good catch :)


In reply to: 256250880 [](ancestors = 256250880)

@@ -19,27 +19,41 @@ namespace Microsoft.ML.Trainers.Online

public abstract class OnlineLinearArguments : LearnerInputBaseWithLabel
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OnlineLinearArguments [](start = 26, length = 21)

xml #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added


In reply to: 256251874 [](ancestors = 256251874)

@@ -17,38 +17,89 @@ namespace Microsoft.ML.Trainers.Online
{
public abstract class AveragedLinearArguments : OnlineLinearArguments
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AveragedLinearArguments [](start = 26, length = 23)

xml #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added


In reply to: 256251939 [](ancestors = 256251939)

@@ -219,10 +248,18 @@ public static class StandardLearnersCatalog
}

/// <summary>
/// Predict a target using a linear binary classification model trained with the AveragedPerceptron trainer.
/// Predict a target using a linear binary classification model trained with averaged perceptron trainer using advanced options.
/// For usage details, please see <see cref="AveragedPerceptron(BinaryClassificationCatalog.BinaryClassificationTrainers, string, string, string, IClassificationLoss, float, bool, float, int)"/>
/// </summary>
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would prefer we have full text on all extension, and not redirect ppl to the other one just to read a paragraph.. This is where the doc.xml includes can come handy. #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as discussed offline, moving this text to the estimator class


In reply to: 256252156 [](ancestors = 256252156)

[Argument(ArgumentType.AtMostOnce, HelpText = "Number of iterations", ShortName = "iter", SortOrder = 50)]
[TGUI(Label = "Number of Iterations", Description = "Number of training iterations through data", SuggestedSweeps = "1,10,100")]
[TlcModule.SweepableLongParamAttribute("NumIterations", 1, 100, stepSize: 10, isLogScale: true)]
public int NumIterations = OnlineDefaultArgs.NumIterations;
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NumIterations [](start = 19, length = 13)

Set the Name attribute to be the old name everytime you change one of them; for maml backwards compat. #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i added it to shortname. did i do it right?


In reply to: 256252619 [](ancestors = 256252619)

@shmoradims
Copy link
Author

        IClassificationLoss lossFunction = null,

I've covered it in AveragedPerceptronWithOptions.cs sample. We have public losses but they don't look good. I'll bring it up in the scrum.


In reply to: 463025252 [](ancestors = 463025252)


Refers to: src/Microsoft.ML.StandardLearners/StandardLearnersCatalog.cs:238 in 59673b8. [](commit_id = 59673b8, deletion_comment = False)

var metrics = mlContext.BinaryClassification.EvaluateNonCalibrated(dataWithPredictions);
SamplesUtils.ConsoleUtils.PrintMetrics(metrics);

// Expected output:
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expected output: [](start = 15, length = 16)

space #Pending

@@ -86,6 +87,57 @@ public static string DownloadSentimentDataset()
public static string DownloadAdultDataset()
=> Download("https://raw.githubusercontent.com/dotnet/machinelearning/244a8c2ac832657af282aa312d568211698790aa/test/data/adult.train", "adult.txt");

public static IDataView LoadFeaturizedAdultDataset(MLContext mlContext)
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LoadFeaturizedAdultDataset [](start = 32, length = 26)

xml doc since this is public #Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done.


In reply to: 256623075 [](ancestors = 256623075)


/// <summary>
/// Arguments class for online linear trainers.
/// </summary>
public abstract class OnlineLinearArguments : LearnerInputBaseWithLabel
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OnlineLinearArguments [](start = 26, length = 21)

think those are supposed to be called Options. cc @artidoro, @abgoswam

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not really. This serves as the base class (for the online linear learners) from which the public facing Options class is derived.

It should be internal though. I believe Issue #2264 should take care of making it internal

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would like to disagree regarding internal. Why? If you make it internal all this property will disappear for user, and they are good properties.
What is wrong with having hierarchy of classes?


In reply to: 256639493 [](ancestors = 256639493)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was going by smell test -- I do not see any samples (yet) of how this class would be helpful for a public facing API. I may be wrong though.

Would like to hear @yaeldekel / @codemzs thoughts on this since they are working on "lockdown" issues.

If we do want to keep this public perhaps we should rename to OnlineLinearOptions ?

Copy link
Contributor

@Ivanidzo4ka Ivanidzo4ka Feb 14, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have following structure:

OnlineLinear Options -> LinearSVM Options
|
|____> AverageLinear Options--> AveragePerceptron Options
                  |
                  |____________> OnlineGradientDescent Options

base options contains properties which belong to all of them, derived classes contains specific options.

Only way how you can get rid of this tree structure is to create new flatten object which will be flat and have all required properties by himself. But that would also mean you need to repeat some properties in this flatten structures multiple times.


In reply to: 256646030 [](ancestors = 256646030)

/// <summary>
/// Number of passes through the training dataset.
/// </summary>
[Argument(ArgumentType.AtMostOnce, HelpText = "Number of iterations", ShortName = "iter, numIterations", SortOrder = 50)]
Copy link
Member

@sfilipi sfilipi Feb 13, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

numIterations", [](start = 96, length = 16)

Add a Name attribute property, for backwards compatibility, here and below in InitialWeightsDiameter.

See: https://github.com/dotnet/machinelearning/blob/master/src/Microsoft.ML.Data/DataLoadSave/Text/TextLoader.cs#L359

#Resolved

Copy link
Contributor

@Ivanidzo4ka Ivanidzo4ka Feb 14, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ShortName and Name work same way, so you can have it in either place.
On other hand ShortName assumes what it's a short name, which numIteration is not so short.
Also I'm not sure if you presence of space would make system happy iter, numIterations ->iter,numIterations
#Resolved

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'll remove the space. numIterations is now "short", given the new name NumberOfIterations :)


In reply to: 257009222 [](ancestors = 257009222)

Copy link
Contributor

@rogancarr rogancarr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

:shipit:

@shmoradims shmoradims merged commit 17c037f into dotnet:master Feb 14, 2019
@shmoradims shmoradims deleted the avg_perceptron branch February 14, 2019 22:14
@ghost ghost locked as resolved and limited conversation to collaborators Mar 24, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
documentation Related to documentation of ML.NET
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants