.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/02_Analysis/plot_multivariate_prediction.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_02_Analysis_plot_multivariate_prediction.py: Multivariate Prediction ======================= Running MVPA style analyses using multivariate regression is even easier and faster than univariate methods. All you need to do is specify the algorithm and cross-validation parameters. Currently, we have several different linear algorithms implemented from `scikit-learn `_. .. GENERATED FROM PYTHON SOURCE LINES 13-19 Load Data --------- First, let's load the pain data for this example. We need to specify the training levels. We will grab the pain intensity variable from the data.X field. .. GENERATED FROM PYTHON SOURCE LINES 19-25 .. code-block:: default from nltools.datasets import fetch_pain data = fetch_pain() data.Y = data.X['PainLevel'] .. rst-class:: sphx-glr-script-out .. code-block:: none /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/nilearn/maskers/nifti_masker.py:108: UserWarning: imgs are being resampled to the mask_img resolution. This process is memory intensive. You might want to provide a target_affine that is equal to the affine of the imgs or resample the mask beforehand to save memory and computation time. warnings.warn( .. GENERATED FROM PYTHON SOURCE LINES 26-34 Prediction with Cross-Validation -------------------------------- We can now predict the output variable is a dictionary of the most useful output from the prediction analyses. The predict function runs the prediction multiple times. One of the iterations uses all of the data to calculate the 'weight_map'. The other iterations are to estimate the cross-validated predictive accuracy. .. GENERATED FROM PYTHON SOURCE LINES 34-38 .. code-block:: default stats = data.predict(algorithm='ridge', cv_dict={'type': 'kfolds','n_folds': 5,'stratified':data.Y}) .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_001.png :alt: Prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_001.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_002.png :alt: plot multivariate prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_002.png :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out .. code-block:: none overall Root Mean Squared Error: 0.00 overall Correlation: 1.00 overall CV Root Mean Squared Error: 0.56 overall CV Correlation: 0.74 .. GENERATED FROM PYTHON SOURCE LINES 39-40 Display the available data in the output dictionary .. GENERATED FROM PYTHON SOURCE LINES 40-43 .. code-block:: default stats.keys() .. rst-class:: sphx-glr-script-out .. code-block:: none dict_keys(['Y', 'yfit_all', 'intercept', 'weight_map', 'yfit_xval', 'intercept_xval', 'weight_map_xval', 'cv_idx', 'rmse_all', 'r_all', 'rmse_xval', 'r_xval']) .. GENERATED FROM PYTHON SOURCE LINES 44-45 Plot the multivariate weight map .. GENERATED FROM PYTHON SOURCE LINES 45-48 .. code-block:: default stats['weight_map'].plot() .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_003.png :alt: plot multivariate prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_003.png :class: sphx-glr-single-img .. GENERATED FROM PYTHON SOURCE LINES 49-50 Return the cross-validated predicted data .. GENERATED FROM PYTHON SOURCE LINES 50-53 .. code-block:: default stats['yfit_xval'] .. rst-class:: sphx-glr-script-out .. code-block:: none array([2.4290974 , 1.6314716 , 1.8126677 , 3.55868 , 0.90207404, 1.2204293 , 2.7179866 , 1.3615552 , 1.6188321 , 3.3171535 , 0.80493325, 1.5152462 , 2.9260135 , 1.436187 , 1.7737719 , 1.9213711 , 1.8017578 , 1.1947886 , 2.4830403 , 0.89364 , 1.8442755 , 2.4820824 , 1.440007 , 1.4230464 , 4.0127053 , 1.4100499 , 2.3946798 , 1.886311 , 1.3747356 , 2.1127977 , 2.1198812 , 1.1560123 , 2.0791116 , 3.9388785 , 1.2056187 , 2.1786819 , 3.2859497 , 1.607697 , 1.6772155 , 2.524396 , 1.4692415 , 2.2496297 , 2.2506313 , 1.5619735 , 1.9757603 , 3.2622325 , 1.2873244 , 2.0369096 , 1.7596403 , 0.96636 , 2.2338262 , 1.7050961 , 1.8357794 , 0.75495577, 2.6244998 , 0.99156165, 2.3120208 , 2.2533555 , 1.9480424 , 2.010985 , 2.0345411 , 1.0214996 , 1.3073232 , 2.4055953 , 1.383581 , 1.5605361 , 2.3912082 , 1.6636682 , 2.0051541 , 2.4855347 , 1.2744508 , 2.5009992 , 2.8917837 , 1.9525554 , 1.7255871 , 3.1938958 , 1.4861526 , 1.9714624 , 2.124084 , 1.5545247 , 1.5466335 , 2.7263203 , 1.1705276 , 2.1081421 ], dtype=float32) .. GENERATED FROM PYTHON SOURCE LINES 54-61 Algorithms ---------- There are several types of linear algorithms implemented including: Support Vector Machines (svr), Principal Components Analysis (pcr), and penalized methods such as ridge and lasso. These examples use 5-fold cross-validation holding out the same subject in each fold. .. GENERATED FROM PYTHON SOURCE LINES 61-67 .. code-block:: default subject_id = data.X['SubjectID'] svr_stats = data.predict(algorithm='svr', cv_dict={'type': 'kfolds','n_folds': 5, 'subject_id':subject_id}, **{'kernel':"linear"}) .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_004.png :alt: Prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_004.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_005.png :alt: plot multivariate prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_005.png :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out .. code-block:: none overall Root Mean Squared Error: 0.10 overall Correlation: 0.99 overall CV Root Mean Squared Error: 0.88 overall CV Correlation: 0.57 .. GENERATED FROM PYTHON SOURCE LINES 68-69 Lasso Regression .. GENERATED FROM PYTHON SOURCE LINES 69-74 .. code-block:: default lasso_stats = data.predict(algorithm='lasso', cv_dict={'type': 'kfolds','n_folds': 5, 'subject_id':subject_id}, **{'alpha':.1}) .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_006.png :alt: Prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_006.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_007.png :alt: plot multivariate prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_007.png :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out .. code-block:: none overall Root Mean Squared Error: 0.69 overall Correlation: 0.58 overall CV Root Mean Squared Error: 0.74 overall CV Correlation: 0.43 .. GENERATED FROM PYTHON SOURCE LINES 75-76 Principal Components Regression .. GENERATED FROM PYTHON SOURCE LINES 76-80 .. code-block:: default pcr_stats = data.predict(algorithm='pcr', cv_dict={'type': 'kfolds','n_folds': 5, 'subject_id':subject_id}) .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_008.png :alt: Prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_008.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_009.png :alt: plot multivariate prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_009.png :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out .. code-block:: none overall Root Mean Squared Error: 0.00 overall Correlation: 1.00 overall CV Root Mean Squared Error: 0.91 overall CV Correlation: 0.58 .. GENERATED FROM PYTHON SOURCE LINES 81-82 Principal Components Regression with Lasso .. GENERATED FROM PYTHON SOURCE LINES 82-87 .. code-block:: default pcr_stats = data.predict(algorithm='lassopcr', cv_dict={'type': 'kfolds','n_folds': 5, 'subject_id':subject_id}) .. rst-class:: sphx-glr-horizontal * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_010.png :alt: Prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_010.png :class: sphx-glr-multi-img * .. image-sg:: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_011.png :alt: plot multivariate prediction :srcset: /auto_examples/02_Analysis/images/sphx_glr_plot_multivariate_prediction_011.png :class: sphx-glr-multi-img .. rst-class:: sphx-glr-script-out .. code-block:: none overall Root Mean Squared Error: 0.48 overall Correlation: 0.84 overall CV Root Mean Squared Error: 0.73 overall CV Correlation: 0.54 .. GENERATED FROM PYTHON SOURCE LINES 88-97 Cross-Validation Schemes ------------------------ There are several different ways to perform cross-validation. The standard approach is to use k-folds, where the data is equally divided into k subsets and each fold serves as both training and test. Often we want to hold out the same subjects in each fold. This can be done by passing in a vector of unique subject IDs that correspond to the images in the data frame. .. GENERATED FROM PYTHON SOURCE LINES 97-103 .. code-block:: default subject_id = data.X['SubjectID'] ridge_stats = data.predict(algorithm='ridge', cv_dict={'type': 'kfolds','n_folds': 5,'subject_id':subject_id}, plot=False, **{'alpha':.1}) .. rst-class:: sphx-glr-script-out .. code-block:: none /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.92615e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=4.08682e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=3.08772e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=4.02122e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=3.21618e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=3.16817e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) overall Root Mean Squared Error: 0.00 overall Correlation: 1.00 overall CV Root Mean Squared Error: 0.91 overall CV Correlation: 0.58 .. GENERATED FROM PYTHON SOURCE LINES 104-106 Sometimes we want to ensure that the training labels are balanced across folds. This can be done using the stratified k-folds method. .. GENERATED FROM PYTHON SOURCE LINES 106-111 .. code-block:: default ridge_stats = data.predict(algorithm='ridge', cv_dict={'type': 'kfolds','n_folds': 5, 'stratified':data.Y}, plot=False, **{'alpha':.1}) .. rst-class:: sphx-glr-script-out .. code-block:: none /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.92615e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=3.37859e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.93544e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=3.40221e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=3.37435e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=3.50149e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) overall Root Mean Squared Error: 0.00 overall Correlation: 1.00 overall CV Root Mean Squared Error: 0.56 overall CV Correlation: 0.74 .. GENERATED FROM PYTHON SOURCE LINES 112-115 Leave One Subject Out Cross-Validaiton (LOSO) is when k=n subjects. This can be performed by passing in a vector indicating subject id's of each image and using the loso flag. .. GENERATED FROM PYTHON SOURCE LINES 115-120 .. code-block:: default ridge_stats = data.predict(algorithm='ridge', cv_dict={'type': 'loso','subject_id': subject_id}, plot=False, **{'alpha':.1}) .. rst-class:: sphx-glr-script-out .. code-block:: none /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.92615e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.77026e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.57037e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.55818e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.9375e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.53838e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.39935e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.78066e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.6986e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.78474e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.83186e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.29513e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=3.21078e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.65197e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.53092e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.65197e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.35583e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.85209e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.54651e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.91525e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.44819e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.53916e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.58214e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.93194e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.64865e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=3.27246e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.70418e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.47335e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) /usr/share/miniconda3/envs/test/lib/python3.8/site-packages/sklearn/linear_model/_ridge.py:237: LinAlgWarning: Ill-conditioned matrix (rcond=2.53217e-08): result may not be accurate. dual_coef = linalg.solve(K, y, assume_a="pos", overwrite_a=False) overall Root Mean Squared Error: 0.00 overall Correlation: 1.00 overall CV Root Mean Squared Error: 0.91 overall CV Correlation: 0.59 .. GENERATED FROM PYTHON SOURCE LINES 121-124 There are also methods to estimate the shrinkage parameter for the penalized methods using nested crossvalidation with the ridgeCV and lassoCV algorithms. .. GENERATED FROM PYTHON SOURCE LINES 124-130 .. code-block:: default import numpy as np ridgecv_stats = data.predict(algorithm='ridgeCV', cv_dict={'type': 'kfolds','n_folds': 5, 'stratified':data.Y}, plot=False, **{'alphas':np.linspace(.1, 10, 5)}) .. rst-class:: sphx-glr-script-out .. code-block:: none overall Root Mean Squared Error: 0.00 overall Correlation: 1.00 overall CV Root Mean Squared Error: 0.56 overall CV Correlation: 0.74 .. rst-class:: sphx-glr-timing **Total running time of the script:** (1 minutes 42.184 seconds) .. _sphx_glr_download_auto_examples_02_Analysis_plot_multivariate_prediction.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: plot_multivariate_prediction.py ` .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: plot_multivariate_prediction.ipynb ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_