加载数据类型错误的数据

时间:2019-02-17 18:56:28

标签: c# machine-learning ml.net

之后是样品的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文件,大约1800行

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

计数是7点钟的通行人数 Type是日期的类型,例如 正常=星期一至星期五 圣诞节等


两个问题

我不知道为什么日期,月份,年份,小时数的DataKind是R4,不是I4吗?

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

精度低 我已经在“ FastTree”,“ FastForest”中尝试过 实际是2860人,但有53人 我有1800行数据 我已经选择了1300个作为训练数据 保留为测试数据以进行评估 留了一天我的捕食

     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 :(得分:0)

month 功能还可以(您也可以将其转换为分类功能)。它与温度,白天时间,天气状况等相关。但是,如果没有处理, day 不好。您应该使用 day year 功能(例如 weekend 假日)来生成新功能。有一个很好的示例可以解决此问题,请查看:

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