sklearn当中怎样去除数据与结果无关的属性

Posted CSU迦叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sklearn当中怎样去除数据与结果无关的属性相关的知识,希望对你有一定的参考价值。

做如下移动即可

数据预处理完整代码

# -------------------------- 请调整你的数据预处理过程 ---------------------------
## 输入:
#### data 为 pandas.DataFrame类型数据
#### imputer 为缺失值填充方式
#### scaler 为数据归一化方式
## 输出:
#### data_norm 为处理后的数据,为 pandas.DataFrame类型数据
def preprocess_data(data, imputer=None, scaler=None):
    
    column_name = ['Year', 'Life expectancy ', 'infant deaths', 'Alcohol',
               'percentage expenditure', 'Hepatitis B', 'Measles ', ' BMI ', 'under-five deaths ',
               'Polio', 'Total expenditure', 'Diphtheria ', ' HIV/AIDS', 'GDP', 'Population',
               ' thinness  1-19 years', ' thinness 5-9 years', 'Income composition of resources',
               'Schooling']
    data = data.drop(["Country", "Status"], axis=1)
    
    if imputer==None:
        imputer = KNNImputer(n_neighbors=3,missing_values=np.nan)
#         imputer = SimpleImputer(strategy='mean', missing_values=np.nan)
        imputer = imputer.fit(data[column_name])
    data[column_name] = imputer.transform(data[column_name])
    
    if scaler==None:
        scaler = MinMaxScaler(feature_range=(-1, 1))
        scaler = scaler.fit(data)
    data_norm = pd.DataFrame(scaler.transform(data), columns=data.columns)
    
    data_norm = data_norm.drop(['Year'], axis = 1)
    
    return data_norm, imputer, scaler

但是随机森林可能根本不需要特征选择?

以上是关于sklearn当中怎样去除数据与结果无关的属性的主要内容,如果未能解决你的问题,请参考以下文章

sklearn.preprocessing.scale 和standardscale的区别

关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化

preprocessing

机器学习实战基础(十五):sklearn中的数据预处理和特征工程特征选择 之 Filter过滤法 相关性过滤

机器学习实战基础(十五):sklearn中的数据预处理和特征工程特征选择 之 Filter过滤法 相关性过滤

hibernate怎样实现数据库平台无关性