-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Closed
Labels
questionFurther information is requestedFurther information is requested
Description
I'm working on a specific regression problem which provides Date of journey in string in dd/MM/yyyy format. How can I GetColumn as C# DateTime datatype column?
public class IssueSample
{
[LoadColumn(0)]
public string Col1;
[LoadColumn(1)]
public string DateOfJourneyStr;
private const string DATETIME_FORMAT = "dd/MM/yyyy";
public DateTime? DateOfJourney
=> ParseDateTime(DateOfJourneyStr);
public static DateTime? ParseDateTime(string dateOfJourneyStr)
{
if (DateTime.TryParseExact(dateOfJourneyStr, DATETIME_FORMAT, CultureInfo.InvariantCulture, DateTimeStyles.None, out var result))
return result;
return null;
}
}
I'm trying to get Min and Max DateOfJourney values as following:
private static void BuildTrainEvaluateAndSaveModel(MLContext mlContext)
{
// STEP 1: Common data loading configuration
IDataView baseTrainingDataView = mlContext.Data.LoadFromTextFile<IssueSample>(TrainDataPath, hasHeader: true, separatorChar: ',');
IDataView testDataView = mlContext.Data.LoadFromTextFile<IssueSample>(TestDataPath, hasHeader: true, separatorChar: ',');
var dateOfJourneyMin = baseTrainingDataView.GetColumn<DateTime?>(mlContext, nameof(IssueSample.DateOfJourney)).Min();
System.Console.WriteLine($"Min DateOfJourney = {dateOfJourneyMin}");
var dateOfJourneyMax = baseTrainingDataView.GetColumn<DateTime?>(mlContext, nameof(IssueSample.DateOfJourney)).Max();
System.Console.WriteLine($"Max DateOfJourney = {dateOfJourneyMax}");
}
But I get an error as follows:
System.ArgumentOutOfRangeException: 'Could not find input column 'DateOfJourney'
Parameter name: columnName'
Could somebody suggest how to achieve this in ML.NET?
Metadata
Metadata
Assignees
Labels
questionFurther information is requestedFurther information is requested