机器学习----数据准备&特征工程(2)

一、数据降维

原理,就是采用映射的方法,把高维准换成低维的
降维可能准确度会下降,但是避免了过拟合的现象
可以增加样本个数
这里写图片描述


常用的降维的方法
这里写图片描述

1.1 PCA解释及计算步骤

通过某种线性投影,将高维的数据映射到低维的空间中表示,使得方差最大,适用较少的数据维度,尽量保留住较多的数据

步骤
1,各个数据集减去各数据的均值
这里写图片描述

2求特征变量的协方差矩阵
这里写图片描述

3求协方差的特征值和特征向量

这里写图片描述

**4.排序取值
这里写图片描述

5.投影映射
这里写图片描述**

代码如下

# -*- coding: utf-8 -*-
from IPython.core.interactiveshell import InteractiveShell
InteractiveShell.ast_node_interactivity="all"
from  sklearn import datasets
#数据收集
iris = datasets.load_iris()
x=iris.data
y=iris.target
#PCA降维
from sklearn.decomposition import PCA
'''
sklearn.decomposition.PCA(n_components=None,copy = True,whiten=Flase)
n_components:主成分个数
copy:训练时是否复制一份,默认是True
whiten:白化,似的每个特征具有相同的方差
'''
#定义一个PCA模型
pca = PCA(n_components=3)
#fit聚合
pca.fit()
#transform
x_new = pca.fit_transform(x)
print(pca.explained_variance_ratio_)
print(pca.explained_variance_)
####可视化
pca = PCA(n_components=2)
pca.fit(x)
x_new2 = pca.transform(x)
import matplotlib.pyplot as plt
%matplotlib inline
plt.scatter(x_new2[:,0],x_new2[:,1],marker="o",c=y)
plt.show()

1.2线性判别分析(LDA)

原理
这里写图片描述

PCA和LDA的区别
这里写图片描述
这里写图片描述
这里写图片描述

代码和PCA类似

二、数据选择

2.1数据选择和降维的差异

这里写图片描述

2.2原因

这里写图片描述

2.3特征选择的方法

这里写图片描述

2.4单特征重要性评估

信息值(IV)
这里写图片描述

趋势分析
这里写图片描述

代码演示
这里写图片描述
这里写图片描述

猜你喜欢

转载自blog.csdn.net/sakura55/article/details/80714177