diff --git a/lib/src/di/dependencies.dart b/lib/src/di/dependencies.dart index 6b48d4a1..c3007e2c 100644 --- a/lib/src/di/dependencies.dart +++ b/lib/src/di/dependencies.dart @@ -26,6 +26,8 @@ import 'package:ml_algo/src/math/randomizer/randomizer_factory.dart'; import 'package:ml_algo/src/math/randomizer/randomizer_factory_impl.dart'; import 'package:ml_algo/src/model_selection/data_splitter/data_splitter_factory.dart'; import 'package:ml_algo/src/model_selection/data_splitter/data_splitter_factory_impl.dart'; +import 'package:ml_algo/src/regressor/decision_tree_regressor/decision_tree_regressor_factory.dart'; +import 'package:ml_algo/src/regressor/decision_tree_regressor/decision_tree_regressor_factory_impl.dart'; import 'package:ml_algo/src/regressor/knn_regressor/knn_regressor_factory.dart'; import 'package:ml_algo/src/regressor/knn_regressor/knn_regressor_factory_impl.dart'; @@ -74,4 +76,7 @@ Injector get dependencies => (injector) => KnnRegressorFactoryImpl( injector.getDependency(), injector.getDependency(), - )); + )) + + ..registerSingleton( + (_) => const DecisionTreeRegressorFactoryImpl()); diff --git a/lib/src/regressor/decision_tree_regressor/_helpers/create_decision_tree_regressor.dart b/lib/src/regressor/decision_tree_regressor/_helpers/create_decision_tree_regressor.dart new file mode 100644 index 00000000..e394f340 --- /dev/null +++ b/lib/src/regressor/decision_tree_regressor/_helpers/create_decision_tree_regressor.dart @@ -0,0 +1,10 @@ +import 'package:ml_algo/src/di/dependencies.dart'; +import 'package:ml_algo/src/regressor/decision_tree_regressor/decision_tree_regressor.dart'; +import 'package:ml_algo/src/regressor/decision_tree_regressor/decision_tree_regressor_factory.dart'; + +DecisionTreeRegressor createDecisionTreeRegressor() { + final regressorFactory = dependencies + .getDependency(); + + return regressorFactory.create(); +} diff --git a/lib/src/regressor/decision_tree_regressor/decision_tree_regressor.dart b/lib/src/regressor/decision_tree_regressor/decision_tree_regressor.dart new file mode 100644 index 00000000..7c9df989 --- /dev/null +++ b/lib/src/regressor/decision_tree_regressor/decision_tree_regressor.dart @@ -0,0 +1,5 @@ +import 'package:ml_algo/src/regressor/decision_tree_regressor/_helpers/create_decision_tree_regressor.dart'; + +abstract class DecisionTreeRegressor { + factory DecisionTreeRegressor() => createDecisionTreeRegressor(); +} diff --git a/lib/src/regressor/decision_tree_regressor/decision_tree_regressor_factory.dart b/lib/src/regressor/decision_tree_regressor/decision_tree_regressor_factory.dart new file mode 100644 index 00000000..9e7f106c --- /dev/null +++ b/lib/src/regressor/decision_tree_regressor/decision_tree_regressor_factory.dart @@ -0,0 +1,5 @@ +import 'package:ml_algo/src/regressor/decision_tree_regressor/decision_tree_regressor.dart'; + +abstract class DecisionTreeRegressorFactory { + DecisionTreeRegressor create(); +} diff --git a/lib/src/regressor/decision_tree_regressor/decision_tree_regressor_factory_impl.dart b/lib/src/regressor/decision_tree_regressor/decision_tree_regressor_factory_impl.dart new file mode 100644 index 00000000..e6e71e6c --- /dev/null +++ b/lib/src/regressor/decision_tree_regressor/decision_tree_regressor_factory_impl.dart @@ -0,0 +1,10 @@ +import 'package:ml_algo/src/regressor/decision_tree_regressor/decision_tree_regressor.dart'; +import 'package:ml_algo/src/regressor/decision_tree_regressor/decision_tree_regressor_factory.dart'; +import 'package:ml_algo/src/regressor/decision_tree_regressor/decision_tree_regressor_impl.dart'; + +class DecisionTreeRegressorFactoryImpl implements DecisionTreeRegressorFactory { + const DecisionTreeRegressorFactoryImpl(); + + @override + DecisionTreeRegressor create() => DecisionTreeRegressorImpl(); +} diff --git a/lib/src/regressor/decision_tree_regressor/decision_tree_regressor_impl.dart b/lib/src/regressor/decision_tree_regressor/decision_tree_regressor_impl.dart new file mode 100644 index 00000000..2e48f4da --- /dev/null +++ b/lib/src/regressor/decision_tree_regressor/decision_tree_regressor_impl.dart @@ -0,0 +1,5 @@ +import 'package:ml_algo/src/regressor/decision_tree_regressor/decision_tree_regressor.dart'; + +class DecisionTreeRegressorImpl implements DecisionTreeRegressor { + +}