示例#1
0
        public void ColumnDropper_NoMatchingColumnAtRuntime()
        {
            var dropper = new ColumnDropper
            {
                ColumnNameToDrop = "DoesNotExist"
            };

            var cts       = new GracefulCancellationTokenSource();
            var toProcess = new DataTable();

            toProcess.Columns.Add("Column1");

            var ex = Assert.Throws <InvalidOperationException>(() => dropper.ProcessPipelineData(toProcess, new ThrowImmediatelyDataLoadEventListener(), cts.Token));

            Assert.IsTrue(ex.Message.Contains("does not exist in the supplied data table"));
        }
示例#2
0
        public void ColumnDropper_Successful()
        {
            var dropper = new ColumnDropper
            {
                ColumnNameToDrop = "ToDrop"
            };

            var cts       = new GracefulCancellationTokenSource();
            var toProcess = new DataTable();

            toProcess.Columns.Add("ToDrop");

            var processed = dropper.ProcessPipelineData(toProcess, new ThrowImmediatelyDataLoadEventListener(), cts.Token);

            Assert.AreEqual(0, processed.Columns.Count);
            Assert.AreEqual(false, processed.Columns.Contains("ToDrop"));
        }
示例#3
0
        public static PredictionModel <HousePrice, HousePricePredicted> Train()
        {
            string _datapath = @"pp-2018.csv";
            var    pipeline  = new LearningPipeline();
            var    dropper   = new ColumnDropper();

            pipeline.Add(new TextLoader(_datapath).CreateFrom <HousePrice>(useHeader: false, separator: ','));
            pipeline.Add(new ColumnDropper()
            {
                Column = new string[] { "DateOfTransfer", "Street", "Locality", "PAON", "SAON" }
            });

            pipeline.Add(new CategoricalOneHotVectorizer(
                             "PostCode",
                             "City",
                             "District",
                             "RecordStatus",
                             "Duration",
                             "PropertyType",
                             "OldNew"));

            pipeline.Add(new ColumnConcatenator(
                             "Features",
                             "PostCode",
                             "City",
                             "District",
                             "RecordStatus",
                             "Duration",
                             "PropertyType",
                             "OldNew"));

            pipeline.Add(new FastTreeRegressor()
            {
                LabelColumn = "Price"
            });
            return(pipeline.Train <HousePrice, HousePricePredicted>());
        }