Breaking Changes

  • Removed support for RandomForestSRC package.

Bug Fixes

  • Fixed tests failing on CRAN Package Check Issue Kinds (M1mac and noLD) after release of 2.5.0.

Other Changes

  • eval_metric is now explicitly set in xgboost tests to avoid warning messages.

New Features

  • pmml() now has a model_version parameter that can be used to add a modelVersion attribute to the PMML Header.
  • xform_function() now supports "numeric" and "factor" new_field_data_type.

Bug Fixes

  • save_pmml() no longer has the version parameter, since r-pmml exports PMML compliant with only the latest schema.

Breaking Changes

  • pmml.ARIMA() no longer exports models with the Exact Least Squares method. Exports where ts_type = "arima" produce PMML with Conditional Least Squares representation only. The deprecated exact_least_squares parameter has been removed.
  • pmml.ARIMA() now exports models with StateSpaceModel representation by default.

Major Changes

  • Package now exports PMML with schema version 4.4.1.

Bug Fixes

  • xform_function() no longer creates an unnecessary "NA" level in field_data$dataType.
  • xform_wrap() no longer sets field_data$dataType to factor for all columns of a tibble.

Bug Fixes

New Features

  • pmml.ARIMA() can now export models with StateSpaceModel representation. This is controlled by a new parameter, ts_type. The default option (ts_type = "arima") still exports an ARIMA representation as before. When ts_type = "statespace", the exported PMML uses a StateSpaceModel element.
  • The exact_least_squares parameter in pmml.ARIMA() is now deprecated. In a future release, all exports where ts_type = "arima" will be exported with the Exact Least Squares method.

Other Changes

  • Package is now compliant with the stringsAsFactors change in R 4.0.0.

Breaking Changes

  • Deprecated parameters in the following functions have been removed, and replaced with equivalent in snake case.
    • pmml.iForest: anomalyThreshold -> anomaly_threshold
    • pmml.kmeans: algorithm.name -> algorithm_name
    • rename_wrap_var: wrap_data -> wrap_object
    • xform_norm_discrete: inputVar -> input_var

New Features

  • pmml.ARIMA() now exports prediction intervals for non-seasonal models.
  • pmml.ARIMA() can now export seasonal models with Exact Least Squares representation, and does so by default.

Major Changes

  • Package now exports PMML with schema version 4.4.

  • pmml.ARIMA() function added - exports ARIMA time series models from the forecast package.

Breaking Changes

  • pmml.svm() now has a detect_anomaly argument, allowing the user to specify whether the PMML detects anomalies or inliers. The exported PMML now has two OutputField elements: anomalyScore and one of anomaly or inlier.

  • The following arguments are deprecated. They can still be used, but will produce a warning message and will be removed in a future release.

    • pmml.iForest: anomalyThreshold -> anomaly_threshold
    • pmml.kmeans: algorithm.name -> algorithm_name
    • rename_wrap_var: wrap_data -> wrap_object
    • xform_norm_discrete: inputVar -> input_var

Other Changes

  • Application version in PMML Header corresponds to pmml package version.

  • pmml.iForest now uses attribute sampleDataSize instead of element ParameterList to store the model$phi value.

  • pmml.gbm now adds modelName attribute to the final segment for multinomial gbm models.

  • testthat file names correspond to the functions being tested.

  • Edited make_output_nodes doc for clarity.

  • Updated formatting in vignettes.

  • Fixed spelling and added word list via spelling package.

With this release, pmmlTransformations has been merged into pmml and package development has been moved to GitHub. This was also a good opportunity to apply a style and rename many functions and parameters to make the code more uniform and easier to understand.

Breaking Changes

We used the tidyverse style guide when renaming functions, parameters, and arguments. In addition, some parameters and arguments have been renamed for clarity, and several functions were removed.

