Coder Social home page Coder Social logo

selfexplainml / piml-toolbox Goto Github PK

View Code? Open in Web Editor NEW
878.0 23.0 106.0 248.07 MB

PiML (Python Interpretable Machine Learning) toolbox for model development & diagnostics

Home Page: https://selfexplainml.github.io/PiML-Toolbox

License: Apache License 2.0

Jupyter Notebook 100.00%
interpretable-machine-learning low-code ml-workflow model-diagnostics

piml-toolbox's People

Contributors

ajzhanghk avatar cnbdm-su avatar eveyz avatar parulnith avatar simoncos avatar zebinyang avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

piml-toolbox's Issues

Handling Larger size datasets

Hello!

Thank you very much for providing this tool!

Is it possible to use any csv files that are more than 10MB in size? Is there a work around to handle larger datafiles (~500MB). Thank you very much in advance for your help!

exp.data_prepare() not working

Hi,

I am simply trying to run piml with an imported dataset. This is what I have:

from piml import Experiment exp=Experiment() exp.data_loader(data=data) exp.data_summary() exp.data_prepare()

Then I get the following error:

`---> 1 exp.data_prepare()

File piml/api.py:179, in piml.api.Experiment.data_prepare()

File piml/api.py:816, in piml.api.Experiment._data_prepare_panel()

File piml/workflow/data_api.py:112, in piml.workflow.data_api.DataAPI.prepare_model()

File piml/workflow/base.py:54, in piml.workflow.base.Model.init()

File piml/workflow/base.py:175, in piml.workflow.base.Model.model_prepare()

File piml/models/glm.py:17, in piml.models.glm.GLMRegressor.init()

File piml/models/glm.py:225, in piml.models.glm.PiLinearRegression.init()

TypeError: init() got an unexpected keyword argument 'normalize'`

How can I resolve this?

Thank you

Where are the source codes

Hi,

In order to learn the details of the different algorithms and how to implement them, I am wondering whether the source codes of the different algorithms such as GAMI-Net, Unwrapping Deep ReLu, fairess, etc are available? What programing language do you use to write the algorithms?

Thanks,

High-code grid search examples?

Is it possible to make a high-code example for random or Cartesian grid search? I could not find one after a brief search of the doc ... please let me know if there is an example already.

Is there a preferred approach for grid search in PiML that I am missing?

Unable to install on Ubuntu 20.04

Hi, this project looks really interesting and I would love to try it out. However, I can't install it on 64-bit Ubuntu 20.04 under various Python versions (3.8, 3.9, and 3.10). The error message is just:

ERROR: Could not find a version that satisfies the requirement PiML
ERROR: No matching distribution found for PiML

Is this expected? Are there only some operating systems supported?

Support residual by level or bin of feature?

Would be a nice enhancement to support residual plots and analysis by feature and by level or bin of feature. This just allows for spotting of specific bugs, like in the image below.

mlha_0807

Prototype code here: https://nbviewer.org/github/jphall663/interpretable_machine_learning_with_python/blob/master/debugging_resid_analysis_redux.ipynb, cell 18.

For categorical features, residuals can be plotted across top-k levels, for numeric features they will have to binned before plotting.

Saving models?

Hi,

Is there a way to save models generated in PIML so that I do not need to run the program and train the model each time?
Also, what is the best way to export results? Is there any way to export results such that the widgets are still interactive? I have just been saving the notebook as an html file in order to share results.

Thank you

Documentation

Dear,
Is there somewhere extended documentation about the toolbox, its functionalities and different input possibilities? Now, I tried to deduce it from the examples. Furthermore, the interpretability results for the 10 most important features are given. But how could I get it for all features?

Many thanks.

Error with training classification models

Hi,
When training classification models, I get the following error:

UnboundLocalError Traceback (most recent call last)
File piml/dashboard/model_panel.py:419, in piml.dashboard.model_panel.ModelTrainingPanel.train_register_panel.train_data_f()

UnboundLocalError: local variable 'df' referenced before assignment

Do you know how to fix this?

Thank you

Error in data_prepare

exp.data_prepare(target='target', task_type='Classification', test_ratio=0.2, random_state=0)

gave me this error:

---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

