Open ablaom opened 2 years ago
That would be great, thanks!
@josephsdavid There are quite a few. You might want to want to study these a bit before committing to an efficient strategy for generating the strings. I'm guessing most of them are pretty similar, apart from hyperparameters.
julia> using MLJModels; models("Detector")
26-element Vector{NamedTuple{(:name, :package_name, :is_supervised, :abstract_type, :deep_properties, :docstring, :fit_data_scitype, :human_name, :hyperparameter_ranges, :hyperparameter_types, :hyperparameters, :implemented_methods, :inverse_transform_scitype, :is_pure_julia, :is_wrapper, :iteration_parameter, :load_path, :package_license, :package_url, :package_uuid, :predict_scitype, :prediction_type, :reporting_operations, :reports_feature_importances, :supports_class_weights, :supports_online, :supports_training_losses, :supports_weights, :transform_scitype, :input_scitype, :target_scitype, :output_scitype)}}:
(name = ABODDetector, package_name = OutlierDetectionNeighbors, ... )
(name = ABODDetector, package_name = OutlierDetectionPython, ... )
(name = AEDetector, package_name = OutlierDetectionNetworks, ... )
(name = CBLOFDetector, package_name = OutlierDetectionPython, ... )
(name = COFDetector, package_name = OutlierDetectionNeighbors, ... )
(name = COFDetector, package_name = OutlierDetectionPython, ... )
(name = COPODDetector, package_name = OutlierDetectionPython, ... )
(name = DNNDetector, package_name = OutlierDetectionNeighbors, ... )
(name = DSADDetector, package_name = OutlierDetectionNetworks, ... )
(name = ESADDetector, package_name = OutlierDetectionNetworks, ... )
(name = HBOSDetector, package_name = OutlierDetectionPython, ... )
(name = IForestDetector, package_name = OutlierDetectionPython, ... )
(name = KNNDetector, package_name = OutlierDetectionNeighbors, ... )
(name = KNNDetector, package_name = OutlierDetectionPython, ... )
(name = LMDDDetector, package_name = OutlierDetectionPython, ... )
(name = LOCIDetector, package_name = OutlierDetectionPython, ... )
(name = LODADetector, package_name = OutlierDetectionPython, ... )
(name = LOFDetector, package_name = OutlierDetectionNeighbors, ... )
(name = LOFDetector, package_name = OutlierDetectionPython, ... )
(name = MCDDetector, package_name = OutlierDetectionPython, ... )
(name = OCSVMDetector, package_name = OutlierDetectionPython, ... )
(name = OneClassSVM, package_name = LIBSVM, ... )
(name = PCADetector, package_name = OutlierDetectionPython, ... )
(name = RODDetector, package_name = OutlierDetectionPython, ... )
(name = SODDetector, package_name = OutlierDetectionPython, ... )
(name = SOSDetector, package_name = OutlierDetectionPython, ... )
I think some are unsupervised, but some are semi-supervised, so keep that in mind.
We are currently implementing detailed docstrings for all MLJ models, following a standard we have developed. See this issue: https://github.com/alan-turing-institute/MLJ.jl/issues/913
@davnn If it is helpful to you, @josephsdavid, who is helping us this summer as GSoD technical writer can prepare PRs for you to review. David is a working data scientist with outlier detection experience and some Julia knowledge. You will need to let me know soon if you would like this.