diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-mlvisualizationtools.spec | 516 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 518 insertions, 0 deletions
@@ -0,0 +1 @@ +/MLVisualizationTools-0.6.3.tar.gz diff --git a/python-mlvisualizationtools.spec b/python-mlvisualizationtools.spec new file mode 100644 index 0000000..c685130 --- /dev/null +++ b/python-mlvisualizationtools.spec @@ -0,0 +1,516 @@ +%global _empty_manifest_terminate_build 0 +Name: python-MLVisualizationTools +Version: 0.6.3 +Release: 1 +Summary: A set of functions and demos to make machine learning projects easier to understand through effective visualizations. +License: MIT +URL: https://github.com/RobertJN64/MLVisualizationTools +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/e1/4a/0982ae19033c2ac80d605bc18e61645461e1d53847ae0e95c0f7d57129cd/MLVisualizationTools-0.6.3.tar.gz +BuildArch: noarch + +Requires: python3-pandas +Requires: python3-dash +Requires: python3-flask +Requires: python3-plotly +Requires: python3-dash-bootstrap-components +Requires: python3-dash-tour-component +Requires: python3-MLVisualizationTools[dash] +Requires: python3-jupyter-dash +Requires: python3-MLVisualizationTools[dash] +Requires: python3-pytest +Requires: python3-MLVisualizationTools[dash-notebook] +Requires: python3-pyngrok + +%description +# MLVisualizationTools + + + + + +MLVisualizationTools is a python library to make +machine learning more understandable through the +use of effective visualizations. + + + +We support graphing with matplotlib and plotly. +We implicity support all major ML libraries, such as +tensorflow and sklearn. + +You can use the built in apps to quickly anaylyze your +existing models, or build custom projects using the modular +sets of functions. + +## Installation + +`pip install MLVisualizationTools` + +Depending on your use case, tensorflow, plotly and matplotlib might need to be +installed. + +`pip install tensorflow` +`pip install plotly` +`pip install matplotlib` + +To use interactive webapps, use the `pip install MLVisualizationTools[dash]` or `pip install MLVisualizationTools[dash-notebook]` +flags on install. + +If you are running on a notebook that doesn't have dash support (like kaggle), you might need +`pip install MLVisualizationTools[ngrok-tunneling]` + +## Express + +To get started using MLVisualizationTools, run one of the prebuilt apps. + +```python +import MLVisualizationTools.express.DashModelVisualizer as App + +model = ... #your keras model +data = ... #your pandas dataframe with features + +App.visualize(model, data) +``` + +## Functions + +MLVisualizationTools connects a variety of smaller functions. + +Steps: +1. Keras Model and Dataframe with features +2. Analyzer +3. Interface / Interface Raw (if you don't have a dataframe) +4. Colorizers (optional) +5. Apply Training Data Points (Optional) +6. Colorize data points (Optional) +7. Graphs + +Analyzers take a keras model and return information about the inputs +such as which ones have high variance. + +Interfaces take parameters and construct a multidimensional grid +of values based on plugging these numbers into the model. + +(Raw interfaces allow you to use interfaces by specifying column +data instead of a pandas dataframe. Column data is a list with a dict with name, min, +max, and mean values for each feature column) + +Colorizers mark points as being certain colors, typically above or below +0.5. + +Data Interfaces render training data points on top of the +graph to make it easier to tell if the model trained properly. + +Graphs turn these output grids into a visual representation. + +## Sample + +```python +from MLVisualizationTools import Analytics, Interfaces, Graphs, Colorizers, DataInterfaces + +#Displays plotly graphs with max variance inputs to model + +model = ... #your model +df = ... #your dataframe +AR = Analytics.analyzeModel(model, df) +maxvar = AR.maxVariance() + +grid = Interfaces.predictionGrid(model, maxvar[0], maxvar[1], df) +grid = Colorizers.binary(grid) +grid = DataInterfaces.addPercentageData(grid, df, str('OutputKey')) +fig = Graphs.plotlyGraph(grid) +fig.show() +``` + +## Prebuilt Examples + +Prebuilt examples run off of the pretrained model and dataset +packaged with this library. They include: +- Demo: a basic demo of library functionality that renders 2 plots +- MatplotlibDemo: Demo but with matplotlib instead of plotly +- DashDemo: Non-jupyter notebook version of an interactive dash +website demo +- DashNotebookDemo: Notebook version of an interactive website demo +- DashKaggleDemo: Notebook version of an dash demo that works in kaggle +notebooks +- DataOverlayDemo: Demonstrates data overlay features + +See [MLVisualizationTools/Examples](/MLVisualizationTools/examples) for more examples. +Use example.main() to run the examples and set parameters such as themes. + +## Support for more ML Libraries + +We support any ML library that has a `predict()` call that takes +a pd Dataframe with features. If this doesn't work, use a wrapper class like +in this example: + +```python +import pandas as pd + +class ModelWrapper: + def __init(self, model): + self.model = model + + def predict(self, dataframe: pd.DataFrame): + ... #Do whatever code you need here +``` + +## Tensorflow Compatibility + +MLVisualizationTools is distributed with a pretrained tensorflow model +to make running examples quick and easy. It is not needed for main library functions. + +For version 2.0 through 2.4, we load a v2.0 model. +For version 2.5+ we load a v2.5 model. + +If this causes compatibility issues you can still use the main library on your models. +If you need an example model, retrain it with +[TrainTitanicModel.py](/MLVisualizationTools/examples/TrainTitanicModel.py) + + +%package -n python3-MLVisualizationTools +Summary: A set of functions and demos to make machine learning projects easier to understand through effective visualizations. +Provides: python-MLVisualizationTools +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-MLVisualizationTools +# MLVisualizationTools + + + + + +MLVisualizationTools is a python library to make +machine learning more understandable through the +use of effective visualizations. + + + +We support graphing with matplotlib and plotly. +We implicity support all major ML libraries, such as +tensorflow and sklearn. + +You can use the built in apps to quickly anaylyze your +existing models, or build custom projects using the modular +sets of functions. + +## Installation + +`pip install MLVisualizationTools` + +Depending on your use case, tensorflow, plotly and matplotlib might need to be +installed. + +`pip install tensorflow` +`pip install plotly` +`pip install matplotlib` + +To use interactive webapps, use the `pip install MLVisualizationTools[dash]` or `pip install MLVisualizationTools[dash-notebook]` +flags on install. + +If you are running on a notebook that doesn't have dash support (like kaggle), you might need +`pip install MLVisualizationTools[ngrok-tunneling]` + +## Express + +To get started using MLVisualizationTools, run one of the prebuilt apps. + +```python +import MLVisualizationTools.express.DashModelVisualizer as App + +model = ... #your keras model +data = ... #your pandas dataframe with features + +App.visualize(model, data) +``` + +## Functions + +MLVisualizationTools connects a variety of smaller functions. + +Steps: +1. Keras Model and Dataframe with features +2. Analyzer +3. Interface / Interface Raw (if you don't have a dataframe) +4. Colorizers (optional) +5. Apply Training Data Points (Optional) +6. Colorize data points (Optional) +7. Graphs + +Analyzers take a keras model and return information about the inputs +such as which ones have high variance. + +Interfaces take parameters and construct a multidimensional grid +of values based on plugging these numbers into the model. + +(Raw interfaces allow you to use interfaces by specifying column +data instead of a pandas dataframe. Column data is a list with a dict with name, min, +max, and mean values for each feature column) + +Colorizers mark points as being certain colors, typically above or below +0.5. + +Data Interfaces render training data points on top of the +graph to make it easier to tell if the model trained properly. + +Graphs turn these output grids into a visual representation. + +## Sample + +```python +from MLVisualizationTools import Analytics, Interfaces, Graphs, Colorizers, DataInterfaces + +#Displays plotly graphs with max variance inputs to model + +model = ... #your model +df = ... #your dataframe +AR = Analytics.analyzeModel(model, df) +maxvar = AR.maxVariance() + +grid = Interfaces.predictionGrid(model, maxvar[0], maxvar[1], df) +grid = Colorizers.binary(grid) +grid = DataInterfaces.addPercentageData(grid, df, str('OutputKey')) +fig = Graphs.plotlyGraph(grid) +fig.show() +``` + +## Prebuilt Examples + +Prebuilt examples run off of the pretrained model and dataset +packaged with this library. They include: +- Demo: a basic demo of library functionality that renders 2 plots +- MatplotlibDemo: Demo but with matplotlib instead of plotly +- DashDemo: Non-jupyter notebook version of an interactive dash +website demo +- DashNotebookDemo: Notebook version of an interactive website demo +- DashKaggleDemo: Notebook version of an dash demo that works in kaggle +notebooks +- DataOverlayDemo: Demonstrates data overlay features + +See [MLVisualizationTools/Examples](/MLVisualizationTools/examples) for more examples. +Use example.main() to run the examples and set parameters such as themes. + +## Support for more ML Libraries + +We support any ML library that has a `predict()` call that takes +a pd Dataframe with features. If this doesn't work, use a wrapper class like +in this example: + +```python +import pandas as pd + +class ModelWrapper: + def __init(self, model): + self.model = model + + def predict(self, dataframe: pd.DataFrame): + ... #Do whatever code you need here +``` + +## Tensorflow Compatibility + +MLVisualizationTools is distributed with a pretrained tensorflow model +to make running examples quick and easy. It is not needed for main library functions. + +For version 2.0 through 2.4, we load a v2.0 model. +For version 2.5+ we load a v2.5 model. + +If this causes compatibility issues you can still use the main library on your models. +If you need an example model, retrain it with +[TrainTitanicModel.py](/MLVisualizationTools/examples/TrainTitanicModel.py) + + +%package help +Summary: Development documents and examples for MLVisualizationTools +Provides: python3-MLVisualizationTools-doc +%description help +# MLVisualizationTools + + + + + +MLVisualizationTools is a python library to make +machine learning more understandable through the +use of effective visualizations. + + + +We support graphing with matplotlib and plotly. +We implicity support all major ML libraries, such as +tensorflow and sklearn. + +You can use the built in apps to quickly anaylyze your +existing models, or build custom projects using the modular +sets of functions. + +## Installation + +`pip install MLVisualizationTools` + +Depending on your use case, tensorflow, plotly and matplotlib might need to be +installed. + +`pip install tensorflow` +`pip install plotly` +`pip install matplotlib` + +To use interactive webapps, use the `pip install MLVisualizationTools[dash]` or `pip install MLVisualizationTools[dash-notebook]` +flags on install. + +If you are running on a notebook that doesn't have dash support (like kaggle), you might need +`pip install MLVisualizationTools[ngrok-tunneling]` + +## Express + +To get started using MLVisualizationTools, run one of the prebuilt apps. + +```python +import MLVisualizationTools.express.DashModelVisualizer as App + +model = ... #your keras model +data = ... #your pandas dataframe with features + +App.visualize(model, data) +``` + +## Functions + +MLVisualizationTools connects a variety of smaller functions. + +Steps: +1. Keras Model and Dataframe with features +2. Analyzer +3. Interface / Interface Raw (if you don't have a dataframe) +4. Colorizers (optional) +5. Apply Training Data Points (Optional) +6. Colorize data points (Optional) +7. Graphs + +Analyzers take a keras model and return information about the inputs +such as which ones have high variance. + +Interfaces take parameters and construct a multidimensional grid +of values based on plugging these numbers into the model. + +(Raw interfaces allow you to use interfaces by specifying column +data instead of a pandas dataframe. Column data is a list with a dict with name, min, +max, and mean values for each feature column) + +Colorizers mark points as being certain colors, typically above or below +0.5. + +Data Interfaces render training data points on top of the +graph to make it easier to tell if the model trained properly. + +Graphs turn these output grids into a visual representation. + +## Sample + +```python +from MLVisualizationTools import Analytics, Interfaces, Graphs, Colorizers, DataInterfaces + +#Displays plotly graphs with max variance inputs to model + +model = ... #your model +df = ... #your dataframe +AR = Analytics.analyzeModel(model, df) +maxvar = AR.maxVariance() + +grid = Interfaces.predictionGrid(model, maxvar[0], maxvar[1], df) +grid = Colorizers.binary(grid) +grid = DataInterfaces.addPercentageData(grid, df, str('OutputKey')) +fig = Graphs.plotlyGraph(grid) +fig.show() +``` + +## Prebuilt Examples + +Prebuilt examples run off of the pretrained model and dataset +packaged with this library. They include: +- Demo: a basic demo of library functionality that renders 2 plots +- MatplotlibDemo: Demo but with matplotlib instead of plotly +- DashDemo: Non-jupyter notebook version of an interactive dash +website demo +- DashNotebookDemo: Notebook version of an interactive website demo +- DashKaggleDemo: Notebook version of an dash demo that works in kaggle +notebooks +- DataOverlayDemo: Demonstrates data overlay features + +See [MLVisualizationTools/Examples](/MLVisualizationTools/examples) for more examples. +Use example.main() to run the examples and set parameters such as themes. + +## Support for more ML Libraries + +We support any ML library that has a `predict()` call that takes +a pd Dataframe with features. If this doesn't work, use a wrapper class like +in this example: + +```python +import pandas as pd + +class ModelWrapper: + def __init(self, model): + self.model = model + + def predict(self, dataframe: pd.DataFrame): + ... #Do whatever code you need here +``` + +## Tensorflow Compatibility + +MLVisualizationTools is distributed with a pretrained tensorflow model +to make running examples quick and easy. It is not needed for main library functions. + +For version 2.0 through 2.4, we load a v2.0 model. +For version 2.5+ we load a v2.5 model. + +If this causes compatibility issues you can still use the main library on your models. +If you need an example model, retrain it with +[TrainTitanicModel.py](/MLVisualizationTools/examples/TrainTitanicModel.py) + + +%prep +%autosetup -n MLVisualizationTools-0.6.3 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-MLVisualizationTools -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.3-1 +- Package Spec generated @@ -0,0 +1 @@ +e0ee6e6f2347c275ee9e09877555459c MLVisualizationTools-0.6.3.tar.gz |