04 _次元削減

06データの次元削減

  • 次元削減:機能の数を減らします
  • 機能の選択
  • 主成分分析

特徴選択:

特徴選択の理由

  • 冗長性:高い相関の特徴を、消費しやすいコンピューティングのパフォーマンス
  • ノイズ:構造に影響を与える部分特徴を計算します

特徴選択は何ですか?

  1. 特徴選択は、選択よりも間違いなく良い選択した後、抽出された特徴から、すべての機能が選択前と後の選択に値を変更することができ、あなたが値を変更することはできませんし、トレーニングなどの特性のいくつかを選択するだけではなく、機能の次元の前に:定義小さな。我々はそれらの機能の一部だけを選択しているため。

  2. 主な方法:
    • フィルタ(フィルタリング):分散閾値(濾過分散)
    • 組み込み(組み込み):正則、決定木
    • Warpper(ラップアラウンド)
  3. VarianceThresholdモジュール

from sklearn.feature_selection import VarianceThreshold


def var():
    """
    特征选择-删除低方差的特征
    :return: None
    """
    var = VarianceThreshold(threshold=0.0)  #取值根据实际情况
    data = var.fit_transform([[0,2,0,3],[0,1,4,3],[0,1,1,3]])
    print(data)
    return None


if __name__ == '__main__':
    var()

主成分分析(PCA主成分分析)

PCAは何ですか

  1. エッセンス:アン分析、技術的な簡略化されたデータセット
  2. 目的:寸法データ圧縮、可能な限りの情報の小さな損失を元のデータ(複雑さ)の寸法を小さくします
  3. 数量(機能の数百人の数)は、回帰分析やクラスター分析機能を減らす可能性がありますの役割を

問題が発生しやすい高次元データ

  • 機能がしばしば関連している間

PCA文法

  1. 分解
  2. PCA(n_components =なし)
  • n_components - 進:保持機能の寸法比90%〜95%
  • n_components - 整数:保持は、次元数が特徴
from sklearn.decomposition import PCA

def pca():
    """
    主成分分析进行特征降维
    :return: None
    """
    pca = PCA(n_components=0.9)
    data = pca.fit_transform([[2,8,4,5],[6,3,0,8],[5,4,9,1]])
    print(data)

    return None


if __name__ == '__main__':
    pca()

次元削減ケース

カテゴリへのユーザーinstacart

  1. お問い合わせ:商品カテゴリのユーザー設定は、次元縮小を細分化
  • products.csvの製品情報
  • order_products_prior.csv注文および製品情報
  • orders.csv顧客の注文情報
  • 商品のカテゴリに属する​​特定の項目aisles.csv
  1. テーブルに情報を統合
    情報合併

  2. 主成分分析
    データベースのWebリンクinstacart Kaggle
import pandas as pd
from sklearn.decomposition import PCA

# 读取4张表的数据
prior = pd.read_csv('./order_products__prior.csv')
products = pd.read_csv('./products.csv')
orders = pd.read_csv('./orders.csv')
aisles = pd.read_csv('./aisles.csv')

# 合并4张表到一张表(用户-物品)
_mg = pd.merge(prior,products, on=['product_id','product_id'])
_mg = pd.merge(_mg, orders, on=['order_id','order_id'])
mt = pd.merge(_mg, aisles, on=['aisle_id','aisle_id'])

# 交叉表(特殊的分组工具)
cross = pd.crosstab(mt['user_id'],mt['aisle'])

# 进行主成分分析
pca = PCA(n_components=0.9)
data = pca.fit_transform(cross)

おすすめ

転載: www.cnblogs.com/hp-lake/p/11831224.html