Prétraitement des données dans R : Tutoriel ultime [2022]

Publié: 2021-03-01

Dans notre tutoriel suivant sur le prétraitement des données dans R, vous apprendrez les bases du prétraitement des données. Ce tutoriel nécessite que vous soyez familiarisé avec les bases de R et de la programmation :

Table des matières

1. Étape : rechercher et résoudre les problèmes

Nous allons commencer notre tutoriel de prétraitement des données dans R en important d'abord l'ensemble de données. Après tout, vous ne pouvez pas prétraiter les données si vous ne disposez pas des données en premier lieu.

Dans notre cas, les données sont stockées dans le fichier data.csv du répertoire de travail. Vous pouvez utiliser la commande setwd ("emplacement souhaité") et définir le répertoire de travail.

Voici comment démarrer le processus :

jeu de données <- read.csv(“Données.csv”)

Voici notre ensemble de données :

## De campagne Âge Un salaire Acheté
## 1 La France 44 72000 Non
## 2 Espagne 27 48000 Oui
## 3 Allemagne 30 54000 Non
## 4 Espagne 38 61000 Non
## 5 Allemagne 40 N / A Oui
## 6 La France 35 58000 Oui
## 7 Espagne N / A 52000 Non
## 8 La France 48 79000 Oui
## 9 Allemagne 50 83000 Non
## dix La France 37 67000 Oui

Comme vous pouvez le constater, il manque des valeurs dans les colonnes Salary et Age de notre ensemble de données. Nous avons identifié le problème présent dans notre ensemble de données afin que nous puissions maintenant commencer à le résoudre.

Aucun autre problème ne semble être présent dans notre ensemble de données, nous n'avons donc qu'à gérer les valeurs manquantes. Nous pouvons résoudre ce problème en remplaçant les valeurs NA par les valeurs moyennes des colonnes respectives. Voici comment:

dataset$Age <- ifelse(is.na(dataset$Age),

ave(dataset$Age, FUN = function(x)

moyenne(x, na.rm = VRAI)),

jeu de données$Age)

dataset$Salary <- ifelse(is.na(dataset$Salary),

ave(dataset$Salary, FUN = function(x)

moyenne(x, na.rm = VRAI)),

jeu de données$Salaire)

Remarquez comment nous avons utilisé la fonction ave() ici. Il prend la moyenne de la colonne spécifique que vous avez entrée où FUN est une fonction de x qui calcule la moyenne en excluant les valeurs NA (na.rm=TRUE).

autre,

prendre tout ce qui est présent dans l'ensemble de données$Age

Nous allons utiliser la fonction mean() maintenant :
#définir x = 1 2 3

x <- 1:3

#introduction de la valeur manquante

x[1] <- NA

# signifie = NA

signifie (x)

## [1] S/O

# moyenne = moyenne excluant la valeur NA

moyenne(x, na.rm = T)

## [1] 2,5

Après avoir identifié et résolu le problème, notre ensemble de données ressemble à ceci :

## De campagne Âge Un salaire Acheté
## 1 La France 44 72000.00 Non
## 2 Espagne 27 48000.00 Oui
## 3 Allemagne 30 54000.00 Non
## 4 Espagne 38 61000.00 Non
## 5 Allemagne 40 63777.78 Oui
## 6 La France 35 58000.00 Oui
## 7 Espagne 38 52000.00 Non
## 8 La France 48 79000.00 Oui
## 9 Allemagne 50 83000.00 Non
## dix La France 37 67000.00 Oui

Lisez aussi: Opportunités de carrière dans le langage de programmation R

2. Étape : Données catégorielles

Les données catégorielles sont des données non numériques qui appartiennent à des catégories particulières. La colonne Pays de notre ensemble de données contient des données catégorielles. La fonction read.csv() dans R transformerait toutes les variables de chaîne en variables catégorielles. Cependant, nous ne pouvons pas l'utiliser dans tous les cas.

Voici comment créer des variables spécifiques en tant que variables factorielles :
dataset$Country = factor(dataset$Country,

niveaux = c('France', 'Espagne', 'Allemagne'),

étiquettes = c(1, 2, 3))

dataset$Acheté = factor(dataset$Acheté,

niveaux = c('Non', 'Oui'),

étiquettes = c(0, 1))

3. Étape : fractionner les données

Maintenant, nous devons diviser notre ensemble de données en deux ensembles de données distincts. L'un pour former notre modèle d'apprentissage automatique tandis que l'autre pour tester le même.

