dotnet / dotnet/machinelearning-modelbuilder
Add support for `datetimeoffset` SQL column
- Lingua principale
- Dockerfile
- Stelle
- 285
- Fork
- 66
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
When running the "Forecasting" model builder on a SQL Server table with a `datetimeoffset` column selected as the time series column, the model builder errors out with `Unable to cast object of type 'System.DateTimeOffset' to type 'System.DateTime'.`. I'd like to see native support for DateTimeOffset or at least a conversion to DateTime.
I'm using the .NET Framework Data Provider for SQL Server to connect.
```
2024-08-28 11:15:19.9161 DEBUG Unable to cast object of type 'System.DateTimeOffset' to type 'System.DateTime'.
at Microsoft.Data.SqlClient.SqlBuffer.get_DateTime()
at Microsoft.Data.SqlClient.SqlDataReader.GetDateTime(Int32 i)
at Microsoft.ML.Data.DatabaseLoader.Cursor.<>c__DisplayClass31_0.b__0(DateTime& value)
at Microsoft.Data.Analysis.PrimitiveDataFrameColumn`1.AddValueUsingCursor(DataViewRowCursor cursor, Delegate getter)
at Microsoft.ML.IDataViewExtensions.ToDataFrame(IDataView dataView, Int64 maxRows, String[] selectColumns)
at Microsoft.ML.ModelBuilder.AutoMLService.TimeSeriesForecastingTrainTestDatasetManager.InitializeSplitTrainValidateDataset() in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/DatasetManagers/TimeSeriesForecastingTrainTestDatasetManager.cs:line 62
at Microsoft.ML.ModelBuilder.AutoMLService.TimeSeriesForecastingTrainTestDatasetManager..ctor(IDataView trainDataset, Single splitRatio, String labelColumn, String timeColumn, Boolean useDefaultIndex, IChannel logger) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/DatasetManagers/TimeSeriesForecastingTrainTestDatasetManager.cs:line 32
at Microsoft.ML.ModelBuilder.AutoMLService.Experiments.ForecastingExperiment.ExecuteAsync(IDataView trainData, IDataView validateData, CancellationToken ct) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/Experiments/ForecastingExperiment.cs:line 89
at Microsoft.ML.ModelBuilder.AutoMLEngine.StartTrainingAsync(ITrainingConfiguration config, PathConfiguration pathConfig, CancellationToken userCancellationToken) in /_/src/Microsoft.ML.ModelBuilder.AutoMLService/AutoMLEngineService/AutoMLEngine.cs:line 178 (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia con il getter del cursore di Microsoft.ML.Data.DatabaseLoader mostrato nello stack trace, quindi esamina TimeSeriesForecastingTrainTestDatasetManager.cs alla riga 62 e il flusso di forecasting in ForecastingExperiment.cs. Riproduci l’esecuzione del model builder di Forecasting con SQL Server e una colonna di serie temporale datetimeoffset; il lavoro è completato quando il dataset viene inizializzato e il forecasting procede senza l’errore di cast DateTimeOffset.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- csharp, sql
- Ambito
- databases, machine-learning
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100