'Persistent error for .predict in the scikit-learn package "AttributeError: 'NoneType' object has no attribute 'split'"

Anytime I use .predict or fit_predict, Im encountering the same error. The following code works for others and Im guessing it has to do with my environment or my particular packages. Really appreciate any pointers. I have tried the following so far: restarting the computer, rebooting kernel multiple times, checking package installations:

n_components = np.arange(1, 21)
BIC_scores = np.zeros(n_components.shape)

for i, n in enumerate(n_components):
    model = GaussianMixture(n_components=n, random_state=0)
    model.fit_predict(X)
    BIC_scores[i] = model.bic(X)

AttributeError                            Traceback (most recent call last)
<ipython-input-43-1521cb235579> in <module>
      4 for i, n in enumerate(n_components):
      5     model = GaussianMixture(n_components=n, random_state=0)
----> 6     model.fit_predict(X)
      7     BIC_scores[i] = model.bic(X)

~\Anaconda3\lib\site-packages\sklearn\mixture\_base.py in fit_predict(self, X, y)
    249 
    250             if do_init:
--> 251                 self._initialize_parameters(X, random_state)
    252 
    253             lower_bound = -np.inf if do_init else self.lower_bound_

~\Anaconda3\lib\site-packages\sklearn\mixture\_base.py in _initialize_parameters(self, X, random_state)
    141             resp = np.zeros((n_samples, self.n_components))
    142             label = (
--> 143                 cluster.KMeans(
    144                     n_clusters=self.n_components, n_init=1, random_state=random_state
    145                 )

~\Anaconda3\lib\site-packages\sklearn\cluster\_kmeans.py in fit(self, X, y, sample_weight)
   1169         if self._algorithm == "full":
   1170             kmeans_single = _kmeans_single_lloyd
-> 1171             self._check_mkl_vcomp(X, X.shape[0])
   1172         else:
   1173             kmeans_single = _kmeans_single_elkan

~\Anaconda3\lib\site-packages\sklearn\cluster\_kmeans.py in _check_mkl_vcomp(self, X, n_samples)
   1026         active_threads = int(np.ceil(n_samples / CHUNK_SIZE))
   1027         if active_threads < self._n_threads:
-> 1028             modules = threadpool_info()
   1029             has_vcomp = "vcomp" in [module["prefix"] for module in modules]
   1030             has_mkl = ("mkl", "intel") in [

~\Anaconda3\lib\site-packages\sklearn\utils\fixes.py in threadpool_info()
    323         return controller.info()
    324     else:
--> 325         return threadpoolctl.threadpool_info()
    326 
    327 

~\Anaconda3\lib\site-packages\threadpoolctl.py in threadpool_info()
    122     In addition, each module may contain internal_api specific entries.
    123     """
--> 124     return _ThreadpoolInfo(user_api=_ALL_USER_APIS).todicts()
    125 
    126 

~\Anaconda3\lib\site-packages\threadpoolctl.py in __init__(self, user_api, prefixes, modules)
    338 
    339             self.modules = []
--> 340             self._load_modules()
    341             self._warn_if_incompatible_openmp()
    342         else:

~\Anaconda3\lib\site-packages\threadpoolctl.py in _load_modules(self)
    371             self._find_modules_with_dyld()
    372         elif sys.platform == "win32":
--> 373             self._find_modules_with_enum_process_module_ex()
    374         else:
    375             self._find_modules_with_dl_iterate_phdr()

~\Anaconda3\lib\site-packages\threadpoolctl.py in _find_modules_with_enum_process_module_ex(self)
    483 
    484                 # Store the module if it is supported and selected
--> 485                 self._make_module_from_path(filepath)
    486         finally:
    487             kernel_32.CloseHandle(h_process)

~\Anaconda3\lib\site-packages\threadpoolctl.py in _make_module_from_path(self, filepath)
    513             if prefix in self.prefixes or user_api in self.user_api:
    514                 module_class = globals()[module_class]
--> 515                 module = module_class(filepath, prefix, user_api, internal_api)
    516                 self.modules.append(module)
    517 

~\Anaconda3\lib\site-packages\threadpoolctl.py in __init__(self, filepath, prefix, user_api, internal_api)
    604         self.internal_api = internal_api
    605         self._dynlib = ctypes.CDLL(filepath, mode=_RTLD_NOLOAD)
--> 606         self.version = self.get_version()
    607         self.num_threads = self.get_num_threads()
    608         self._get_extra_info()

~\Anaconda3\lib\site-packages\threadpoolctl.py in get_version(self)
    644                              lambda: None)
    645         get_config.restype = ctypes.c_char_p
--> 646         config = get_config().split()
    647         if config[0] == b"OpenBLAS":
    648             return config[1].decode("utf-8")

AttributeError: 'NoneType' object has no attribute 'split'



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source