Question 3: Functional Connectivity Between Brain Areas#
Which brain area pair has the strongest directed functional connectivity?
Approach#
We fit Poisson GLMs to predict the activity of one brain area from another and compare predictive performance as a proxy for functional connectivity.
Setup#
import warnings
from pathlib import Path
import jax
import lindi
import matplotlib.pyplot as plt
import nemos as nmo
import numpy as np
import pandas as pd
import pynapple as nap
import seaborn as sns
from dandi.dandiapi import DandiAPIClient
from pynwb import NWBHDF5IO
from tqdm import tqdm
warnings.filterwarnings("ignore", message="Converting 'd' to numpy.array.*")
jax.config.update("jax_enable_x64", True)
dandiset_id = "218201"
np.random.seed(42)
window_size_sec = 0.8
bin_size_sec = 0.02
n_basis_funcs = 4
basis = nmo.basis.RaisedCosineLogConv(
n_basis_funcs=n_basis_funcs,
window_size=int(window_size_sec // bin_size_sec),
)
train_set = nap.IntervalSet([0, 60])
test_set = nap.IntervalSet([60, 120])
Population-level Poisson GLMs#
For each dataset, we load spike trains and fit a population-level GLM for every possible pair of brain areas, including self-prediction.
Notes#
We subsample the units to the lowest number per brain area, otherwise we might interpret performance differences caused by different numbers of units as functional connectivity.
We use NeMoS’
GroupLassoto regularize each unit’s features together.We filter out units with a firing rate below 1 Hz to avoid silent neuron issues during fitting.
results = []
best_pairs = []
for dataset_num in range(1, 19):
# Stream data from DANDI
filepath = f"sub-mouse-{dataset_num}/sub-mouse-{dataset_num}_ses-None_ecephys.nwb"
with DandiAPIClient(api_url="https://api.sandbox.dandiarchive.org/api") as client:
asset = client.get_dandiset(dandiset_id, "draft").get_asset_by_path(filepath)
s3_url = asset.get_content_url(follow_redirects=1, strip_query=True)
f = lindi.LindiH5pyFile.from_hdf5_file(s3_url, local_cache=lindi.LocalCache())
io = NWBHDF5IO(file=f)
units = nap.NWBFile(io.read())["units"]
units = units[units.rate > 1.0]
counts = units.count(bin_size_sec)
subsample_n = units["brain_area"].value_counts().min()
session_results = []
for predicted_area in tqdm(
units["brain_area"].unique(), desc="predicted area", leave=False
):
predicted_area_counts = counts[:, units["brain_area"] == predicted_area]
predicted_area_counts = predicted_area_counts[
:,
np.random.choice(
predicted_area_counts.shape[1], subsample_n, replace=False
),
]
for predictor_area in tqdm(
units["brain_area"].unique(), desc="predictor area", leave=False
):
predictor_area_counts = counts[:, units["brain_area"] == predictor_area]
predictor_area_counts = predictor_area_counts[
:,
np.random.choice(
predictor_area_counts.shape[1], subsample_n, replace=False
),
]
X_train = {
unit: basis.compute_features(
predictor_area_counts[:, unit].restrict(train_set)
)
for unit in range(subsample_n)
}
y_train = predicted_area_counts.restrict(train_set)
mean_rates = np.clip(np.array(np.nanmean(y_train, axis=0)), 1e-3, None)
init_intercept = np.log(mean_rates) * bin_size_sec
model = nmo.glm.PopulationGLM(
regularizer=nmo.regularizer.GroupLasso(),
regularizer_strength=0.01,
)
model.fit(
X_train,
y_train,
init_params=(
{i: np.zeros((n_basis_funcs, y_train.shape[1])) for i in X_train},
init_intercept,
),
)
X_test = {
unit: basis.compute_features(
predictor_area_counts[:, unit].restrict(test_set)
)
for unit in range(subsample_n)
}
y_test = predicted_area_counts.restrict(test_set)
scores = model.score(X_test, y_test)
session_results.append(
{
"dataset": dataset_num,
"predicted": int(predicted_area),
"predictor": int(predictor_area),
"pr2": float(scores),
}
)
# Track best pair per session
session_df = pd.DataFrame(session_results)
mat_raw = session_df.pivot_table(
index="predicted", columns="predictor", values="pr2", aggfunc="mean"
).astype(float)
within_scores = pd.Series(np.diag(mat_raw), index=mat_raw.index)
session_df["normalised_pr2"] = session_df["pr2"] - session_df["predicted"].map(within_scores)
cross_area = session_df[session_df["predicted"] != session_df["predictor"]]
best = (
cross_area.groupby(["predicted", "predictor"])["normalised_pr2"]
.mean()
.reset_index()
.sort_values("normalised_pr2", ascending=False)
)
best_pair = best.iloc[0]
best_pairs.append(
{
"dataset": int(dataset_num),
"predictor": int(best_pair["predictor"]),
"predicted": int(best_pair["predicted"]),
"normalised_pr2": best_pair["normalised_pr2"],
}
)
results.append(session_results)
results = pd.DataFrame([r for session in results for r in session])
Show code cell output
Hide code cell output
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:06<00:13, 6.72s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:08<00:03, 3.99s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:10<00:00, 3.12s/it]
predicted area: 33%|███▎ | 1/3 [00:10<00:21, 10.95s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:04, 2.10s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:04<00:02, 2.08s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:06<00:00, 2.07s/it]
predicted area: 67%|██████▋ | 2/3 [00:17<00:08, 8.17s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:01<00:03, 1.97s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:04<00:02, 2.15s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:06<00:00, 2.05s/it]
predicted area: 100%|██████████| 3/3 [00:23<00:00, 7.27s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:07<00:15, 7.65s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:13<00:06, 6.67s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:19<00:00, 6.51s/it]
predicted area: 33%|███▎ | 1/3 [00:20<00:40, 20.03s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:06<00:12, 6.10s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:12<00:06, 6.05s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:18<00:00, 6.03s/it]
predicted area: 67%|██████▋ | 2/3 [00:38<00:18, 18.93s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:06<00:12, 6.09s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:12<00:06, 6.21s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:18<00:00, 6.01s/it]
predicted area: 100%|██████████| 3/3 [00:56<00:00, 18.60s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:04<00:09, 4.68s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:07<00:03, 3.71s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:10<00:00, 3.40s/it]
predicted area: 33%|███▎ | 1/3 [00:10<00:21, 10.81s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:03<00:06, 3.44s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:06<00:03, 3.23s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:09<00:00, 3.18s/it]
predicted area: 67%|██████▋ | 2/3 [00:20<00:10, 10.14s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:03<00:06, 3.01s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:06<00:03, 3.04s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:09<00:00, 3.06s/it]
predicted area: 100%|██████████| 3/3 [00:29<00:00, 9.71s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 33%|███▎ | 1/3 [00:02<00:05, 2.68s/it]
predictor area: 67%|██████▋ | 2/3 [00:03<00:01, 1.86s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:05<00:00, 1.64s/it]
predicted area: 33%|███▎ | 1/3 [00:05<00:10, 5.39s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:01<00:02, 1.33s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:02<00:01, 1.38s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:04<00:00, 1.56s/it]
predicted area: 67%|██████▋ | 2/3 [00:09<00:04, 4.89s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 33%|███▎ | 1/3 [00:01<00:02, 1.32s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:02<00:01, 1.35s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:04<00:00, 1.37s/it]
predicted area: 100%|██████████| 3/3 [00:14<00:00, 4.53s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:03<00:06, 3.08s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:06<00:03, 3.06s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:09<00:00, 3.08s/it]
predicted area: 33%|███▎ | 1/3 [00:09<00:18, 9.29s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:03<00:06, 3.11s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:06<00:03, 3.07s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:09<00:00, 3.10s/it]
predicted area: 67%|██████▋ | 2/3 [00:18<00:09, 9.31s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:03<00:06, 3.13s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:06<00:03, 3.35s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:09<00:00, 3.25s/it]
predicted area: 100%|██████████| 3/3 [00:28<00:00, 9.55s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:03<00:07, 3.86s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:06<00:02, 2.97s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:08<00:00, 2.69s/it]
predicted area: 33%|███▎ | 1/3 [00:08<00:17, 8.61s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:04, 2.31s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:04<00:02, 2.35s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:07<00:00, 2.36s/it]
predicted area: 67%|██████▋ | 2/3 [00:15<00:07, 7.70s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:04, 2.35s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:04<00:02, 2.36s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:07<00:00, 2.37s/it]
predicted area: 100%|██████████| 3/3 [00:22<00:00, 7.44s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:13<00:26, 13.22s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:22<00:11, 11.07s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:32<00:00, 10.39s/it]
predicted area: 33%|███▎ | 1/3 [00:32<01:04, 32.47s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:09<00:19, 9.58s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:19<00:09, 9.61s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:28<00:00, 9.60s/it]
predicted area: 67%|██████▋ | 2/3 [01:01<00:30, 30.35s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:09<00:19, 9.60s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:19<00:09, 9.98s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:29<00:00, 9.83s/it]
predicted area: 100%|██████████| 3/3 [01:30<00:00, 29.99s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:10<00:20, 10.15s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:17<00:08, 8.78s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:25<00:00, 8.33s/it]
predicted area: 33%|███▎ | 1/3 [00:25<00:51, 25.84s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:07<00:15, 7.93s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:15<00:07, 7.91s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:24<00:00, 8.13s/it]
predicted area: 67%|██████▋ | 2/3 [00:50<00:24, 24.92s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:07<00:15, 7.83s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:15<00:07, 7.88s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:23<00:00, 7.87s/it]
predicted area: 100%|██████████| 3/3 [01:13<00:00, 24.35s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:15<00:31, 15.96s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:30<00:14, 14.88s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:44<00:00, 14.51s/it]
predicted area: 33%|███▎ | 1/3 [00:44<01:28, 44.28s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:14<00:28, 14.08s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:28<00:14, 14.49s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:42<00:00, 14.29s/it]
predicted area: 67%|██████▋ | 2/3 [01:27<00:43, 43.54s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:14<00:28, 14.15s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:28<00:14, 14.15s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:42<00:00, 14.10s/it]
predicted area: 100%|██████████| 3/3 [02:09<00:00, 43.03s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:01<00:02, 1.47s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:02<00:01, 1.44s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:04<00:00, 1.43s/it]
predicted area: 33%|███▎ | 1/3 [00:04<00:08, 4.35s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:01<00:02, 1.45s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:02<00:01, 1.46s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:04<00:00, 1.40s/it]
predicted area: 67%|██████▋ | 2/3 [00:08<00:04, 4.31s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:01<00:02, 1.38s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:02<00:01, 1.40s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:04<00:00, 1.40s/it]
predicted area: 100%|██████████| 3/3 [00:12<00:00, 4.27s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:06<00:12, 6.04s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:11<00:05, 5.74s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:16<00:00, 5.30s/it]
predicted area: 33%|███▎ | 1/3 [00:16<00:32, 16.38s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:04<00:08, 4.49s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:09<00:04, 4.59s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:13<00:00, 4.70s/it]
predicted area: 67%|██████▋ | 2/3 [00:30<00:14, 14.99s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:04<00:08, 4.19s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:08<00:04, 4.51s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:13<00:00, 4.58s/it]
predicted area: 100%|██████████| 3/3 [00:44<00:00, 14.38s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:04<00:09, 4.62s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:07<00:03, 3.60s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:10<00:00, 3.30s/it]
predicted area: 33%|███▎ | 1/3 [00:10<00:21, 10.50s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:05, 2.98s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:05<00:02, 2.94s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:08<00:00, 2.93s/it]
predicted area: 67%|██████▋ | 2/3 [00:19<00:09, 9.52s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:05, 2.94s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:05<00:02, 2.96s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:08<00:00, 2.90s/it]
predicted area: 100%|██████████| 3/3 [00:28<00:00, 9.18s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:06<00:12, 6.37s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:12<00:06, 6.17s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:16<00:00, 5.36s/it]
predicted area: 33%|███▎ | 1/3 [00:16<00:33, 16.88s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:05<00:10, 5.22s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:10<00:05, 5.17s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:15<00:00, 5.15s/it]
predicted area: 67%|██████▋ | 2/3 [00:32<00:16, 16.08s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:04<00:09, 4.98s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:10<00:05, 5.14s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:14<00:00, 4.96s/it]
predicted area: 100%|██████████| 3/3 [00:47<00:00, 15.59s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:03<00:07, 3.69s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:05<00:02, 2.77s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:07<00:00, 2.46s/it]
predicted area: 33%|███▎ | 1/3 [00:07<00:15, 7.93s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:04, 2.13s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:04<00:02, 2.09s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:06<00:00, 2.11s/it]
predicted area: 67%|██████▋ | 2/3 [00:14<00:07, 7.00s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:04, 2.17s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:04<00:02, 2.16s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:06<00:00, 2.14s/it]
predicted area: 100%|██████████| 3/3 [00:20<00:00, 6.75s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:04<00:08, 4.06s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:08<00:04, 4.45s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:13<00:00, 4.59s/it]
predicted area: 33%|███▎ | 1/3 [00:13<00:27, 13.57s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:04<00:08, 4.36s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:09<00:04, 4.59s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:15<00:00, 5.18s/it]
predicted area: 67%|██████▋ | 2/3 [00:28<00:14, 14.43s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:04<00:08, 4.15s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:08<00:04, 4.54s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:13<00:00, 4.61s/it]
predicted area: 100%|██████████| 3/3 [00:42<00:00, 14.10s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:05, 2.51s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:04<00:02, 2.26s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:06<00:00, 2.17s/it]
predicted area: 33%|███▎ | 1/3 [00:06<00:13, 6.74s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:04, 2.20s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:04<00:02, 2.16s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:06<00:00, 2.12s/it]
predicted area: 67%|██████▋ | 2/3 [00:13<00:06, 6.56s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:02<00:04, 2.21s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:04<00:02, 2.15s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:06<00:00, 2.14s/it]
predicted area: 100%|██████████| 3/3 [00:19<00:00, 6.53s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:10<00:20, 10.19s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:19<00:09, 9.87s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:29<00:00, 9.76s/it]
predicted area: 33%|███▎ | 1/3 [00:29<00:59, 29.55s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:09<00:19, 9.92s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:19<00:09, 9.84s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:29<00:00, 9.82s/it]
predicted area: 67%|██████▋ | 2/3 [00:59<00:29, 29.58s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:09<00:19, 9.79s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:20<00:10, 10.51s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:30<00:00, 10.20s/it]
predicted area: 100%|██████████| 3/3 [01:29<00:00, 30.11s/it]
predicted area: 0%| | 0/3 [00:00<?, ?it/s]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:05<00:10, 5.22s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:08<00:04, 4.11s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:11<00:00, 3.78s/it]
predicted area: 33%|███▎ | 1/3 [00:11<00:23, 11.96s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:03<00:06, 3.38s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:06<00:03, 3.35s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:10<00:00, 3.39s/it]
predicted area: 67%|██████▋ | 2/3 [00:22<00:10, 10.91s/it]
predictor area: 0%| | 0/3 [00:00<?, ?it/s]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 33%|███▎ | 1/3 [00:03<00:06, 3.38s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 67%|██████▋ | 2/3 [00:06<00:03, 3.41s/it]
/home/runner/.local/lib/python3.12/site-packages/nemos/glm/glm.py:768: RuntimeWarning: The fit did not converge. Consider the following:
1) Enable float64 with ``jax.config.update('jax_enable_x64', True)``
2) Increase the max number of iterations or increase tolerance (if reasonable). These parameters can be specified by providing a ``solver_kwargs`` dictionary. For the available options see the ``self.solver.__init__`` docstrings.
warnings.warn(
predictor area: 100%|██████████| 3/3 [00:10<00:00, 3.39s/it]
predicted area: 100%|██████████| 3/3 [00:32<00:00, 10.59s/it]
Visualization#
We visualize the mean pseudo-R² per brain area pair. We normalize each row by the within-area self-prediction performance, so that the baseline predictability of each area is factored out — values close to 0 mean the cross-area prediction is no better than self-prediction.
mat = results.pivot_table(
index="predicted", columns="predictor", values="pr2", aggfunc="mean"
).astype(float)
# Extract within-area scores before normalising
within_scores = pd.Series(np.diag(mat), index=mat.index)
mat_norm = mat.sub(within_scores, axis=0)
mask_diagonal = np.eye(len(mat_norm), dtype=bool)
sns.heatmap(
mat_norm,
annot=True,
fmt=".4f",
cmap="RdYlGn",
mask=mask_diagonal,
cbar_kws={"shrink": 0.7, "label": "normalised pseudo-R² (cross − within)"},
)
plt.xlabel("predictor")
plt.ylabel("predicted")
plt.tight_layout()
Summary#
results["normalised_pr2"] = results["pr2"] - results["predicted"].map(within_scores)
cross_area = results[results["predicted"] != results["predictor"]]
best = (
cross_area.groupby(["predicted", "predictor"])["normalised_pr2"]
.mean()
.reset_index()
.sort_values("normalised_pr2", ascending=False)
)
best_pairs_df = pd.DataFrame(best_pairs)
print("\n=== Best pair per dataset ===")
print(best_pairs_df.to_string(index=False))
pair_counts = (
best_pairs_df.groupby(["predictor", "predicted"])
.size()
.reset_index(name="count")
.sort_values("count", ascending=False)
)
pair_counts["count"] = pair_counts["count"].astype(int)
print("\n=== Pair occurrence counts ===")
print(pair_counts.to_string(index=False))
=== Best pair per dataset ===
dataset predictor predicted normalised_pr2
1 3 2 0.012889
2 1 2 -0.001974
3 3 1 -0.002168
4 2 3 -0.001701
5 2 1 0.001648
6 2 3 0.155562
7 1 2 0.001470
8 3 2 -0.000929
9 2 1 -0.004115
10 3 1 0.000480
11 2 3 -0.002711
12 1 2 -0.009639
13 2 3 0.000740
14 2 3 0.002417
15 3 1 -0.001382
16 1 2 0.000221
17 2 1 -0.005094
18 3 2 0.025465
=== Pair occurrence counts ===
predictor predicted count
2 3 5
1 2 4
2 1 3
3 1 3
3 2 3
Answer#
most_common = pair_counts.iloc[0]
print(
f"Most common best pair across datasets: {most_common['predictor']} → {most_common['predicted']}"
f" ({int(most_common['count'])}/{len(best_pairs_df)} datasets)"
)
Most common best pair across datasets: 2 → 3 (5/18 datasets)