загружать данные с неправильными данными - PullRequest
0 голосов
/ 17 февраля 2019

за образцом MS

https://github.com/tautvydasversockas/TaxiFarePrediction/blob/master/TaxiFarePrediction/Program.cs


Задача

Мой проект состоит в прогнозировании количества пассажиров в определенное время, например


Input 
Year=2018,Month=10,Day=24,Type=normal
and the output is
Count = 2180

у меня есть простой CSV-файл, около 1800rows

Day,Month,Year,Hour,Count,Type
24,10,2018,7,1860,normal
.
.

Счетчик - это число Пассажиров в 7 часов. Тип - тип даты, например, обычный = понедельник.в пятницу, Рождество и т. д.


Два вопроса

Я понятия не имею, почему DataKind дня, месяца, года, часа считается R4, не должно ли быть I4?

  public int Day;
  new TextLoader.Column("Day", DataKind.R4, 0),

Низкая точность. Я пробовал в «FastTree», «FastForest». Фактически это 2860 человек, но в результате у 53 человек у меня есть 1800 строк данных, из которых я выбрал 1300, так как данные обучения остаются в качестве теста.Данные для оценки и оставил один день для моего predction

     public class TaxiTrip
            {
                [Column("0")]
                public float Day;

                [Column("1")]
                public float Month;

                [Column("2")]
                public float Year;

                [Column("3")]
                public float Hour;

                [Column("4")]
                public float Count;

                [Column("5")]
                public string Type;


            }

            public class TaxiTripFarePrediction
            {
                [ColumnName("Score")]
                public int predictCount;
            }
    _textLoader = mlContext.Data.CreateTextLoader(new TextLoader.Arguments()
                {
                    Separators = new[] { ',' },
                    HasHeader = true,
                    Column = new[]
                                {
//i prefer they are DataKind.I4
                                    new TextLoader.Column("Day", DataKind.R4, 0),
                                    new TextLoader.Column("Month", DataKind.R4, 1),
                                    new TextLoader.Column("Year", DataKind.R4, 2),
                                    new TextLoader.Column("Hour", DataKind.R4, 3),
                                    new TextLoader.Column("Count", DataKind.R4, 4),
                                    new TextLoader.Column("Type", DataKind.Text, 5),

                                }
                }
                );

извините за мой плохой английский, заранее спасибо

1 Ответ

0 голосов
/ 08 марта 2019

Функция month в порядке (вы также можете преобразовать ее в категориальную функцию).Это связано с температурой, дневным временем, погодными условиями и т. Д. Но день не хорош без обработки.Вы должны генерировать новые функции, используя день и год такие функции, как выходные , праздничные .И есть отличный пример для этой проблемы, проверьте его:

https://github.com/dotnet/machinelearning-samples/tree/master/samples/csharp/getting-started/Regression_BikeSharingDemand

...