Pour ce faire, nous allons d'abord installer le package caTools (s'il n'est pas disponible) et l'ajouter à notre bibliothèque. Ensuite, nous utiliserons la fonction set.seed() pour nous assurer que la séparation est effectuée de manière aléatoire. Utilisez le code suivant :
bibliothèque (caTools)

set.graine(123)

split = sample.split(dataset$Purchased,SplitRatio = 0.8)

training_set = sous-ensemble (ensemble de données, fractionné == TRUE)

test_set = sous-ensemble (ensemble de données, fractionné == FAUX)

Vous avez dû remarquer que nous avons conservé le ratio de partage à 80:20. En effet, il s'agit du rapport de division le plus conventionnel pour les ensembles d'apprentissage et les ensembles de test. Notre méthode sample.split() a pris la colonne et créé un tableau numérique avec des valeurs vraies et fausses aléatoires en fonction du rapport de division.

4. Étape : Mise à l'échelle ou surajustement des fonctionnalités

La mise à l'échelle des entités est requise lorsque différentes entités de votre jeu de données ont des plages différentes. Dans notre cas, les colonnes Age et Salary ont des plages différentes, ce qui peut poser des problèmes lors de la formation de notre modèle ML.

Lorsque vous avez une entité avec une plage nettement plus élevée que l'autre entité, la distance euclidienne augmente considérablement, ce qui fait que le modèle donne des résultats erronés.

Notez que la plupart des bibliothèques de R résolvent ce problème automatiquement, mais il est important de savoir comment résoudre ce problème. Procédez comme suit :

training_set[,2:3] = échelle(training_set[,2:3])

test_set[,2:3] = échelle(test_set[,2:3])

Cela résoudrait le problème et les fonctionnalités de votre ensemble de formation auraient les mêmes plages, minimisant ainsi les risques d'erreurs lors des implémentations d'apprentissage automatique.

Obtenez une certification en science des données des meilleures universités du monde. Apprenez les programmes Executive PG, les programmes de certificat avancés ou les programmes de maîtrise pour accélérer votre carrière.

Conclusion

Nous espérons que vous avez trouvé notre tutoriel sur le prétraitement des données dans R utile. Il serait préférable de comprendre le didacticiel avant d'essayer de le tester vous-même. Comprendre les concepts est beaucoup plus important que de les utiliser.

Que pensez-vous de notre tutoriel sur le prétraitement des données dans R ? Partagez-les dans les commentaires ci-dessous.

Si vous êtes curieux d'en savoir plus sur R, la science des données, consultez notre PG exécutif en science des données qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1-on- 1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.

Combien de types de polymorphisme existe-t-il en python ?

En Python, le polymorphisme fait référence à un nom de fonction générique qui peut être utilisé à diverses fins. Cette idée est couramment utilisée dans le concept de programmation Python orienté objet.
Le polymorphisme est implémenté en Python à plusieurs fins, telles que le Duck Typing, la surcharge d'opérateur, la surcharge de méthode et le remplacement de méthode, comme c'est le cas dans d'autres langages de programmation tels que Java et C++. La surcharge et le remplacement sont les deux principales méthodes pour obtenir le polymorphisme.
Une classe avec de nombreuses méthodes portant le même nom mais des arguments distincts est appelée surcharge de méthode. Bien que la surcharge de méthode ne soit pas prise en charge par défaut en Python, il existe de nombreuses techniques pour le faire.

Qu'est-ce que la saisie de canard ?

Le typage canard est une notion de polymorphisme. L'expression dactylographie de canard vient d'un proverbe qui dit que tout ce qui marche, cancane et nage comme un canard est surnommé un canard, peu importe ce que c'est. En termes simples, cela indique que si quelque chose correspond à son comportement à autre chose, il sera considéré comme un membre de cette catégorie.

Qu'est-ce que la surcharge et le dépassement ?

Lorsqu'une méthode portant le même nom et les mêmes arguments est utilisée à la fois dans une classe dérivée et dans une classe de base ou super, on dit que la méthode de la classe dérivée remplace la méthode fournie dans la classe de base. Lorsque la méthode surchargée est appelée, la méthode de la classe dérivée est toujours appelée. La méthode qui était utilisée dans la classe de base est maintenant masquée.
Python, en revanche, ne fournit pas de surcharge de méthode basée sur le type, la quantité ou l'ordre des paramètres de méthode. La surcharge de méthode est une approche Python pour définir une méthode telle qu'elle puisse être appelée de plusieurs façons. Contrairement à d'autres langages de programmation, celui-ci est unique.