是否可以使用 ML.NET Preview (0.6) 来表征 C# 集合?

Dek*_*tid 5 c# collections ml.net

可以说我有一个复杂的类型:

class Policy
{
    string Name { get; set; }
    DateTime InceptionDate { get; set; }
    DateTime ExpirationDate { get; set; }
    List<Location> Locations { get; set; }
}

class Location
{
    string Street { get; set; }
    string City { get; set; }
    string State { get; set; }
    string PostalCode { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如何将 的集合转换Locations为特征列以供 ML.NET 理解?

小智 2

可以在此处找到使用新 API 将数据从内存读取到 ML 管道的示例。复制相关代码,尽管该链接有一些其他有用的注释:

var mlContext = new MLContext();

IEnumerable<CustomerChurnInfo> churnData = GetChurnInfo();

var trainData = mlContext.CreateStreamingDataView(churnData);

var dynamicLearningPipeline = mlContext.Transforms.Categorical.OneHotEncoding("DemographicCategory")
    .Append(new ConcatEstimator(mlContext, "Features", "DemographicCategory", "LastVisits"))
    .Append(mlContext.BinaryClassification.Trainers.FastTree("HasChurned", "Features", numTrees: 20));

var dynamicModel = dynamicLearningPipeline.Fit(trainData);
Run Code Online (Sandbox Code Playgroud)