For functions that use a dots (...) parameter, the old parameters will still be accepted, even though these old parameters will not be used.

  • pmml() parameters and default arguments have been changed as follows:
    • model.name = "Rattle_Model" -> model_name = "R_Model"
    • app.name = "Rattle/PMML" -> app_name = "SoftwareAG PMML Generator"
    • unknownValue -> missing_value_replacement
  • Individual exporters had the following changes:
    • pmml.iForest()
      • parentInvalidValueTreatment -> parent_invalid_value_treatment
      • childInvalidValueTreatment -> child_invalid_value_treatment
    • pmml.lm()
      • The unused dataset argument has been removed.
    • pmml.naiveBayes()
      • predictedField - predicted_field
    • pmml.randomForest()
      • unknownValue -> missing_value_replacement
      • parentInvalidValueTreatment -> parent_invalid_value_treatment
      • childInvalidValueTreatment -> child_invalid_value_treatment
    • pmml.xgb.Booster()
      • inputFeatureNames -> input_feature_names
      • outputLabelName -> output_label_name
      • outputCategories -> output_categories
      • xgbDumpFile -> xgb_dump_file
      • parentInvalidValueTreatment -> parent_invalid_value_treatment
      • childInvalidValueTreatment -> child_invalid_value_treatment
  • The following additional functions had name and parameter changes:
  • Functions from pmmlTransformations have been merged into pmml and had the following name and parameter changes:
    • All functions had the following parameters renamed where present:
      • xformInfo -> xform_info
      • boxdata -> wrap_object (except in RenameVar)
      • mapMissingTo -> map_missing_to
    • DiscretizeXform() -> xform_discretize()
      • defaultValue -> default_value
      • mapMissingTo -> map_missing_to
    • FunctionXform() -> xform_function()
      • origFieldName -> orig_field_name
      • newFieldName -> new_field_name
      • newFieldDataType -> new_field_data_type
      • formulaText -> expression
    • MapXform() -> xform_map()
      • defaultValue -> default_value
    • MinMaxXform() -> xform_min_max()
    • NormDiscreteXform() -> xform_norm_discrete()
    • RenameVar() -> rename_wrap_var()
      • boxdata -> wrap_data
    • WrapData() -> xform_wrap()
      • indata -> data
      • useMatrix -> use_matrix
    • ZScoreXform() -> xform_z_score()

Deleted/moved functions

  • The following functions have been removed from the package:
    • pmmltoc() - empty function.
    • addLT() - unused function.
    • pmmlCanExport() - unused function.
    • pmml.survreg() - untested exporter that may be added in the future.
  • Initialize() has been made internal.

Other Changes

  • All documentation is created with roxygen.

  • Documentation is now uniform across different exporters.

  • Add support for one-class svm (anomaly detection) models from e1071

  • Add support for iForest (anomaly detection) models from isofor

  • Add support for boolean values in functionToPMML

  • Fix missing nodes issue in xgboost caused by deep trees

  • Update savePMML to output LF line endings, independent of OS

  • Update Description and pmml.R documentation

  • Add dataType argument to every Output node

  • Fix the family check in pmml.cv.glmnet to only allow “gaussian” and “poisson”

  • Add note about supported family types in pmml.cv.glmnet documentation

  • Add note about sparse matrices in pmml.xgb.Booster documentation

  • Add vignette with list of supported packages and models

  • Fix bug in xgboost when using transformations

  • Add invalidValueTreatment=“returnInvalid” in MiningSchema by default for all models

  • Add arguments for invalidValueTreatment attributes to pmml.xgboost() and pmml.randomForest()

  • Fix bug due to 1- vs 0-based indexing in gbm converter

  • Change default pmml version to 4.3 in gbm converter

  • Fix comment added at top of XML doc by savePMML()

  • Fix bug in xgboost regression end element

  • Fix bug in xgboost when feature names are substrings of each other

  • Fix bug in xgboost binomial model

  • Add check for xgboost objectives

  • Add support for multi:softmax objective in xgboost

  • Update pmml.rfsrc.R doc to state dependency on version 2.5.0 or earlier

  • Add converter for xgboost models

  • Add converter for gbm models

  • Add converter for neighbr model

  • Output error on detecting an unsupported kernel in kernlab::ksvm() models

  • Add examples and note to pmml.glm.Rd

  • Output error on detecting unsupported feature classes

  • Output error on detecting interaction terms in linear models

  • Fix error created when fitting random forest model with 1 tree

  • Update references to PMML spec 4.3

  • Fix example in documentation for pmml.rfsrc.R after randomForestSRC was updated
  • Add functionToPMML

  • Add addDDInfo

  • Add addOutputInfo

  • Edit to work with pmmlTransformations::FunctionXform: pmml, pmml.datadictionary and pmml.miningschema

  • Add warning message to addLT; will deprecate in next version

  • Add support for the svm model in e1071 package

  • Add support for ada package

  • Add classificationMethod attribute for ksvm model (kernlab) for information purpose

  • Add usageType for AssociationModel MiningField elements

  • Fix bug for combining algorithm PMML and transformation XML fragment

  • Remove obsolete codes

  • Updates to pmml.arules from Michael Hahsler.

  • Begin using a ChangeLog (this) file and simply dump previous changes below.

  • Begin support for PMML 4.0.

  • Small changes to pmml.lm to support UTF-8/Japanese.

  • Fix spelling error in DESCRIPTION - CRAN check found it.

  • Various updates from Zementis to the randomForest schema. All the mining schemas in each segment of the random forest now also output the attribute invalidValueTreatment as asis.

  • Change standard to have an R file per exported function, and all internal functions begin with .

– Graham Williams Sun, 09 Dec 2012 22:28:00 +1100