1. 啥是降维?
摘自维基百科在机器学习和统计学领域,降维是指在某些限定条件下,降低随机变量个数,得到一组“不相关”主变量的过程。 降维可进一步细分为变量选择和特征提取两大方法。
简单来说,如果你的数据集是由下面几个成分组成:
1.降雨量
2.湿度
3.房屋价格
4.健康指数
我们显然可以判断,前两个数据具有明显的相关性
,意思就是, 我们的原始数据就有比较大的冗余
, 这对我们进行模型训练是无作用的,因此我们可以通过降维达到:
1. 平均湿度
2. 房屋价格
3. 健康指数
这就是一个改进版的训练集,一般都会在数据预处理阶段对数据先降个维。
2. 降维的方法是啥?
特征选择
: 这里不是特征提取,而是特征提取之后, 再从提取的特征之中筛选几个
1.过滤式选择
1.1 方差选择(低方差特征过滤, 删除低方差的特征项)
from sklearn. feature_selection import VarianceThreshold
def featur_Select():
data = pd.read_csv("feature.csv")
#data =data.iloc[:,1:-2]
print("\n")
transfer = VarianceThreshold(threshold = 阈值)
result = transfer.fit_transform(data)
print(result)
1.2 相关系数
我们此处使用皮尔森相关系数:从-1 到 +1 (负相关最强 到 正相关最强)
from scipy.status import pearsonr
def pearsonr_ Selection():
data = 某个字典 。。
# 只能一次算两个数据的相关性
relationship = pearsonr(data[x], data[y])
print(relationship)
即使我们知道了两个数据的相关系数很强,接近一,这代表我们不得不去丢弃一部分数据,怎么丢弃?方法如下:
- 选取其中一个
- 加权求和
- 主成分分析PCA
主要讲讲主成分分析:对水壶拍摄: 照出来的就是二维的,三维降到二维。 但是想从照片还原到实物就不是那么简单了,我们要求拍照者选定合适的角度, 比如倾斜45度的时候,我们可以较全面地观察到这个水壶; 而不是正视,正视我们只能看到正面,几乎不可能还原。
PCA就是,保留尽可能多的信息的降维
from sklearn.decomposition import pca
def pca_demo():
data = [[2,8,4,5], [6,3,0,8], [2,3,4,1]]
# n_components 就是目标维度, 整数代表几个维度,浮点数代表信息百分比数
#比如你给个0.5原本的四个特征不一定就成了两个特征, 而有可能是三个
#比如你给个0.98,可能只剩下了两个特征
pca = PCA(n_components)
data_new = pca.fir_transform(data)
print(data_new)
嵌入式选择
来源:CSDN
作者:又决定放弃
链接:https://blog.csdn.net/qq_24884193/article/details/104079629