diff --git a/.idea/workspace.xml b/.idea/workspace.xml index b98216e..838cad2 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,20 +2,12 @@ - - - - - - - - - - - - - + + + + + @@ -345,7 +337,7 @@ - + diff --git a/tests/assets/25_01_08_12_54_30_plot.jpg b/tests/assets/25_01_08_12_54_30_plot.jpg new file mode 100644 index 0000000..b2cea17 Binary files /dev/null and b/tests/assets/25_01_08_12_54_30_plot.jpg differ diff --git a/tests/assets/shap/chlorine_cdrec_DTL_Waterfall.png b/tests/assets/shap/chlorine_cdrec_DTL_Waterfall.png index 826dda3..9ad00ed 100644 Binary files a/tests/assets/shap/chlorine_cdrec_DTL_Waterfall.png and b/tests/assets/shap/chlorine_cdrec_DTL_Waterfall.png differ diff --git a/tests/assets/shap/chlorine_cdrec_shap_plot.png b/tests/assets/shap/chlorine_cdrec_shap_plot.png index 4191542..6b3bd49 100644 Binary files a/tests/assets/shap/chlorine_cdrec_shap_plot.png and b/tests/assets/shap/chlorine_cdrec_shap_plot.png differ diff --git a/tests/assets/shap/chlorine_cdrec_shap_reverse_plot.png b/tests/assets/shap/chlorine_cdrec_shap_reverse_plot.png index 434a293..30ad3b5 100644 Binary files a/tests/assets/shap/chlorine_cdrec_shap_reverse_plot.png and b/tests/assets/shap/chlorine_cdrec_shap_reverse_plot.png differ diff --git a/tests/report.log b/tests/report.log index a2fbf2c..95a8cce 100644 --- a/tests/report.log +++ b/tests/report.log @@ -2548,3 +2548,171 @@ -4.92928712e-04, 4.47419329e-04, 0.00000000e+00, 3.24089510e-05, 5.08976312e-04, -2.52382030e-04, 2.40086385e-04, 3.93498054e-05, 1.35728754e-04, 4.78694781e-05]) +2025-01-08 12:53:10,960 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:10,964 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:10,966 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:10,994 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:11,063 - shap - INFO - np.sum(w_aug) = 15.999999999999998 +2025-01-08 12:53:11,064 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000004 +2025-01-08 12:53:11,326 - shap - INFO - phi = array([ 0.00000000e+00, -1.50023544e-02, 0.00000000e+00, -2.02580848e-05, + 0.00000000e+00, -5.09701368e-04, 0.00000000e+00, 0.00000000e+00, + 0.00000000e+00, 3.61519831e-04, -5.85833154e-05, -1.95096124e-05, + 0.00000000e+00, 0.00000000e+00, 4.17635045e-05, 0.00000000e+00]) +2025-01-08 12:53:11,367 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:11,382 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:11,384 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:11,425 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:11,487 - shap - INFO - np.sum(w_aug) = 16.0 +2025-01-08 12:53:11,490 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000002 +2025-01-08 12:53:11,545 - shap - INFO - phi = array([ 0.00000000e+00, 6.98755365e-03, 0.00000000e+00, 5.50026649e-05, + 0.00000000e+00, 3.23477891e-04, 0.00000000e+00, 0.00000000e+00, + 0.00000000e+00, 2.79513972e-04, 2.95546563e-05, -1.96320751e-05, + 0.00000000e+00, 0.00000000e+00, 3.64300667e-05, 0.00000000e+00]) +2025-01-08 12:53:11,585 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:11,589 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:11,592 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:11,639 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:11,702 - shap - INFO - np.sum(w_aug) = 15.999999999999998 +2025-01-08 12:53:11,704 - shap - INFO - np.sum(self.kernelWeights) = 1.0 +2025-01-08 12:53:11,793 - shap - INFO - phi = array([ 0.00000000e+00, 7.83514370e-03, 0.00000000e+00, 5.74602732e-05, + 0.00000000e+00, 3.20042444e-04, 0.00000000e+00, 0.00000000e+00, + 0.00000000e+00, 2.79854610e-04, 3.35067254e-05, -2.12039317e-05, + 0.00000000e+00, 0.00000000e+00, 3.39326044e-05, 0.00000000e+00]) +2025-01-08 12:53:11,870 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:11,872 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:11,875 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:11,903 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:11,992 - shap - INFO - np.sum(w_aug) = 16.0 +2025-01-08 12:53:11,996 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000002 +2025-01-08 12:53:12,164 - shap - INFO - phi = array([ 0.00000000e+00, 7.83300758e-03, 0.00000000e+00, -3.77635568e-05, + 0.00000000e+00, 3.22798631e-04, 0.00000000e+00, 0.00000000e+00, + 0.00000000e+00, 2.06331673e-04, 3.42744327e-05, -2.10990653e-05, + 0.00000000e+00, 0.00000000e+00, 3.66266024e-05, 0.00000000e+00]) +2025-01-08 12:53:12,195 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:12,198 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:12,202 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:12,265 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:12,328 - shap - INFO - np.sum(w_aug) = 15.999999999999996 +2025-01-08 12:53:12,331 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000004 +2025-01-08 12:53:12,474 - shap - INFO - phi = array([ 0.00000000e+00, 7.85856112e-03, 0.00000000e+00, -3.68080669e-05, + 0.00000000e+00, 3.21980994e-04, -3.16954647e-05, 0.00000000e+00, + 0.00000000e+00, 2.10353156e-04, 3.22765781e-05, -1.67189690e-05, + 0.00000000e+00, 0.00000000e+00, 3.62269527e-05, 0.00000000e+00]) +2025-01-08 12:53:12,574 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:12,577 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:12,579 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:12,607 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:12,678 - shap - INFO - np.sum(w_aug) = 15.999999999999996 +2025-01-08 12:53:12,680 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000002 +2025-01-08 12:53:12,777 - shap - INFO - phi = array([ 0.00000000e+00, -1.54999197e-02, 0.00000000e+00, -1.76832343e-05, + 0.00000000e+00, -7.80192307e-04, 3.02281224e-05, 0.00000000e+00, + 0.00000000e+00, -1.35021310e-03, -5.77968265e-05, 9.95378354e-05, + 0.00000000e+00, 0.00000000e+00, -1.95827178e-04, 0.00000000e+00]) +2025-01-08 12:53:12,873 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:12,877 - shap - INFO - remaining_weight_vector = array([0.20732477, 0.16660026, 0.14353254, 0.12957798, 0.12116383, + 0.11662019, 0.11518043]) +2025-01-08 12:53:12,880 - shap - INFO - num_paired_subset_sizes = 8 +2025-01-08 12:53:12,911 - shap - INFO - weight_left = 0.528623703595323 +2025-01-08 12:53:12,963 - shap - INFO - np.sum(w_aug) = 17.999999999999996 +2025-01-08 12:53:12,965 - shap - INFO - np.sum(self.kernelWeights) = 0.9999999999999999 +2025-01-08 12:53:13,101 - shap - INFO - phi = array([ 0.00000000e+00, 8.73719721e-03, 8.70989873e-05, 0.00000000e+00, + 3.82326113e-03, 1.31848484e-02, 5.20288498e-03, 9.31428142e-03, + 4.69081262e-03, 2.61527800e-03, 1.35926816e-02, 6.77844836e-04, + 1.74856500e-02, -1.47938398e-03, 6.19260167e-03, 2.13404411e-05, + -8.58253570e-05, 2.94089462e-03]) +2025-01-08 12:53:13,118 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:13,121 - shap - INFO - remaining_weight_vector = array([0.21046803, 0.16837443, 0.14432094, 0.12951879, 0.12026745, + 0.11480075, 0.11224962]) +2025-01-08 12:53:13,124 - shap - INFO - num_paired_subset_sizes = 9 +2025-01-08 12:53:13,164 - shap - INFO - weight_left = 0.5381032434909889 +2025-01-08 12:53:13,228 - shap - INFO - np.sum(w_aug) = 19.0 +2025-01-08 12:53:13,229 - shap - INFO - np.sum(self.kernelWeights) = 0.9999999999999998 +2025-01-08 12:53:13,291 - shap - INFO - phi = array([-4.27027606e-04, 6.05087701e-03, 1.50737404e-03, -6.98188770e-05, + 4.15252868e-03, -1.19120284e-04, 4.61029650e-03, 2.89296701e-03, + 3.16197712e-03, 1.08629331e-02, 4.47721753e-04, 1.13389074e-02, + -3.31697616e-04, 3.70992275e-03, -3.04629404e-03, -1.59238173e-03, + -1.83253053e-03, 3.71123323e-04, 1.31799752e-03]) +2025-01-08 12:53:13,322 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:13,329 - shap - INFO - remaining_weight_vector = array([0.20732477, 0.16660026, 0.14353254, 0.12957798, 0.12116383, + 0.11662019, 0.11518043]) +2025-01-08 12:53:13,330 - shap - INFO - num_paired_subset_sizes = 8 +2025-01-08 12:53:13,384 - shap - INFO - weight_left = 0.528623703595323 +2025-01-08 12:53:13,445 - shap - INFO - np.sum(w_aug) = 18.0 +2025-01-08 12:53:13,450 - shap - INFO - np.sum(self.kernelWeights) = 0.9999999999999998 +2025-01-08 12:53:13,503 - shap - INFO - phi = array([-0.00999016, -0.01238472, 0.00114272, 0.00017878, 0.00491261, + 0.00068625, 0.00612538, 0. , 0.00258732, 0.01295154, + 0.00075907, 0.01299131, -0.00110445, 0.00643902, -0.00222172, + 0. , 0.00056204, 0.00261269]) +2025-01-08 12:53:13,531 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:13,536 - shap - INFO - remaining_weight_vector = array([0.21046803, 0.16837443, 0.14432094, 0.12951879, 0.12026745, + 0.11480075, 0.11224962]) +2025-01-08 12:53:13,541 - shap - INFO - num_paired_subset_sizes = 9 +2025-01-08 12:53:13,612 - shap - INFO - weight_left = 0.5381032434909889 +2025-01-08 12:53:13,697 - shap - INFO - np.sum(w_aug) = 19.0 +2025-01-08 12:53:13,702 - shap - INFO - np.sum(self.kernelWeights) = 0.9999999999999996 +2025-01-08 12:53:13,848 - shap - INFO - phi = array([-9.31286008e-03, -1.31748326e-02, 1.29378700e-03, 1.69462623e-04, + 4.55101767e-03, 3.09714247e-04, 6.49898379e-03, 0.00000000e+00, + 2.49537394e-03, 5.44153541e-03, 9.05871572e-04, 4.47591939e-05, + -1.78593088e-04, 6.48523956e-03, -1.85529336e-03, -4.81050964e-05, + -4.71326274e-04, 1.19859543e-03, 2.93209247e-03]) +2025-01-08 12:53:13,889 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:13,917 - shap - INFO - remaining_weight_vector = array([0.23108621, 0.18664656, 0.16176035, 0.14705486, 0.13865173, + 0.13480029]) +2025-01-08 12:53:13,919 - shap - INFO - num_paired_subset_sizes = 8 +2025-01-08 12:53:13,967 - shap - INFO - weight_left = 0.5181019626448611 +2025-01-08 12:53:14,049 - shap - INFO - np.sum(w_aug) = 17.000000000000007 +2025-01-08 12:53:14,055 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000002 +2025-01-08 12:53:14,182 - shap - INFO - phi = array([-0.01516889, -0.02375469, 0.00212133, -0.00010974, 0.00498366, + 0.00019539, 0.00562799, -0.00049359, 0.00024028, 0.00213718, + -0.00126649, -0.00473163, -0.00189329, 0.00249173, -0.00193585, + -0.00016726, 0.00179716]) +2025-01-08 12:53:14,218 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:14,242 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:14,252 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:14,297 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:14,369 - shap - INFO - np.sum(w_aug) = 15.999999999999998 +2025-01-08 12:53:14,377 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000004 +2025-01-08 12:53:14,540 - shap - INFO - phi = array([-0.01549215, -0.0247453 , 0.00192913, -0.00018629, 0.00321626, + -0.00060339, 0.0020008 , -0.000509 , 0.00221582, -0.00186174, + -0.00520739, -0.00220376, 0.0011295 , -0.00219331, -0.00024098, + 0.00131353]) +2025-01-08 12:53:14,578 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:14,589 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:14,600 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:14,646 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:14,713 - shap - INFO - np.sum(w_aug) = 15.999999999999996 +2025-01-08 12:53:14,721 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000002 +2025-01-08 12:53:14,820 - shap - INFO - phi = array([-1.80105641e-02, -3.21919336e-02, 3.95965453e-04, -1.83903487e-05, + 1.29916230e-03, -7.92199895e-04, 4.29598682e-04, -4.15250765e-04, + 9.51280340e-04, -3.07515091e-03, -5.30119057e-03, -9.01749893e-03, + 8.06046464e-05, -2.29043339e-03, -9.87074497e-05, -1.69110457e-04]) +2025-01-08 12:53:14,873 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:14,878 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:14,882 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:14,932 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:15,000 - shap - INFO - np.sum(w_aug) = 16.0 +2025-01-08 12:53:15,008 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000002 +2025-01-08 12:53:15,216 - shap - INFO - phi = array([-1.72785041e-02, -3.45600067e-02, 0.00000000e+00, -9.32098977e-05, + 1.65728458e-04, -6.49205028e-04, -8.24981328e-05, 4.10920449e-03, + -1.10003219e-04, 0.00000000e+00, -5.15045042e-03, -7.98900699e-03, + 0.00000000e+00, 0.00000000e+00, -8.28004351e-05, -1.51021332e-04]) +2025-01-08 12:53:15,245 - shap - INFO - num_full_subsets = 2 +2025-01-08 12:53:15,252 - shap - INFO - remaining_weight_vector = array([0.22727203, 0.18465852, 0.16115653, 0.14772682, 0.14069221, + 0.13849389]) +2025-01-08 12:53:15,264 - shap - INFO - num_paired_subset_sizes = 7 +2025-01-08 12:53:15,304 - shap - INFO - weight_left = 0.5063344810024111 +2025-01-08 12:53:15,370 - shap - INFO - np.sum(w_aug) = 15.999999999999998 +2025-01-08 12:53:15,374 - shap - INFO - np.sum(self.kernelWeights) = 1.0000000000000002 +2025-01-08 12:53:15,503 - shap - INFO - phi = array([ 0.00000000e+00, -1.58921592e-02, 0.00000000e+00, -2.01331423e-05, + -5.04716525e-06, -5.07116946e-04, 2.85889491e-05, -5.10054262e-04, + 0.00000000e+00, 3.59597734e-04, -5.66061833e-05, -2.68997150e-05, + 0.00000000e+00, 0.00000000e+00, 5.30719090e-05, 0.00000000e+00]) diff --git a/tests/test_pipeline.py b/tests/test_pipeline.py index c0f5719..0da1485 100644 --- a/tests/test_pipeline.py +++ b/tests/test_pipeline.py @@ -30,6 +30,15 @@ def test_pipeline(self): ts_1.print_results(cdrec.metrics) utils.save_optimization(optimal_params=cdrec.parameters, algorithm="cdrec", dataset="eeg", optimizer="t") + cdrec = Imputation.MatrixCompletion.CDRec(incomp_data).impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "greedy","options": { "n_calls": 2}}) + cdrec.score(ts_1.data, cdrec.recov_data) + + cdrec = Imputation.MatrixCompletion.CDRec(incomp_data).impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "sh", "options": {"num_configs": 2}}) + cdrec.score(ts_1.data, cdrec.recov_data) + + cdrec = Imputation.MatrixCompletion.CDRec(incomp_data).impute(user_def=False, params={"input_data": ts_1.data, "optimizer": "pso", "options": {"n_particles": 2}}) + cdrec.score(ts_1.data, cdrec.recov_data) + # explainer ts_1 = TimeSeries() ts_1.load_timeseries(utils.search_path("chlorine"))