1

我想训练一个具有大量特征的模型,这些特征是特定关键字是否出现在页面上。功能列表是如此之大,以至于我无法像此处的 ML.NET 教程中建议的那样标记所有这些功能。

public class IrisData
{
    [LoadColumn(0)]
    public float SepalLength;

    [LoadColumn(1)]
    public float SepalWidth;

    [LoadColumn(2)]
    public float PetalLength;

    [LoadColumn(3)]
    public float PetalWidth;

    [LoadColumn(4)]
    public string Label;
}

相反,我希望能够给它一个未命名的特征列表,就像你可以在 sklearn 中使用 python 做的那样,只需给它一个特征数组[[0,0,1],[0,1,0]]和一个标签数组["ShoppingSite", "SocialNetwork"]

4

1 回答 1

1

您的所有功能都是相同类型的布尔值吗?如果是这样,您可以使用 TextLoader.Range(startIndex, EndIndex) 将所有功能加载到单个列中: https ://github.com/dotnet/machinelearning/blob/master/docs/code/MlNetCookBook.md#how-do- i-load-data-with-many-columns-from-a-csv

var reader = mlContext.Data.CreateTextReader(new[] {
        // We read the first 10 values as a single float vector.
        new TextLoader.Column("FeatureVector", DataKind.R4, new[] {new TextLoader.Range(0, 10)}),
        // Separately, read the target variable.
        new TextLoader.Column("Target", DataKind.R4, 11)
    },
    // Default separator is tab, but we need a comma.
    separatorChar: ',');
于 2019-01-28T17:34:17.030 回答