chapter 5 用转换器抽取特征(感觉有点特征工程的意思)
本章所讨论的是如何从数据集中抽取数值和类别型特征,并选出最佳特征。
特征抽取
对于各个实物,我们只有先把现实用特征表示出来,才能借助数据挖掘的力量找到问题的答案。特征选择的另一个优点在于降低真实世界的复杂度。
dataframe中的unique函数有点类似于SQL中的distinct,能把一列中互不相同的元素筛选出来。
数据离散化:条件判断,划分。
特征选择
sklearn中的VarianceThreshold转换器可用来删除特征值的方差达不到最低标准的特征。
from sklearn.feature_selection import VarianceThreshold
vt = VarianceThreshold()
xt = vt.fit_transform(x)
输出xt后,会发现不符合要求的列消失了。
print(vt.variances_) #输出每一列的方差
选择最佳特征
sklearn提供了几个用于选择单变量特征的转换器:
SelectKBest返回k个最佳特征
SelectPercentile返回表现最佳的前r%个特征
单个特征和某一类别之间相关性的计算方法有很多。常用的有卡方检验、互信息、信息熵等。
使用SelectKBest转换器类,用卡方函数打分
fr