Beispiel #1
0
def feature_selection(trainX, trainY, method='rfe'):

    if method == 'mutual_info':
        mi = mutual_info_regression(trainX, trainY, n_neighbors = 10, random_state=1)
        mi = mi/max(mi)
        mask = mi >= 0.2

    if method == 'forest':
        importances = RandomForestRegressor(n_estimators=10, n_jobs=-1).fit(trainX,trainY).feature_importances_
        mask = importances.argsort()[-144:][::-1]

    if method == 'rfe':
        #estimator = RandomForestRegressor(n_estimators=10, n_jobs=-1)
        estimator = LinearRegression(fit_intercept=True)
        selector = RFE(estimator, 6*5, 50, verbose=2).fit(trainX, trainY)
        mask = selector.support_


    return mask