我是Ml.Net的新手,目前正在使用版本0.11,更具体地说是二进制分类器。我现在已经解决了这个问题,可以实现我所需要的,但是我希望能够改进并打开我的选择。
我对设置随机梯度下降,随机梯度上升对偶坐标和逻辑回归算法的选项有疑问。对于这些看不见的数据(未设置选项),其预测准确性要比快速树算法(后者将叶子中的叶子,树和最小数据点作为选项进行设置)的准确性要差得多(例如50%对89%的准确性)。就像我使用FastTree设置选项一样,我无法弄清楚如何为其他ML算法(即numTrees,numLeaves等)设置选项,并且由于它还不是RC,所以几乎没有文档,也没有示例可以找到。
我还想知道某人可能使用这些算法设置的“典型”选项,因此我可以获得基线并从那里进行更改。
我发现Logistic回归可以包含一个组成并传递给它的选项对象,但是我无法为其他对象找到相同的对象,也不知道选项传递给Logistic回归算法的典型含义。
我已经搜寻过网,但是空手而归。
在管道中添加以下内容可以提高准确性:
.Append(mlContext.BinaryClassification.Trainers.FastTree(numLeaves: 50, numTrees: 50, minDatapointsInLeaves: 20));
在我的管道中添加以下任何内容都会带来可怕的准确性
.Append(mlContext.BinaryClassification.Trainers.LogisticRegression());
.Append(mlContext.BinaryClassification.Trainers.StochasticGradientDescent());
.Append(mlContext.BinaryClassification.Trainers.StochasticDualCoordinateAscent());
此外,使用不带选项的快速树会降低性能,例如:
.Append(mlContext.BinaryClassification.Trainers.FastTree());
我已经找到了逻辑回归的最佳方法(即下面的方法),但不知道要设置哪些“典型值” /要包括哪些选项:
var LogRegOptions = new Microsoft.ML.Trainers.LogisticRegression.Options
{
SgdInitializationTolerance = ?,
InitWtsDiameter = ?,
?????
};
我希望这些算法的预测准确度与具有给定选项的快速树(89%)相同,但是在不加载任何选项的情况下,它们的准确率都低于50%。
感谢前进的人们