Create AbstractTransformation containing the codeName attribute, getCode() method, transform() method. Make PCATransformation, ScalerTransformation, NormalizeTransformation, BoxcoxTransformation, BinarizeTransformation, and KmeansTransformation. Each constructor should check for its personal nuances first, then the generic constructor should check for the general nuances, such as is the data provided kosher, does this keyword exist, etc.. so PCATransformation for example will check if data provided is all numeric (no factors), then execute the transformation and return the output.
Potentially 2 types of transformations here. TransformationAlter and TransformationAppend for Kmeans. Might consider omitting the new column in following transformations for this type, maybe not, just an idea
Create AbstractTransformation containing the codeName attribute, getCode() method, transform() method. Make PCATransformation, ScalerTransformation, NormalizeTransformation, BoxcoxTransformation, BinarizeTransformation, and KmeansTransformation. Each constructor should check for its personal nuances first, then the generic constructor should check for the general nuances, such as is the data provided kosher, does this keyword exist, etc.. so PCATransformation for example will check if data provided is all numeric (no factors), then execute the transformation and return the output.