Package: mlflowgo
mlflowgois a Python package that simplifies and enhances the integration of MLflow with your machine learning workflows. It provides a set of utilities and helper functions to streamline the process of tracking experiments, logging artifacts, and managing machine learning models using MLflow.Spend your time on evaluating, refining and productionising your models rather than recycling out the same code - grab a tea/coffee and let mlflowgo do the rest.FeaturesQuickly find an appropriate ML model for your dataset.Log various types of artifacts, such as plots, reports, and data samples.Streamline the tracking of model parameters and metrics.Supports a range of machine learning frameworks and libraries.InstallationYou can installmlflowgousing pip:pipinstallmlflowgoWhen using mlflowgo, if you receive an error relating to the missing file:libomp.dylib, try runningconda install -c conda-forge lightgbmClassifier models considered by defaultSome models do not auto generate SHAP plots due to memory demand and slow calculation timeModel NameIncludes SHAP (Y/N)AdaBoostClassifierNDecisionTreeClassifierYExtraTreesClassifierYGaussianProcessClassifierYGradientBoostingClassifierYKNeighborsClassifierNLabelPropagationNLabelSpreadingNLGBMClassifierYLinearDiscriminantAnalysisNLinearSVCNLogisticRegressionYMLPClassifierNNearestCentroidNNuSVCYPassiveAggressiveClassifierYPerceptronYQuadraticDiscriminantAnalysisNRandomForestClassifierYRidgeClassifierYSGDClassifierYSVCNXGBClassifierYRegression models considered by defaultModel NameIncludes SHAP (Y/N)AdaBoostRegressorYARDRegressionYBayesianRidgeYDecisionTreeRegressorYElasticNetYExtraTreeRegressorYExtraTreesRegressorYGammaRegressorYGaussianProcessRegressorYGradientBoostingRegressorYHistGradientBoostingRegressorYKNeighborsRegressorYHuberRegressorYIsotonicRegressionYLarsYLassoYLassoLarsYLassoLarsICYLGBMRegressorYLinearRegressionYLinearSVRYMLPRegressorNNuSVRYOrthogonalMatchingPursuitYPassiveAggressiveRegressorYPoissonRegressorYRandomForestRegressorYRidgeYSGDRegressorYSVRNTheilSenRegressorYTweedieRegressorYXGBRegressorYExample run 1:Simple example using the sklearn dataset, in this case we assume some prior knowledge of which model will work best for this dataset.frommlflowgo.mlflowgoimportMLFlowGofromsklearn.pipelineimportPipelinefromsklearn.ensembleimportRandomForestClassifierfromsklearnimportdatasetsimportpandasaspdimportnumpyasnpiris=datasets.load_iris()data=pd.DataFrame(data=np.c_[iris['data'],iris['target']],columns=np.append(iris['feature_names'],['target']))model=Pipeline([('model',RandomForestClassifier(n_estimators=100))])We can leverage mlflowgo with:mlflow_go=MLFlowGo(experiment_name="Iris_Classification_Experiment")mlflow_go.run_experiment(pipeline=model,X=data.drop(columns=['target']),y=data['target'])Example run 2Using the same Iris toy dataset we can run an experiment with mlflowgo without defining any pipelines up front.iris=datasets.load_iris()data=pd.DataFrame(data=np.c_[iris['data'],iris['target']],columns=np.append(iris['feature_names'],['target']))mlflow_go=MLFlowGo(experiment_name="Iris_Classification_Experiment")mlflow_go.run_experiment(X=data.drop(columns=['target']),y=data['target'])