鸟:羽毛颜色、眼睛宽度、是否有爪子、爪子长度
特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变或不改变值,但是选择后的特征维数肯定比选择前小,毕竟我们只选择了其中的一部分特征。
主要方法(三大武器):Filter(过滤器):VarianceThreshold
Embedded(嵌入式):正则化、决策树
Wrapper(包裹式)
冗余:部分特征的相关度高,容易消耗计算性能
噪声:部分特征对预测结果有影响
sklearn.feature_selection.VarianceThreshold
VarianceThreshold语法
● VarianceThreshold(threshold=0.0)
● 删除所有低方差特征
● Variance.fit_transform(X)
● X:numpy array格式的数据[n_samples,n_features]
● 返回值:训练集差异低于threshold的特征将被删除。
● 默认值是保留所有非零方差特征,即删除所有样本。
● 中具有相同值的特征。
代码例子:
# coding:utf-8
from sklearn.feature_selection import VarianceThreshold
def var():
variance= VarianceThreshold(threshold=0.0)
data = variance.fit_transform([[0, 2, 0, 3],
[0, 1, 4, 3],
[0, 1, 1, 3]])
print(data)
def main():
var()
if __name__ == '__main__':
main()
输出:
[[2 0]
[1 4]
[1 1]]
● 神经网络
sklearn.decompostion
本质:PCA是一种分析、简化数据集的技术
目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
作用:可以削减回归分析或者聚类分析中特征的数量。
场景:特征数量达到上百的时候,可以考虑PCA进行数据简化。
效果(副作用):数据也会改变,特征数量也会介绍。
● PCA(n_components=None)
● 将数据分解为较低维数空间
● PCA.fit_transform(X)
● X:numpy array格式的数据[n_samples,n_features]
● 返回值:转换后的指定维度的array
代码例子:
# coding:utf-8
from sklearn.decomposition import PCA
def pca():
pca = PCA(n_components=0.9)
data = pca.fit_transform([[2, 8, 4, 5],
[6, 3, 0, 8],
[5, 4, 9, 1]])
print(data)
def main():
pca()
if __name__ == '__main__':
main()
输出:
[[ 1.28620952e-15 3.82970843e+00]
[ 5.74456265e+00 -1.91485422e+00]
[-5.74456265e+00 -1.91485422e+00]]
本文地址:https://blog.csdn.net/kogodlife/article/details/107136764
如对本文有疑问, 点击进行留言回复!!
网友评论