Classification workflow: "error: module sklearn multioutput has no attribute MultiOutputEstimator"
Hello, when I try to run the RF classifier with 3 classes, created from a vector point file, on a 5-band image with defined nodata values, step 2 stops with this error: "module sklearn multioutput has no attribute MultiOutputEstimator". The package installer shows "Latest version "scikit-learn" = 0.24.1". I am using the EnMap toolbox version 3.7 on the QGIS version 3.16.3 Hannover installed via OSGeo4W. I appreciate your help. Many thanks, Jane
Comments (7)
-
-
- changed status to resolved
-
I have the identical problem while trying to create a classification using the example data set. I’m on Qgis 3.12.3 (had issues getting enmap-box to work on the newest version of Qgis), on the newest experimental version of Enmapbox 3.7.20201026T172128.DEVELOP (necessary for my data type) and have the most recent version of sklearn 1.0.2.
-
Hi Tom,
EnMAP-Box 3.7 is quite old. Current version is 3.9. You have to update your QGIS to see that version.
Please check, if the problem still exists in v3.9.
Regards
Andreas -
Hi Andreas,
Thanks for the fast response. I have updated to Qgis 3.22.3. and installed 3.9.20211123T125541.MASTER. Enmap-box’s internal package installer confirms I have all recent modules installed, which I did through the Osgeo4W shell. I have two problems though:
- If I try to execute a quickmap classification workflow using example data i get the error ‘No module named sklearn’ (full response at the end).
- If I try to load PRISMA L2D data, I get the error: ‘no module named h5py’.
The internal package installer confirms I have h5py version 3.6.0 and sklearn version 1.0.2. Do you know what might be going wrong?
error message 1:
Traceback (most recent call last):
File "C:\Users/tom/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\enmapboxplugin\enmapboxprocessing\algorithm\fitclassifieralgorithmbase.py", line 67, in checkParameterValues
self.parameterAsClassifier(parameters, self.P_CLASSIFIER, context)
File "C:\Users/tom/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\enmapboxplugin\site-packages\typeguard\__init__.py", line 903, in wrapper
retval = func(*args, **kwargs)
File "C:\Users/tom.flipsen/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\enmapboxplugin\enmapboxprocessing\algorithm\fitclassifieralgorithmbase.py", line 58, in parameterAsClassifier
exec(code, namespace)
File "<string>", line 1, in <module>
File "C:\PROGRA~1/QGIS32~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
ModuleNotFoundError: No module named 'sklearn'
error message 2:
Traceback (most recent call last):
File "C:\Users/tom.flipsen/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\enmapboxplugin\site-packages\typeguard\__init__.py", line 903, in wrapper
retval = func(*args, **kwargs)
File "C:\Users/tom.flipsen/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\enmapboxplugin\enmapboxprocessing\algorithm\importprismal2dalgorithm.py", line 69, in processAlgorithm
import h5py
File "C:\PROGRA~1/QGIS32~1.3/apps/qgis/./python\qgis\utils.py", line 888, in _import
mod = _builtin_import(name, globals, locals, fromlist, level)
ModuleNotFoundError: No module named 'h5py' -
You have to install missing packages via:
Project > Package Installer -
I actually had all missing packages installed via the package installer already. I decided to clean my pc of alle qgis and python files and downloaded it again. now it works, there was likely a problem with the file structure due to the use of different qgis versions.
- Log in to comment
This should work now in the latest EnMAP-Box version.