python pré-traitement des données: Réduction de dimensionnalité

Aujourd'hui petite pour tout le monde à partager des données python méthodes prétraitements: réduction des données, une bonne valeur de référence, nous voulons aider. Venez voir, de suivre les petites séries ensemble des
données Pourquoi la réduction de dimensionnalité

réduction des données peut réduire le nombre de modèles de calcul et de réduire le temps d'exécution du modèle, afin de réduire l'influence des résultats du modèle de bruit pour des informations variables, des informations de dimension pour faciliter la réduction des données d'affichage visuellement et de réduire l'espace de stockage. Par conséquent, dans la plupart des cas, quand nous sommes confrontés à des données de grande dimension, nous devons faire la réduction de dimensionnalité des données.

réduction des données de deux façons: la sélection des fonctionnalités, la conversion de dimension

Sélection des fonctionnalités

un moyen de sélection de fonction selon certaines règles et de l'expérience, directement impliqués dans la sélection d'une partie du processus de modélisation et le calcul de la dimension d'origine, au lieu de toutes les fonctionnalités de la sélection de fonction, sans modifier les caractéristiques, la nouvelle valeur de la fonctionnalité est généré.

façon de réduire la dimension des avantages de la sélection des caractéristiques est la fondation peut conserver les dimensions d'origine d'une caractéristique sur la réduction de dimensionnalité, à la fois pour répondre aux données ultérieures de traitement et de modélisation des exigences, et de conserver les dimensions originales du sens des affaires, afin de faciliter l'entreprise à comprendre et à appliquer. Pour le business model des applications analytiques, compréhensibilité et la facilité d'utilisation du modèle lui-même plusieurs fois ont une précision limitée, l'efficacité et d'autres indicateurs techniques. Par exemple, les règles de la fonction de l'arbre de décision obtenue, l'utilisateur peut être utilisé comme base des conditions de sélection de l'échantillon, qui est caractérisé en règles générées sur la base des dimensions de l'entrée.

Dimensions de conversion

Le procédé selon certaines transformations mathématiques, pour un ensemble donné de variables associées (dimension), par un des points de données du modèle mathématique sont mis en correspondance avec l'espace spatial des latitudes de faible latitude élevée, puis en utilisant la variable de caractéristique mappées pour représenter une des variables globales originales fonction. Cette approche est le processus de production d'une nouvelle dimension, une dimension non convertie les caractéristiques d'origine, mais l'expression avant que la fonction de conversion des nouvelles caractéristiques des données d'affaires perdues de sens d'origine. Dimensionnalité de réduction en convertissant les dimensions de données sont très importantes méthodes de réduction de la dimension, de telles dimensions et de la méthode de réduction de la dimension est divisée en deux types de réduction de la dimension non linéaire linéairement représentatifs qui sont couramment utilisés comprennent algorithme d'analyse en composantes indépendantes (l'ICA), Analyse en Composantes Principales ( PCA), l'analyse des facteurs (analyse factorielle, FA), l'analyse discriminante linéaire (LDA), localement linéaire enrobage (LLE), noyau analyse en composantes principales (PCA noyau) et analogues.

Utilisez python faire une réduction de dimensionnalité

import pandas as pd
import numpy as np
from sklearn.tree import DecisionTreeClassifier
from sklearn.decomposition import PCA
 
# 数据导入
df = pd.read_csv('https://raw.githubusercontent.com/ffzs/dataset/master/glass.csv')
 
# 看一下数据是
df.head()
 
 
   RI   Na Mg Al   Si   K   Ca   Ba   Fe  Type
0 1.52101 13.64 4.49 1.10 71.78 0.06 8.75 0.0 0.0 1
1 1.51761 13.89 3.60 1.36 72.73 0.48 7.83 0.0 0.0 1
2 1.51618 13.53 3.55 1.54 72.99 0.39 7.78 0.0 0.0 1
3 1.51766 13.21 3.69 1.29 72.61 0.57 8.22 0.0 0.0 1
4 1.51742 13.27 3.62 1.24 73.08 0.55 8.07 0.0 0.0 1
 
# 有无缺失值
df.isna().values.any()
# False 没有缺失值
 
# 获取特征值
X = df.iloc[:, :-1].values
# 获取标签值
Y = df.iloc[:,[-1]].values
# 使用sklearn 的DecisionTreeClassifier判断变量重要性
# 建立分类决策树模型对象
dt_model = DecisionTreeClassifier(random_state=1)
# 将数据集的维度和目标变量输入模型
dt_model.fit(X, Y)
# 获取所有变量的重要性
feature_importance = dt_model.feature_importances_
feature_importance
# 结果如下
# array([0.20462132, 0.06426227, 0.16799114, 0.15372793, 0.07410088, 0.02786222, 0.09301948, 0.16519298, 0.04922178])
# 做可视化
import matplotlib.pyplot as plt
 
x = range(len(df.columns[:-1])) 
plt.bar(left= x, height=feature_importance)
plt.xticks(x, df.columns[:-1])

Visible Rl, Mg, Al, Ba importance est relativement élevé, généralement le score d'importance variable près de 80%, plus fondamentalement changement caractéristique a été expliqué.

PCA réduction de dimensionnalité

# 使用sklearn的PCA进行维度转换
# 建立PCA模型对象 n_components控制输出特征个数
pca_model = PCA(n_components=3)
# 将数据集输入模型
pca_model.fit(X)
# 对数据集进行转换映射
pca_model.transform(X)
# 获得转换后的所有主成分
components = pca_model.components_
# 获得各主成分的方差
components_var = pca_model.explained_variance_
# 获取主成分的方差占比
components_var_ratio = pca_model.explained_variance_ratio_
# 打印方差
print(np.round(components_var,3))
# [3.002 1.659 0.68 ]
# 打印方差占比
print(np.round(components_var_ratio,3))
# [0.476 0.263 0.108]

Nous vous recommandons les sites d'apprentissage python, cliquez pour entrer , pour voir quel âge le programme est d'apprendre! À partir du script python de base, reptiles, django

la compilation des données de base zéro, l'exploration de données, les techniques de programmation, l'expérience de travail, ainsi que l'étude minutieuse des petits hauts partenaires du projet python pour lutter contre

,! Chaque jour, les programmeurs Python expliquent le timing de la technologie, le partage des méthodes d'apprentissage et la nécessité de faire attention aux petits détails
que ces données python méthodes prétraitements: réduction des données est petite série pour partager le contenu de tous les

Publié 48 articles originaux · a gagné les éloges 21 · vues + 60000

Je suppose que tu aimes

Origine blog.csdn.net/haoxun11/article/details/105082185
conseillé
Classement