Maison >Problème commun >Algorithme de classification
La classification est une technique d'exploration de données importante. Le but de la classification est de construire une fonction de classification ou un modèle de classification (également souvent appelé classificateur) basé sur les caractéristiques de l'ensemble de données, qui peut mapper des échantillons de catégories inconnues à l'une des catégories données. La classification et la régression peuvent être utilisées à des fins de prédiction. La différence avec les méthodes de régression est que le résultat de la classification est constitué de valeurs de catégorie discrètes, tandis que le résultat de la régression est constitué de valeurs continues ou ordonnées.
Le processus de construction d'un modèle est généralement divisé en deux étapes : la formation et les tests. Avant de construire le modèle, l'ensemble de données doit être divisé de manière aléatoire en ensemble de données d'entraînement et ensemble de données de test. Dans la phase de formation, à l'aide de l'ensemble de données de formation, le modèle est construit en analysant les tuples de base de données décrits par des attributs, en supposant que chaque tuple appartient à une classe prédéfinie, déterminée par un attribut appelé attribut d'étiquette de classe. Un seul tuple dans l'ensemble de données d'entraînement est également appelé échantillon d'apprentissage. La forme d'un échantillon spécifique peut être : (u1, u2,...un;c) ; où ui représente la valeur de l'attribut et c représente la catégorie. Étant donné que l'étiquette de classe de chaque échantillon de formation est fournie, cette étape est également appelée apprentissage guidé. Généralement, le modèle est fourni sous la forme de règles de classification, d'arbres de décision ou de formules mathématiques. Dans la phase de test, l'ensemble de données de test est utilisé pour évaluer la précision de classification du modèle. Si la précision du modèle est jugée acceptable, le modèle peut être utilisé pour classer d'autres tuples de données. De manière générale, le coût de la phase de test est bien inférieur à celui de la phase de formation. (Apprentissage recommandé : Tutoriel vidéo Python)
Afin d'améliorer la précision, l'efficacité et l'évolutivité de la classification, les données sont généralement prétraitées avant la classification, notamment :
(1 ) Nettoyage des données. Son objectif est d'éliminer ou de réduire le bruit des données et de gérer les valeurs manquantes.
(2) Analyse de corrélation. Étant donné que de nombreux attributs de l'ensemble de données peuvent ne pas être pertinents pour la tâche de classification, l'inclusion de ces attributs ralentira et potentiellement induira en erreur le processus d'apprentissage. Le but de l’analyse de corrélation est de supprimer ces attributs non pertinents ou redondants.
(3) Transformation des données. Les données peuvent être généralisées à des concepts de niveau supérieur. Par exemple, la valeur de l'attribut à valeur continue « revenu » peut être généralisée à des valeurs discrètes : faible, moyenne et élevée. Pour un autre exemple, l'attribut de valeur nominale « ville » peut être généralisé au concept de haut niveau « province ». De plus, les données peuvent également être normalisées, ce qui redimensionne la valeur d'un attribut donné dans un intervalle plus petit, tel que [0,1], etc.
Types et caractéristiques des algorithmes de classification
Les méthodes de construction des modèles de classification comprennent les arbres de décision, les méthodes statistiques, les méthodes d'apprentissage automatique, les méthodes de réseaux neuronaux, etc. Selon l'orientation générale, ils comprennent principalement : l'arbre de décision, les règles d'association, le bayésien, le réseau neuronal, l'apprentissage des règles, la méthode k-nearby, l'algorithme génétique, les ensembles approximatifs et la technologie de logique floue.
Algorithme de classification d'arbre de décision
L'arbre de décision est un algorithme d'apprentissage inductif basé sur des exemples. Il déduit des règles de classification sous la forme d'une représentation d'arbre de décision à partir d'un ensemble de tuples non ordonnés et sans règles. Il utilise une méthode récursive descendante pour comparer les valeurs d'attribut aux nœuds internes de l'arbre de décision, et se ramifie vers le bas à partir du nœud en fonction de différentes valeurs d'attribut. Les nœuds feuilles sont les classes à apprendre à diviser. Un chemin de la racine au nœud feuille correspond à une règle conjonctive, et l’ensemble de l’arbre de décision correspond à un ensemble de règles d’expression disjonctive. En 1986, Quinlan propose le célèbre algorithme ID3. Basé sur l'algorithme ID3, Quinlan a proposé l'algorithme C4.5 en 1993. Afin de s'adapter aux besoins de traitement d'ensembles de données à grande échelle, plusieurs algorithmes améliorés ont ensuite été proposés, parmi lesquels SLIQ (apprentissage supervisé en quête) et SPRINT (induction scalable parallélisable d'arbres de décision) sont deux des algorithmes les plus représentatifs. .
Algorithme de classification bayésienne
L'algorithme de classification bayésienne est une méthode de classification en statistique. C'est un type d'algorithme qui utilise la probabilité et les connaissances statistiques pour la classification. À de nombreuses reprises, l'algorithme de classification Naïve Bayes (NB) peut être comparable aux algorithmes de classification des arbres de décision et des réseaux neuronaux. Cet algorithme peut être appliqué à de grandes bases de données, et la méthode est simple, la précision de la classification est élevée et la vitesse est élevée. rapide.
Parce que le théorème de Bayes suppose que l'impact d'une valeur d'attribut sur une classe donnée est indépendant des valeurs d'autres attributs, et que cette hypothèse n'est souvent pas vraie dans les situations réelles, la précision de sa classification peut diminuer. Pour cette raison, de nombreux algorithmes de classification bayésienne qui réduisent l'hypothèse d'indépendance ont été dérivés, tels que l'algorithme TAN (tree augmentéd Bayes network).
Pour plus d'articles techniques liés à Python, veuillez visiter la colonne Tutoriel Python pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!