• 随机森林特征重要性


    代码:

    1. import numpy as np
    2. from sklearn.ensemble import RandomForestClassifier
    3. data = np.random.random((100,10))
    4. lanel = np.zeros((100))
    5. lanel[25:50] = 1
    6. lanel[50:75] = 2
    7. lanel[75:] = 3
    8. model = RandomForestClassifier(max_depth=None,n_estimators=1000,
    9. criterion='gini',class_weight="balanced")
    10. model.fit(data,lanel)
    11. train_score = model.score(data,lanel)
    12. print('train_score: ', train_score)
    13. # 特征重要性
    14. feature_impotant = model.feature_importances_
    15. print(feature_impotant)
    1. train_score: 1.0
    2. 0.9999999999999998
    '
    运行

    更直观的演示:

    1. from sklearn.datasets import load_iris
    2. from sklearn.ensemble import RandomForestClassifier
    3. iris = load_iris()
    4. X, y = iris.data, iris.target
    5. rfc = RandomForestClassifier(n_estimators=100, random_state=42)
    6. rfc.fit(X, y)
    7. importances = rfc.feature_importances_
    8. indices = sorted(range(len(importances)), key=lambda i: importances[i], reverse=True)
    9. print("Feature ranking:")
    10. for f in range(X.shape[1]):
    11. print(f"{f+1}. {iris.feature_names[indices[f]]}: {importances[indices[f]]}")
    1. Feature ranking:
    2. 1. petal length (cm): 0.4361295069034437
    3. 2. petal width (cm): 0.43606478004168353
    4. 3. sepal length (cm): 0.10612761987750428
    5. 4. sepal width (cm): 0.02167809317736852

  • 相关阅读:
    Anaconda下安装Jupyter notebook
    GnosisSafeProxy合约学习
    常见vue问题
    小米商城侧边栏【显示向右箭头】
    JAVA练习题35:多态综合训练
    Python基础笔记持续记录
    Web开发之HTML知识点总结
    JVM-4
    C++11并发编程-线程的启用与销毁
    VS快捷键
  • 原文地址:https://blog.csdn.net/qq_45100200/article/details/127091450