from sklearn import datasets運行錯誤:ImportError: DLL load failed: 找不到指定的程序------解決辦法


  • 在運行集成學習的多數投票分類代碼時,出現錯誤
from sklearn import datasets
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
from sklearn.naive_bayes import GaussianNB
from sklearn.ensemble import RandomForestClassifier
from sklearn.ensemble import VotingClassifier
iris = datasets.load_iris()
X, y = iris.data[:, 1:3], iris.target
clf1 = LogisticRegression(solver='lbfgs', multi_class='multinomial', random_state=1)
clf2 = RandomForestClassifier(n_estimators=50, random_state=1)
clf3 = GaussianNB()

ensemble_clf = VotingClassifier(estimators=[('lr', clf1), ('rf', clf2), ('gnb',clf3)], voting='hard')
for clf, label in zip([clf1, clf2, clf3, ensemble_clf], ['Logistic Regression', 'Random Forest', 'naive Bayes', 'Ensemble']):
    scores = cross_val_score(clf, X, y, cv = 5, scoring='accuracy')
    # scoring里面的有效參數有['accuracy', 'adjusted_rand_score', 'average_precision', 'f1', 'f1_macro', 'f1_micro', 'f1_samples',
    # 'f1_weighted', 'neg_log_loss', 'neg_mean_absolute_error', 'neg_mean_squared_error', 'neg_median_absolute_error',
    # 'precision', 'precision_macro', 'precision_micro', 'precision_samples', 'precision_weighted',
    # 'r2', 'recall', 'recall_macro', 'recall_micro', 'recall_samples', 'recall_weighted', 'roc_auc']
    print('Accuracy: %0.2f (+/- %0.2f) ------- %s' %(scores.mean(), scores.std(), label))
  • 運行結果

  • 出錯原因

如果遇到錯誤:ImportError: DLL load failed: 找不到指定的模塊
出現錯誤原因:安裝包的來源問題,也可以理解為包版本兼容問題,有的包使用官方出版,有的包使用whl文件安裝
解決方案:將所有包都統一來源,要么全部使用官方出版的包,要么全部使用whl里面的包,問題就解決了

解決方法

  • (1)先卸載原始版本Scikit-Learn,Numpy和Scipy

pip uninstall scikit-learn
pip uninstall numpy
pip uninstall scipy

pip install numpy-1.16.5+mkl-cp36-cp36m-win_amd64.whl
pip install scipy-1.3.3-cp36-cp36m-win_amd64.whl
pip install scikit_learn-0.21.3-cp36-cp36m-win_amd64.whl

  • 重新運行上述代碼 成功運行

參考資料1:https://www.cnblogs.com/hamish26/p/10985139.html
參考資料2:https://blog.csdn.net/a593651986/article/details/72178463


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM