zoukankan      html  css  js  c++  java
  • 随机森林特征选择

    from sklearn.ensemble import RandomForestClassifier
    import matplotlib.pyplot as plt
    
    selected_feat_names=set()
    for i in range(10):                           #这里我们进行十次循环取交集
        tmp = set()
        rfc = RandomForestClassifier(n_jobs=-1)
        rfc.fit(X, y)
    
        #print("training finished")
    
        importances = rfc.feature_importances_
        indices = np.argsort(importances)[::-1]   # 降序排列
        S={}
        for f in range(X.shape[1]):
            if  importances[indices[f]] >=0.0001:
                tmp.add(X.columns[indices[f]])
                S[X.columns[indices[f]]]=importances[indices[f]]
                #print("%2d) %-*s %f" % (f + 1, 30, X.columns[indices[f]], importances[indices[f]]))
        selected_feat_names |= tmp
        imp_fea=pd.Series(S)
    print(len(selected_feat_names), "features are selected")
  • 相关阅读:
    307.区域与检索--数组可修改
    202.快乐数
    263.丑数
    205.同构字符串
    204.计数质数
    40.组合总和Ⅱ
    811.子域名访问计数
    39.组合总和
    udp与tcp
    SQL复习
  • 原文地址:https://www.cnblogs.com/bonelee/p/9083841.html
Copyright © 2011-2022 走看看