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")); }
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")); }
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>()); }