• 机器学习2(降维)


    降维: 减少特征,称之为降维(这里的维不再是 数组里面的维度了)
    若现在有100个特征,减少一个 也可以称之为降维

    1. 特征选择
    原因:
    1.冗余:部分特征相关度高,容易消耗计算性能
    2.噪音: 部分特征对预测结果有影响
    三大武器:
    1. filter(过滤式): variance threshold (从方差的角度去过滤)
    API:
    sklearn.feature_selection.VarianceThreshold
    variance = VarianceThreshold(threshold=0) ---- 删除所有低方差特性
    variance.fit_transform(X)
    X: numpy array数据格式
    返回值:训练集低于threshold的特征被删除。默认值是保留非0方差特征,即删除样本中具有相同值特征
    eg:
     1 def Var():  # 方差过滤式
     2 
     3     '''
     4     过滤式
     5     :return:None
     6     '''
     7 
     8     var = VarianceThreshold(threshold=0)
     9     x = var.fit_transform([[1, 2, 3, 6],
    10                             [1, 6, 6, 8],
    11                             [1, 21, 6, 7]])
    12     print(x)
    过滤式

          2. embedded(嵌入式): 正则化,决策树
    3. wrapper(包裹式)

    2.主成分分析(数据也会改变,特征数量也会减少 eg:两个特征差不多,就合并两个特征)
    API: sklearn.decomposition
    本质:PCA是一种分析,简化数据集的技术
    目的:是数据维数压缩,尽可能降低原数据维数(复杂度),损失少量信息
    作用:可以削减回归分析或者聚类分析中特征的数量
    前提:特征数量达到上百, 考虑数据的简化

    PCA(n_components=None) n_components=0.9 (n_components为保留多少的特征,一般在0.9-0.95)
    将数据分解为低维数空间
    PCA.fit_transform(X)
    X: numpy array格式的数据[n_samples, n_features]
    返回值: 转换后指定维度的array
    def Pca():
        pca = PCA(n_components=0.92)
        x = pca.fit_transform([[1, 2, 3, 6],
                                [1, 6, 6, 8],
                                [1, 21, 6, 7]])
        print(x)

    补充:


    '''
    在我们实践中我们需要下载数据然后
    pd.read_csv('path')
    假如需要分析的数据在不同的表格里面我们可以(找两个表相同的columns)把多个表合并成一个表 pd.merge(lift, right, on=[''])
    在把特征放在列 可以使用交叉表(特殊的分组表)pd.crosstab(row, column)

    '''
  • 相关阅读:
    免费的asp.net空间
    利用instr()函数防止SQL注入攻击
    Dreamweaver中sql注入式攻击的防范
    编写通用的ASP防SQL注入攻击程序
    跨站式SQL注入技巧
    防范Sql注入式攻击
    PHP与SQL注入攻击
    SQL注入攻击的原理及其防范措施
    SQL注入法攻击一日通
    SQL Server应用程序中的高级SQL注入
  • 原文地址:https://www.cnblogs.com/BookMiki/p/10500796.html
Copyright © 2020-2023  润新知