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进行数据预处理 —— 归一化/标准化/正则化
机器学习实战基础(十五):sklearn中的数据预处理和特征工程特征选择 之 Filter过滤法 相关性过滤