Pycharm运行时关于 No module named ‘sklearn.utils.linear_assignment_‘ 问题的解决

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • No module named 'sklearn.utils.linear_assignment_'
  • 一、新版本api换了,解决方法1:
  • 二、降低scikit-learn版本,解决方法2:
  • 总结


No module named ‘sklearn.utils.linear_assignment_’


一、新版本api换了,解决方法1:

from scipy.optimize import linear_sum_assignment as linear_assignment

sklearn.utils.linear_assignment_.linear_assignment

函数替换为

scipy.optimize.linear_sum_assignment function

二、降低scikit-learn版本,解决方法2:

使用<=0.19.X的版本

pip uninstall scikit-learn

pip install -i https://pypi.douban.com/simple scikit-learn==0.19.2

总结

解决方法1 区别在于返回格式:linear_assignment()返回的是一个numpy数组和linear_sum_assignment()一个numpy数组的元组。通过转换数组中的linear_sum_assignment()的输出并将其转置,可以获得相同的输出。

a = linear_sum_assignment(cost_matrix)  
b = np.asarray(a)
c = np.transpose(b)

你可能感兴趣的:(python学习,sklearn,pycharm,python)