[<ipython-input-119-03d607a1b01e>](https://localhost:8080/#) in <cell line: 1>()
----> 1 exp.data_prepare(target='target', task_type='Classification', test_ratio=0.2, random_state=0)

10 frames

/usr/local/lib/python3.10/dist-packages/piml/api.cpython-310-x86_64-linux-gnu.so in piml.api.Experiment.data_prepare()

/usr/local/lib/python3.10/dist-packages/piml/api.cpython-310-x86_64-linux-gnu.so in piml.api.Experiment._data_prepare_api()

/usr/local/lib/python3.10/dist-packages/piml/workflow/data_api.cpython-310-x86_64-linux-gnu.so in piml.workflow.data_api.DataAPI.prepare_data()

/usr/local/lib/python3.10/dist-packages/piml/data/base.cpython-310-x86_64-linux-gnu.so in piml.data.base.DataSet.data_prepare()

/usr/local/lib/python3.10/dist-packages/piml/data/base.cpython-310-x86_64-linux-gnu.so in piml.data.base.DataSet.fit_preprocessor()

/usr/local/lib/python3.10/dist-packages/piml/data/data_preprocessor.cpython-310-x86_64-linux-gnu.so in piml.data.data_preprocessor.DataPreprocessor.fit()

[/usr/local/lib/python3.10/dist-packages/sklearn/utils/_set_output.py](https://localhost:8080/#) in wrapped(self, X, *args, **kwargs)
    138     @wraps(f)
    139     def wrapped(self, X, *args, **kwargs):
--> 140         data_to_wrap = f(self, X, *args, **kwargs)
    141         if isinstance(data_to_wrap, tuple):
    142             # only wrap the first output for cross decomposition

/usr/local/lib/python3.10/dist-packages/piml/data/data_preprocessor.cpython-310-x86_64-linux-gnu.so in piml.data.data_preprocessor.DataPreprocessor.fit_transform()

/usr/local/lib/python3.10/dist-packages/numpy/core/overrides.py in unique(*args, **kwargs)

[/usr/local/lib/python3.10/dist-packages/numpy/lib/arraysetops.py](https://localhost:8080/#) in unique(ar, return_index, return_inverse, return_counts, axis, equal_nan)
    272     ar = np.asanyarray(ar)
    273     if axis is None:
--> 274         ret = _unique1d(ar, return_index, return_inverse, return_counts, 
    275                         equal_nan=equal_nan)
    276         return _unpack_tuple(ret)

[/usr/local/lib/python3.10/dist-packages/numpy/lib/arraysetops.py](https://localhost:8080/#) in _unique1d(ar, return_index, return_inverse, return_counts, equal_nan)
    334         aux = ar[perm]
    335     else:
--> 336         ar.sort()
    337         aux = ar
    338     mask = np.empty(aux.shape, dtype=np.bool_)

TypeError: '<' not supported between instances of 'str' and 'float'

Interpretation of L1 and L2 values in GLM options

Hi,

What exactly do the L1 and L2 values refer to in the GLM model? Is it the lambda value or the lambda value multiplied by the alpha (or 1-alpha)? I got a result where the elastic net model selected zero variables, which was a very unexpected result. Consequently, I am suspecting that I am misinterpreting what the L1 and L2 values are referring to in PiML.

Thank you

Trouble Registering a Tensorflow Model

Hi,

I have been reading the "Example_ExternalModels.ipynb" and wanted to register a Tensorflow keras model.

However, after I converted the Keras model into an Estimator (please correct me if this is not right), the model registering step failed saying "'generator' object has no attribute 'shape'".

Below was the code:

# https://www.tensorflow.org/tutorials/estimator/keras_model_to_estimator
import tempfile
model_dir = tempfile.mkdtemp()

normalizer = layers.Normalization(axis=-1)
# normalizer.adapt(np.array(train_x)) # this causes model_to_estimator to fail

dnn_model = keras.Sequential([
        normalizer,
        layers.Dense(512, activation='relu', input_dim=train_x.shape[1]),
        layers.Dense(512, activation='relu'),
        layers.Dense(1, activation='sigmoid')
])
    
dnn_model.compile(loss='binary_crossentropy', optimizer=keras.optimizers.Adam(learning_rate=0.0001), metrics=['accuracy'])

keras_estimator = tf.keras.estimator.model_to_estimator(keras_model=dnn_model, model_dir=model_dir)

from piml import Experiment
exp_2 = Experiment()
pipeline_1 = exp_2.make_pipeline(model=keras_estimator, train_x=train_x, train_y=train_y.ravel(),
                             test_x=test_x, test_y=test_y.ravel(),
                             feature_names=feature_names, target_name="latency")
exp_2.register(pipeline_1, "my-dnn")

Here is the error:

AttributeError                            Traceback (most recent call last)
[<ipython-input-34-505e7d52087b>](https://localhost:8080/#) in <module>
     22                              test_x=test_x, test_y=test_y.ravel(),
     23                              feature_names=feature_names, target_name="latency")
---> 24 exp_2.register(pipeline_1, "my-dnn")

1 frames
/usr/local/lib/python3.9/dist-packages/piml/workflow/base.cpython-39-x86_64-linux-gnu.so in piml.workflow.base.Model.register_model()

AttributeError: 'generator' object has no attribute 'shape'

I was running on Google Colab with the installation of

!pip install piml
!pip install numpy==1.23.5

For train and test data, I used sklearn's standard train_test_split. And make_pipline() seemed successful.

Appreciate any help on how to register a Tensorflow model.

Thanks in advance!

Export visualization

Hi, thanks for making this tool. I just wonder is there anyway to export the plots. Sometimes, our engineers don't have jupter, and we need to make a UI for them. I wonder if we can use PiML in the backend, save the plot in the backend and show the plots in the frond end. Thanks.

GLM with cross validation

Hi,

I want to run GLM with cross validation and then view the interpretability results with PiML. I tried to do the following but got an error.
How can I do this?

Thank you

image

Registered model

Hey guys, once the model are trained how can i save them to test on other dataset? I see that the model are registered in the experiment object but then i cannot retrieve them back. Thanks in advance

SHAP Summary plot for all SHAP values.

The SHAP value for each sample index can be drawn using the model however, I couldn't find a way to develop the SHAP value summary plot using the package. Is there a way to develop other SHAP plots like SHAP Dependence Contribution Plots and summary plot for the model developed using custom data?

Output coefficients for glm

Hi,

Is there a way to output all of the estimated coefficients for a trained GLM model? I see there is a plot displaying the coefficients but is there a way to output them in a list or something that can be saved?

Thank you

Add rule-based interpretable models?

Hi, I really like this package you've built, especially the data preparation / eda.

I've been developing the imodels package, which provides access to a bunch of inherently interpretable models. It would be really cool to be able to use some of these models (e.g. RuleFit, FIGS) in this toolbox too!

Best,
Chandan

Elasticnet inconsistencies

This is a follow up from issue #26 .

Screenshot 2023-07-29 at 7 04 05 PM Screenshot 2023-07-29 at 7 04 17 PM Screenshot 2023-07-29 at 7 04 28 PM Screenshot 2023-07-29 at 7 04 51 PM Screenshot 2023-07-29 at 7 06 26 PM

When using GLMRegressor, I get very different results than from when I use the method shown in the README, which gives a very poor R2 and says all coefficients are 0. I am certain that this is wrong because we have run elastic net on this data in R and python and have gotten similar results that show a much better R2. The results from the glmRegressor look more reasonable. I am trying to use piml to compare many models at once on the same train/test split (the elastic net models with specific parameters included). We would like to use the results from PiML in an upcoming paper, but this problem with PiML's elastic net is preventing us from being able to do so. Please let me know if there is a solution to this.

In summary, I want to find a way to run elastic net using the same train/test split as when I run all of the other models in PiML. Is there a way to do this?

Thank you

Replicating sklearn elastic net results in PiML

Hi,

I trained an elastic net model using sklearn in python (from sklearn.linear_model import ElasticNet). I used the following parameters: ElasticNet(alpha = 0.434, l1_ratio = 0.5) . What can I enter into the L1 and L2 input in the GLM model in PiML to replicate these results (assuming I am using the same data with the same random seed)?

Thanks

how to run piml as a python module? (not in the jupyter)

Hi there.
I want to use piml as a python module in a fastapi service. how to run it out of jupyter?
For example when I run this in python shell I get this error:


from piml import Experiment

exp = Experiment()

exp.data_loader()

------
AttributeError: 'NoneType' object has no attribute 'events'

thanks.

Parameter Tuning

Hi,

Is there a way to tune the parameters for the built-in models in PiML? For example, the L1 and L2 penalties for the GLM model default to 0. Is there any built-in way to tune these parameters or would we need to use external methods?

Thank you!

Elastic net removes all predictors

Hi,

When I try to run elastic net in PiML, I can get an r2 value and other global interpretability metrics, but when I try to look at the influence of individual predictors, I see that the model has removed each predictor. When running code in sklearn that should give identical results, elastic net does not remove all of the predictors. I am not sure what is going on here. Perhaps it is some kind of bug?

Thank you

GAMI-Tree implementation

It looks like GAMI-Tree is an extension/variant of EBM and GAMI-Net. GAMI-Tree utilizes model-based trees and boosting for describing main and interaction effects instead of neural networks, and there are a few additional algorithms for interaction filtering and iterative fitting. Perhaps it is more computationally efficient, though there is no speed comparison benchmark in the paper. I wonder if there is any plan to implement this method in PiML-Toolbox.

scikit-learn 1.3.0 triggers "ImportError: cannot import name SCORERS"

Hey PiML team—we at SolasAI just ran into this issue today: Now that scikit-learn 1.3.0 is out, it appears to cause an import error in piml/data/base.py.

Reproducing

python3.8 -m venv .venv
source .venv/bin/activate
pip install piml
python -c 'from piml import Experiment'

Stacktrace

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/mike-wilkerson/code/piml-test/.venv/lib/python3.8/site-packages/piml/__init__.py", line 1, in <module>
    from .api import Experiment
  File "piml/api.py", line 12, in init piml.api
  File "/home/mike-wilkerson/code/piml-test/.venv/lib/python3.8/site-packages/piml/dashboard/__init__.py", line 1, in <module>
    from .fairness_panel import FairnessPanel, FairnessComparePanel
  File "piml/dashboard/fairness_panel.py", line 11, in init piml.dashboard.fairness_panel
  File "/home/mike-wilkerson/code/piml-test/.venv/lib/python3.8/site-packages/piml/workflow/__init__.py", line 1, in <module>
    from .base import Model
  File "piml/workflow/base.py", line 10, in init piml.workflow.base
  File "piml/workflow/pipeline.py", line 10, in init piml.workflow.pipeline
  File "piml/data/base.py", line 7, in init piml.data.base
ImportError: cannot import name SCORERS

Temporary workaround

On a hunch, we checked to see if scikit-learn had been updated recently, and discovered that 1.3.0 was released on June 30. To temporarily work around this issue, we just used pip install scikit-learn==1.2.2 to roll back.

Misc info

OS: Ubuntu 20.04
Python version: 3.8

Please let us know if you need any more information!

Example codes do not run on Colab

Hi,

I am running the PiML examples on Colab via the links in this Github Repo. Those example notebooks worked on Colab about 1 month ago, but they do not work now. Here are the errors:

!pip install piml
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
tensorflow 2.12.0 requires numpy<1.24,>=1.22, but you have numpy 1.24.2 which is incompatible.

!pip install numpy==1.23.5
!pip install xgboost==1.7.2
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
pygam 0.9.0 requires numpy<2.0.0,>=1.24.2, but you have numpy 1.23.5 which is incompatible.

from piml import Experiment
exp = Experiment()
RuntimeError Traceback (most recent call last)
RuntimeError: module compiled against API version 0x10 but this version of numpy is 0xf

Would you please sort out how to fix the errors?

Thanks

Possibly documentation error?

In the user guide 6.6.2.1. Resilience Performance, the description of each figure seems to be wrong.

  1. Worst sample figure: "The curve depicted in the plot is monotonic, indicating that as the worst sample ratio increases, the model’s performance tends to decrease". The figure however seems to be displaying a monotonically increasing AUC as WSR increases.
  2. Outer sample figure: "Interestingly, the model’s performance reaches its peak around the worst sample ratio of approximately 0.7, after which it gradually declines". The figure displays a 0.83 AUC as WSR tends to 1.0.

It could be that I understood it all wrong though. Please let me know if it's an error or that I should understand it all differently. Thank you.

Consider model ranking

It would be nice to have explicit model ranking for selection. I.e., something that answers the question of which is the "best" model between a group of trained models without human-eyeballing (of course human eye-balling is also great!). This would be in addition to Pareto-based selection, not a replacement for Pareto-based selection.

Consider Caruana et al. 2004 "b" - https://dl.acm.org/doi/10.1145/1046456.1046470.

I have a prototype here: https://jphall663.github.io/GWU_rml/, code: https://nbviewer.org/github/jphall663/GWU_rml/blob/master/assignments/eval.ipynb.

In addition to prototype, would be really cool for users to be able to:

  • select the number and type of assessments, e.g., 3 assessments: AUC, max. ACC, and AIR (gets at balancing real-world selection criteria)
  • for users to choose between random folds and user-selected segments (gets at weakspots and robustness)
  • for users to be able to perturb folds or data segments (gets at robustness)

(The current prototype is fixed at 5 folds, fixed with five quality assessment stats (no AIR, etc.), and does not perturb folds.)

Let me know if you'd like to discuss.

Saving trained models

Hi,

I have asked about this in a previous, closed issue (#14), but the solution given is not working.

Has this solution worked for you with PiML? When I try this solution, this line:
with open('name_model.pkl', 'rb') as file: clf_load = dill.load(file)

results in a recursion error every time. I tried changing the recursion limit but even with a recursion limit pf 10000000 I still run into this error. Increasing the recursion limit indefinitely just causes the kernel to crash.

The error is as follows:

RecursionError Traceback (most recent call last)
Cell In [39], line 2
1 with open('name_model.pkl', 'rb') as file:
----> 2 clf_load = dill.load(file)

File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:272, in load(file, ignore, **kwds)
266 def load(file, ignore=None, **kwds):
267 """
268 Unpickle an object from a file.
269
270 See :func:loads for keyword arguments.
271 """
--> 272 return Unpickler(file, ignore=ignore, **kwds).load()

File /n/holylfs05/LABS/liang_lab_l3/Lab/piml_py39_shared/lib/python3.9/site-packages/dill/_dill.py:419, in Unpickler.load(self)
418 def load(self): #NOTE: if settings change, need to update attributes
--> 419 obj = StockUnpickler.load(self)
420 if type(obj).module == getattr(_main_module, 'name', 'main'):
421 if not self._ignore:
422 # point obj class to main

File piml/models/glm.py:32, in piml.models.glm.GLMRegressor.getattr()

File piml/models/glm.py:32, in piml.models.glm.GLMRegressor.getattr()

[... skipping similar frames: piml.models.glm.GLMRegressor.getattr at line 32 (9999967 times)]
File piml/models/glm.py:32, in piml.models.glm.GLMRegressor.getattr()

RecursionError: maximum recursion depth exceeded while calling a Python object

Any help with this would be very appreciated. When using PiML for research purposes, being able to save a trained model is essential for reproducibility. Thank you!

Very slow import

Hi PiML team,

I cant wait to try out your toolbox, however I run into issues with the import itself.

from piml import Experiment 

takes about two-three minutes. And I get the following warnings

[.venv/lib/python3.10/site-packages/pygam/pygam.py:276](https://file+.vscode-resource.vscode-cdn.net/Users/matejuhrin/repo-others/solar-generation/.venv/lib/python3.10/site-packages/pygam/pygam.py:276): SyntaxWarning: "is" with a literal. Did you mean "=="?
  if self.terms is 'auto':
SyntaxWarning: "is not" with a literal. Did you mean "!="?
  if (self.terms is not 'auto') and not (isinstance(self.terms, (TermList, Term, type(None)))): 
...

Is it possible to not import pyGAM or in other ways speed up the whole import procedure ?

My python is

'3.10.11 (main, Jul  3 2023, 18:02:14) [Clang 14.0.3 (clang-1403.0.22.14.1)]'
i386

thank you and have a great day.

Can we enable conda forge for PiML

we are able to install successfully using pip, is it possible to enable conda forge so that we can install PiML using "conda install".

VSCode cannot display some graphs

Hi,

The graphs for exp.eda() and the window for exp.model_train() displayed fine.

Screenshot 2023-03-21 at 10 34 52 PM

However, exp.model_interpret() and exp.mode l_explain()'s results do not show in the jupyter notebook.

Screenshot 2023-03-21 at 10 32 39 PM

Tried many times, such as restarting the kernel, which didn't solve the problem.

Is there a way to use commands to select the model that display the graphs? I think that after selecting an item, the HTML needs to be re-rendered, and the second re-rendered seemed to fail.

Below are my version:
MacOS: 13.2.1
VSCode: 1.76.2 (Universal)
ipywidgets: 8.0.5
ipykernel: 6.17.1
ipython: 8.11.0

In Colab, all the GUI worked fine. But would like to run the notebook locally.

Appreciate any help!

What does the back end run on?

I know that this project is not currently open source, but would it be possible to know what packages the backend uses? Do you use scikit-learn to calculate most of the interpretability measurements? This would be useful to know because it tells us exactly how these metrics are calculated. For example, permutation feature importance can be calculated in multiple different ways. One can permute the observations of each feature n times, or one can swap the observations of one feature with those of another. Also, there are several different metrics one can use to quantify permutation feature importance (R2, MSE, or RMSE for regression models and accuracy, precision, etc. for classification models).

Thank you

Add New Feature Selectors and Set on data

Hi. I want to add different Feature Selectors and different Classifiers. I try from Arbitrary part, but my question is how can I select the one which I want to work with?
I have started to work with this tool, and I couldn't find any file which have a complete explanation of this tool.
Thanks

Colab cannot import piml: initialization of _internal failed

Hi,
I tried "Example_CaliforniaHousing.ipynb" for a long time but still couldn't get the initial importing of PiML working.
Tried on 2023-03-18 using Google Colab py39 runtime without a hardware accelerator.

Running the first cell !pip install piml, I got most all dependencies installed, but an error was thrown:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

I ignored the error, restarted the runtime, and moved to the next cell from piml import Experiment. I got an error (trimmed to the end):

File /usr/local/lib/python3.9/dist-packages/numba/np/ufunc/decorators.py:3
      1 import inspect
----> 3 from numba.np.ufunc import _internal
      4 from numba.np.ufunc.parallel import ParallelUFuncBuilder, ParallelGUFuncBuilder
      6 from numba.core.registry import TargetRegistry

SystemError: initialization of _internal failed without raising an exception

Is there a way to resolve this? Thanks!

Extra:

Full error of the first cell:

!pip install piml

Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/
Collecting piml
  Downloading PiML-0.4.3-cp39-none-manylinux_2_5_x86_64.whl (9.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.8/9.8 MB 40.6 MB/s eta 0:00:00
Collecting natsort>=8.2.0
  Downloading natsort-8.3.1-py3-none-any.whl (38 kB)
Collecting shap>=0.39.0
  Downloading shap-0.41.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (572 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 572.4/572.4 KB 19.8 MB/s eta 0:00:00
Collecting pygam>=0.8.0
  Downloading pygam-0.9.0-py3-none-any.whl (522 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 522.2/522.2 KB 25.7 MB/s eta 0:00:00
Requirement already satisfied: torch>=1.11.0 in /usr/local/lib/python3.9/dist-packages (from piml) (1.13.1+cu116)
Requirement already satisfied: numpy>=1.21.4 in /usr/local/lib/python3.9/dist-packages (from piml) (1.22.4)
Requirement already satisfied: pandas>=1.3.5 in /usr/local/lib/python3.9/dist-packages (from piml) (1.4.4)
Requirement already satisfied: scikit-learn>=0.24.2 in /usr/local/lib/python3.9/dist-packages (from piml) (1.2.2)
Requirement already satisfied: statsmodels>=0.12.2 in /usr/local/lib/python3.9/dist-packages (from piml) (0.13.5)
Requirement already satisfied: matplotlib>=3.1.2 in /usr/local/lib/python3.9/dist-packages (from piml) (3.7.1)
Requirement already satisfied: lightgbm>=3.1.1 in /usr/local/lib/python3.9/dist-packages (from piml) (3.3.5)
Requirement already satisfied: scipy>=1.5.3 in /usr/local/lib/python3.9/dist-packages (from piml) (1.10.1)
Collecting dcor>=0.5.3
  Downloading dcor-0.6-py3-none-any.whl (55 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 55.5/55.5 KB 1.2 MB/s eta 0:00:00
Requirement already satisfied: xlrd>=1.2.0 in /usr/local/lib/python3.9/dist-packages (from piml) (2.0.1)
Requirement already satisfied: xgboost>=1.4.2 in /usr/local/lib/python3.9/dist-packages (from piml) (1.7.4)
Collecting ipython>=7.12.0
  Downloading ipython-8.11.0-py3-none-any.whl (793 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 793.3/793.3 KB 29.6 MB/s eta 0:00:00
Requirement already satisfied: joblib>=1.1.0 in /usr/local/lib/python3.9/dist-packages (from piml) (1.1.1)
Requirement already satisfied: psutil>=5.9.0 in /usr/local/lib/python3.9/dist-packages (from piml) (5.9.4)
Collecting lime>=0.2.0.1
  Downloading lime-0.2.0.1.tar.gz (275 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 275.7/275.7 KB 14.6 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Requirement already satisfied: seaborn>=0.11.2 in /usr/local/lib/python3.9/dist-packages (from piml) (0.12.2)
Collecting momentchi2
  Downloading momentchi2-0.1.8-py3-none-any.whl (11 kB)
Collecting dill>=0.3.6
  Downloading dill-0.3.6-py3-none-any.whl (110 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 110.5/110.5 KB 6.2 MB/s eta 0:00:00
Requirement already satisfied: packaging>=20.5 in /usr/local/lib/python3.9/dist-packages (from piml) (23.0)
Requirement already satisfied: ipywidgets>=7.7.0 in /usr/local/lib/python3.9/dist-packages (from piml) (7.7.1)
Requirement already satisfied: numba>=0.51 in /usr/local/lib/python3.9/dist-packages (from dcor>=0.5.3->piml) (0.56.4)
Collecting stack-data
  Downloading stack_data-0.6.2-py3-none-any.whl (24 kB)
Requirement already satisfied: pickleshare in /usr/local/lib/python3.9/dist-packages (from ipython>=7.12.0->piml) (0.7.5)
Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.9/dist-packages (from ipython>=7.12.0->piml) (4.8.0)
Requirement already satisfied: pygments>=2.4.0 in /usr/local/lib/python3.9/dist-packages (from ipython>=7.12.0->piml) (2.6.1)
Collecting matplotlib-inline
  Downloading matplotlib_inline-0.1.6-py3-none-any.whl (9.4 kB)
Collecting prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30
  Downloading prompt_toolkit-3.0.38-py3-none-any.whl (385 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 385.8/385.8 KB 20.2 MB/s eta 0:00:00
Requirement already satisfied: backcall in /usr/local/lib/python3.9/dist-packages (from ipython>=7.12.0->piml) (0.2.0)
Requirement already satisfied: decorator in /usr/local/lib/python3.9/dist-packages (from ipython>=7.12.0->piml) (4.4.2)
Requirement already satisfied: traitlets>=5 in /usr/local/lib/python3.9/dist-packages (from ipython>=7.12.0->piml) (5.7.1)
Collecting jedi>=0.16
  Downloading jedi-0.18.2-py2.py3-none-any.whl (1.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 53.3 MB/s eta 0:00:00
Requirement already satisfied: ipython-genutils~=0.2.0 in /usr/local/lib/python3.9/dist-packages (from ipywidgets>=7.7.0->piml) (0.2.0)
Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /usr/local/lib/python3.9/dist-packages (from ipywidgets>=7.7.0->piml) (3.0.5)
Requirement already satisfied: widgetsnbextension~=3.6.0 in /usr/local/lib/python3.9/dist-packages (from ipywidgets>=7.7.0->piml) (3.6.2)
Requirement already satisfied: ipykernel>=4.5.1 in /usr/local/lib/python3.9/dist-packages (from ipywidgets>=7.7.0->piml) (5.3.4)
Requirement already satisfied: wheel in /usr/local/lib/python3.9/dist-packages (from lightgbm>=3.1.1->piml) (0.40.0)
Requirement already satisfied: tqdm in /usr/local/lib/python3.9/dist-packages (from lime>=0.2.0.1->piml) (4.65.0)
Requirement already satisfied: scikit-image>=0.12 in /usr/local/lib/python3.9/dist-packages (from lime>=0.2.0.1->piml) (0.19.3)
Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=3.1.2->piml) (1.4.4)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=3.1.2->piml) (1.0.7)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=3.1.2->piml) (0.11.0)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=3.1.2->piml) (3.0.9)
Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=3.1.2->piml) (8.4.0)
Requirement already satisfied: python-dateutil>=2.7 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=3.1.2->piml) (2.8.2)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=3.1.2->piml) (4.39.0)
Requirement already satisfied: importlib-resources>=3.2.0 in /usr/local/lib/python3.9/dist-packages (from matplotlib>=3.1.2->piml) (5.12.0)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.9/dist-packages (from pandas>=1.3.5->piml) (2022.7.1)
Collecting progressbar2<5.0.0,>=4.2.0
  Downloading progressbar2-4.2.0-py2.py3-none-any.whl (27 kB)
Collecting numpy>=1.21.4
  Downloading numpy-1.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 17.3/17.3 MB 38.2 MB/s eta 0:00:00
Requirement already satisfied: threadpoolctl>=2.0.0 in /usr/local/lib/python3.9/dist-packages (from scikit-learn>=0.24.2->piml) (3.1.0)
Collecting slicer==0.0.7
  Downloading slicer-0.0.7-py3-none-any.whl (14 kB)
Requirement already satisfied: cloudpickle in /usr/local/lib/python3.9/dist-packages (from shap>=0.39.0->piml) (2.2.1)
Requirement already satisfied: patsy>=0.5.2 in /usr/local/lib/python3.9/dist-packages (from statsmodels>=0.12.2->piml) (0.5.3)
Requirement already satisfied: typing-extensions in /usr/local/lib/python3.9/dist-packages (from torch>=1.11.0->piml) (4.5.0)
Requirement already satisfied: zipp>=3.1.0 in /usr/local/lib/python3.9/dist-packages (from importlib-resources>=3.2.0->matplotlib>=3.1.2->piml) (3.15.0)
Requirement already satisfied: tornado>=4.2 in /usr/local/lib/python3.9/dist-packages (from ipykernel>=4.5.1->ipywidgets>=7.7.0->piml) (6.2)
Requirement already satisfied: jupyter-client in /usr/local/lib/python3.9/dist-packages (from ipykernel>=4.5.1->ipywidgets>=7.7.0->piml) (6.1.12)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in /usr/local/lib/python3.9/dist-packages (from jedi>=0.16->ipython>=7.12.0->piml) (0.8.3)
Requirement already satisfied: llvmlite<0.40,>=0.39.0dev0 in /usr/local/lib/python3.9/dist-packages (from numba>=0.51->dcor>=0.5.3->piml) (0.39.1)
Collecting numba>=0.51
  Downloading numba-0.56.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 66.3 MB/s eta 0:00:00
  Downloading numba-0.56.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 83.7 MB/s eta 0:00:00
  Downloading numba-0.56.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 82.7 MB/s eta 0:00:00
  Downloading numba-0.55.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 79.0 MB/s eta 0:00:00
Collecting llvmlite<0.39,>=0.38.0rc1
  Downloading llvmlite-0.38.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.5 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.5/34.5 MB 15.6 MB/s eta 0:00:00
Collecting numba>=0.51
  Downloading numba-0.55.1-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 82.6 MB/s eta 0:00:00
  Downloading numba-0.55.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 75.4 MB/s eta 0:00:00
  Downloading numba-0.54.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 84.7 MB/s eta 0:00:00
Collecting llvmlite<0.38,>=0.37.0rc1
  Downloading llvmlite-0.37.0-cp39-cp39-manylinux2014_x86_64.whl (26.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 26.3/26.3 MB 52.4 MB/s eta 0:00:00
Collecting numba>=0.51
  Downloading numba-0.54.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 76.4 MB/s eta 0:00:00
  Downloading numba-0.53.1-cp39-cp39-manylinux2014_x86_64.whl (3.4 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 77.7 MB/s eta 0:00:00
Requirement already satisfied: setuptools in /usr/local/lib/python3.9/dist-packages (from numba>=0.51->dcor>=0.5.3->piml) (63.4.3)
Collecting llvmlite<0.37,>=0.36.0rc1
  Downloading llvmlite-0.36.0-cp39-cp39-manylinux2010_x86_64.whl (25.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 25.3/25.3 MB 48.9 MB/s eta 0:00:00
Requirement already satisfied: six in /usr/local/lib/python3.9/dist-packages (from patsy>=0.5.2->statsmodels>=0.12.2->piml) (1.15.0)
Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.9/dist-packages (from pexpect>4.3->ipython>=7.12.0->piml) (0.7.0)
Requirement already satisfied: python-utils>=3.0.0 in /usr/local/lib/python3.9/dist-packages (from progressbar2<5.0.0,>=4.2.0->pygam>=0.8.0->piml) (3.5.2)
Requirement already satisfied: wcwidth in /usr/local/lib/python3.9/dist-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=7.12.0->piml) (0.2.6)
Requirement already satisfied: imageio>=2.4.1 in /usr/local/lib/python3.9/dist-packages (from scikit-image>=0.12->lime>=0.2.0.1->piml) (2.9.0)
Requirement already satisfied: PyWavelets>=1.1.1 in /usr/local/lib/python3.9/dist-packages (from scikit-image>=0.12->lime>=0.2.0.1->piml) (1.4.1)
Requirement already satisfied: tifffile>=2019.7.26 in /usr/local/lib/python3.9/dist-packages (from scikit-image>=0.12->lime>=0.2.0.1->piml) (2023.3.15)
Requirement already satisfied: networkx>=2.2 in /usr/local/lib/python3.9/dist-packages (from scikit-image>=0.12->lime>=0.2.0.1->piml) (3.0)
Requirement already satisfied: notebook>=4.4.1 in /usr/local/lib/python3.9/dist-packages (from widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (6.3.0)
Collecting asttokens>=2.1.0
  Downloading asttokens-2.2.1-py2.py3-none-any.whl (26 kB)
Collecting pure-eval
  Downloading pure_eval-0.2.2-py3-none-any.whl (11 kB)
Collecting executing>=1.2.0
  Downloading executing-1.2.0-py2.py3-none-any.whl (24 kB)
Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.9/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (0.17.1)
Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.9/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (21.3.0)
Requirement already satisfied: jupyter-core>=4.6.1 in /usr/local/lib/python3.9/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (5.2.0)
Requirement already satisfied: nbconvert in /usr/local/lib/python3.9/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (6.5.4)
Requirement already satisfied: jinja2 in /usr/local/lib/python3.9/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (3.1.2)
Requirement already satisfied: pyzmq>=17 in /usr/local/lib/python3.9/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (23.2.1)
Requirement already satisfied: Send2Trash>=1.5.0 in /usr/local/lib/python3.9/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (1.8.0)
Requirement already satisfied: prometheus-client in /usr/local/lib/python3.9/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (0.16.0)
Requirement already satisfied: nbformat in /usr/local/lib/python3.9/dist-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (5.7.3)
Requirement already satisfied: platformdirs>=2.5 in /usr/local/lib/python3.9/dist-packages (from jupyter-core>=4.6.1->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (3.1.1)
Requirement already satisfied: argon2-cffi-bindings in /usr/local/lib/python3.9/dist-packages (from argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (21.2.0)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/dist-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (2.1.2)
Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (1.5.0)
Requirement already satisfied: entrypoints>=0.2.2 in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (0.4)
Requirement already satisfied: bleach in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (6.0.0)
Requirement already satisfied: defusedxml in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (0.2.2)
Requirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (0.8.4)
Requirement already satisfied: beautifulsoup4 in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (4.11.2)
Requirement already satisfied: lxml in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (4.9.2)
Requirement already satisfied: tinycss2 in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (1.2.1)
Requirement already satisfied: nbclient>=0.5.0 in /usr/local/lib/python3.9/dist-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (0.7.2)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.9/dist-packages (from nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (4.3.3)
Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.9/dist-packages (from nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (2.16.3)
Requirement already satisfied: attrs>=17.4.0 in /usr/local/lib/python3.9/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (22.2.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /usr/local/lib/python3.9/dist-packages (from jsonschema>=2.6->nbformat->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (0.19.3)
Requirement already satisfied: cffi>=1.0.1 in /usr/local/lib/python3.9/dist-packages (from argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (1.15.1)
Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.9/dist-packages (from beautifulsoup4->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (2.4)
Requirement already satisfied: webencodings in /usr/local/lib/python3.9/dist-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (0.5.1)
Requirement already satisfied: pycparser in /usr/local/lib/python3.9/dist-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets>=7.7.0->piml) (2.21)
Building wheels for collected packages: lime
  Building wheel for lime (setup.py) ... done
  Created wheel for lime: filename=lime-0.2.0.1-py3-none-any.whl size=283859 sha256=977759970aaaf5e3c539ceb4ea229ba921e34294642260690da4c7fac6e0c3ca
  Stored in directory: /root/.cache/pip/wheels/ed/d7/c9/5a0130d06d6310bc6cbe55220e6e72dcb8c4eff9a478717066
Successfully built lime
Installing collected packages: pure-eval, executing, slicer, prompt-toolkit, progressbar2, numpy, natsort, matplotlib-inline, llvmlite, jedi, dill, asttokens, stack-data, numba, pygam, momentchi2, ipython, dcor, shap, lime, piml
  Attempting uninstall: prompt-toolkit
    Found existing installation: prompt-toolkit 2.0.10
    Uninstalling prompt-toolkit-2.0.10:
      Successfully uninstalled prompt-toolkit-2.0.10
  Attempting uninstall: progressbar2
    Found existing installation: progressbar2 3.38.0
    Uninstalling progressbar2-3.38.0:
      Successfully uninstalled progressbar2-3.38.0
  Attempting uninstall: numpy
    Found existing installation: numpy 1.22.4
    Uninstalling numpy-1.22.4:
      Successfully uninstalled numpy-1.22.4
  Attempting uninstall: natsort
    Found existing installation: natsort 5.5.0
    Uninstalling natsort-5.5.0:
      Successfully uninstalled natsort-5.5.0
  Attempting uninstall: llvmlite
    Found existing installation: llvmlite 0.39.1
    Uninstalling llvmlite-0.39.1:
      Successfully uninstalled llvmlite-0.39.1
  Attempting uninstall: numba
    Found existing installation: numba 0.56.4
    Uninstalling numba-0.56.4:
      Successfully uninstalled numba-0.56.4
  Attempting uninstall: ipython
    Found existing installation: ipython 7.9.0
    Uninstalling ipython-7.9.0:
      Successfully uninstalled ipython-7.9.0
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
google-colab 1.0.0 requires ipython~=7.9.0, but you have ipython 8.11.0 which is incompatible.
Successfully installed asttokens-2.2.1 dcor-0.6 dill-0.3.6 executing-1.2.0 ipython-8.11.0 jedi-0.18.2 lime-0.2.0.1 llvmlite-0.36.0 matplotlib-inline-0.1.6 momentchi2-0.1.8 natsort-8.3.1 numba-0.53.1 numpy-1.24.2 piml-0.4.3 progressbar2-4.2.0 prompt-toolkit-3.0.38 pure-eval-0.2.2 pygam-0.9.0 shap-0.41.0 slicer-0.0.7 stack-data-0.6.2

Full error of the seond cell:

from piml import Experiment
exp = Experiment()


---------------------------------------------------------------------------
SystemError                               Traceback (most recent call last)
Cell In[2], line 1
----> 1 from piml import Experiment

File /usr/local/lib/python3.9/dist-packages/piml/__init__.py:1
----> 1 from .api import Experiment
      2 from .diagnoser.utils import twosample_test
      4 __all__ = ['Experiment']

File piml/api.py:16, in init piml.api()

File piml/dashboard/data_panel.py:12, in init piml.dashboard.data_panel()

File piml/workflow/data_api.py:8, in init piml.workflow.data_api()

File piml/data/base.py:14, in init piml.data.base()

File piml/data/data_selector.py:11, in init piml.data.data_selector()

File /usr/local/lib/python3.9/dist-packages/dcor/__init__.py:13
     10 import os as _os
     11 import pathlib as _pathlib
---> 13 from . import distances, homogeneity, independence
     14 from ._dcor import (
     15     DistanceCovarianceMethod as DistanceCovarianceMethod,
     16     Stats as Stats,
   (...)
     27     u_distance_stats_sqr as u_distance_stats_sqr,
     28 )
     29 from ._dcor_internals import (
     30     double_centered as double_centered,
     31     mean_product as mean_product,
   (...)
     35     u_projection as u_projection,
     36 )

File /usr/local/lib/python3.9/dist-packages/dcor/independence.py:14
     11 import numpy as np
     12 import scipy.stats
---> 14 from ._dcor import u_distance_correlation_sqr
     15 from ._dcor_internals import (
     16     _check_same_n_elements,
     17     _distance_matrix_generic,
   (...)
     22     u_product,
     23 )
     24 from ._hypothesis import HypothesisTest, _permutation_test_with_sym_matrix

File /usr/local/lib/python3.9/dist-packages/dcor/_dcor.py:35
     32 from dcor._dcor_internals import _af_inv_scaled
     34 from ._dcor_internals import _dcov_from_terms, _dcov_terms_naive
---> 35 from ._fast_dcov_avl import _distance_covariance_sqr_terms_avl
     36 from ._fast_dcov_mergesort import _distance_covariance_sqr_terms_mergesort
     37 from ._utils import ArrayType, CompileMode, _sqrt, get_namespace

File /usr/local/lib/python3.9/dist-packages/dcor/_fast_dcov_avl.py:18
      7 import warnings
      8 from typing import (
      9     TYPE_CHECKING,
     10     Any,
   (...)
     15     overload,
     16 )
---> 18 import numba
     19 import numpy as np
     20 from numba import boolean, float64, int64

File /usr/local/lib/python3.9/dist-packages/numba/__init__.py:43
     39 from numba.core.decorators import (cfunc, generated_jit, jit, njit, stencil,
     40                                    jit_module)
     42 # Re-export vectorize decorators and the thread layer querying function
---> 43 from numba.np.ufunc import (vectorize, guvectorize, threading_layer,
     44                             get_num_threads, set_num_threads)
     46 # Re-export Numpy helpers
     47 from numba.np.numpy_support import carray, farray, from_dtype

File /usr/local/lib/python3.9/dist-packages/numba/np/ufunc/__init__.py:3
      1 # -*- coding: utf-8 -*-
----> 3 from numba.np.ufunc.decorators import Vectorize, GUVectorize, vectorize, guvectorize
      4 from numba.np.ufunc._internal import PyUFunc_None, PyUFunc_Zero, PyUFunc_One
      5 from numba.np.ufunc import _internal, array_exprs

File /usr/local/lib/python3.9/dist-packages/numba/np/ufunc/decorators.py:3
      1 import inspect
----> 3 from numba.np.ufunc import _internal
      4 from numba.np.ufunc.parallel import ParallelUFuncBuilder, ParallelGUFuncBuilder
      6 from numba.core.registry import TargetRegistry

SystemError: initialization of _internal failed without raising an exception

Unable to figure out target variable

I am trying to apply PiML for my custom data but unable to add target variable which is multiclass problem. I am receiving this error and dont know how to fix it ! please help me in this regard ! Please find the attached link of notebook (html) and snapshot of error. Thank you

image

file:///C:/Users/Zahid/Downloads/Montreal_subsample.html

Support Spearman correlation?

Spearman correlation may better inform monotonicity constraints vs. Pearson correlation.

Would just be nice to see in addition to Pearson correlation in feature_select().

ERROR: No matching distribution found for PiML

Just had to re-install conda and am now running the newest version (23.1.0) and Python 3.10.4.

pip install seems to be working. For instance, pip install torch worked and showed up in conda list --show-channel-urls, after I verified that it was not there before.

pip install PiML gives the following:

(base) Williams-2018-MacBook-Pro:~ william$ pip install PiML
ERROR: Could not find a version that satisfies the requirement PiML (from versions: none)
ERROR: No matching distribution found for PiML

GAMI-Net for Multiple Response Regression

Is it possible to use the method for a multiple target regression problem (Input1 + Input2 + Input3 = Target1 + Target2 for instance)?

The examples you provide considers only one target. Is it possible to reconfigure the output layer structure for multiple targets? My targets are highly correlated, so fitting separate single response models would ignore the correlations between them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.