Stăpânirea preprocesului de date în R cu pachetul „Rețete”

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

(Acest articol a fost publicat pentru prima dată pe R-posts.comși a contribuit cu drag la R-Bloggers). (Puteți raporta problema despre conținutul de pe această pagină aici)


Doriți să vă împărtășiți conținutul pe R-Bloggers? Faceți clic aici dacă aveți un blog sau aici dacă nu.

Preprocesarea datelor este un pas critic în orice flux de lucru de învățare automată. Se asigură că datele dvs. sunt curate, consecvente și gata de modelare. În r, the recipes Pachetul oferă un cadru puternic și flexibil pentru definirea și aplicarea etapelor de preprocesare. În această postare pe blog, vom explora cum să folosiți recipes Pentru a preproces date pentru învățarea automată, pas cu pas.

Here’s what we’ll cover in this blog:

1. Introduction to the `recipes` Package
   - What is the `recipes` package, and why is it useful?

2. Why Preprocess Data?
   - The importance of centering, scaling, and encoding in machine learning.

3. Step-by-Step Preprocessing with `recipes`  
   - How to create a preprocessing recipe.  
   - Centering and scaling numeric variables.  
   - One-hot encoding categorical variables.

4. Applying the Recipe  
   - How to prepare and apply the recipe to training and testing datasets.

5. Example: Preprocessing in Action  
   - A practical example of preprocessing a dataset.

6. Why Use `recipes`?  
   - The advantages of using the `recipes` package for preprocessing.

7. Conclusion  
   - A summary of the key takeaways and next steps.

Ce este recipes Pachet?

recipes Pachetul face parte din tidymodels Ecosistem în R. Vă permite să definiți o serie de pași de preprocesare (cum ar fi centrarea, scalarea și codificarea) într -un mod curat și reproductibil. Acești pași sunt încapsulați într -o „rețetă”, care poate fi apoi aplicată la seturile de date de instruire și testare.


De ce preprocesul de date?

Înainte de a ne scufunda în cod, să discutăm pe scurt de ce preprocesarea este importantă:

  1. Centrare și scalare:

    • Mulți algoritmi de învățare automată (de exemplu, SVM, KNN, rețele neuronale) sunt sensibili la scara caracteristicilor. Dacă caracteristicile au scări mult diferite, modelul ar putea acorda o importanță nejustificată caracteristicilor cu mărimi mai mari.

    • Centrarea și scalarea asigură că toate caracteristicile sunt la scară comparabilă, îmbunătățind performanța și convergența modelului.

  2. Codificare cu un singur cald:

    • Algoritmii de învățare automată necesită de obicei intrare numerică. Variabilele categorice trebuie convertite într -o formă numerică.

    • Codificarea cu un singur cald transformă fiecare categorie într-un vector binar, împiedicând modelul să-și asume o relație ordinală între categorii.


Preprocesarea pas cu pas cu recipes

Să descompunem următorul cod pentru a înțelege cum să preprocesați datele folosind recipespachet:

preprocess_recipe <- recipe(target_variable ~ ., data = training_data) %>%
  step_center(all_numeric(), -all_outcomes()) %>%
  step_scale(all_numeric(), -all_outcomes()) %>%
  step_dummy(all_nominal(), -all_outcomes(), one_hot = TRUE)

1. Crearea obiectului rețetei

preprocess_recipe <- recipe(target_variable ~ ., data = training_data)
  • Scop: Creează a recipe obiect pentru a defini etapele de preprocesare.

  • target_variable ~ .: Specifică asta target_variable este variabila țintă (dependentă) și toate celelalte variabile din training_data sunt caracteristici (variabile independente).

  • data = training_data: Specifică setul de date de instruire pentru a fi utilizat.


2. Centrarea variabilelor numerice

step_center(all_numeric(), -all_outcomes())
  • Scop: Centrează variabile numerice scăzând media lor, astfel încât media fiecărei variabile să devină 0.

  • all_numeric(): Selectează toate variabilele numerice.

  • -all_outcomes(): Exclude variabila țintă (target_variable), deoarece nu trebuie să fie centrat.


3. Scalarea variabilelor numerice

step_scale(all_numeric(), -all_outcomes())
  • Scop: Scalează variabilele numerice prin împărțirea lor la abaterea lor standard, astfel încât abaterea standard a fiecărei variabile să devină 1.

  • all_numeric(): Selectează toate variabilele numerice.

  • -all_outcomes(): Exclude variabila țintă (target_variable), întrucât nu trebuie să fie scalat.


4. codificarea cu un singur cald pentru variabile categorice

step_dummy(all_nominal(), -all_outcomes(), one_hot = TRUE)
  • Scop: Convertește variabilele categorice în variabile binare (0/1) folosind codificarea cu un singur hot.

  • all_nominal(): Selectează toate variabilele nominale (categorice).

  • -all_outcomes(): Exclude variabila țintă (target_variable), întrucât nu trebuie să fie codat.

  • one_hot = TRUE: Specifică faptul că ar trebui utilizată codificarea cu un singur cald.


Aplicarea rețetei

Odată ce rețeta este definită, o puteți aplica la datele dvs.:

# Prepare the recipe with the training data
prepared_recipe <- prep(preprocess_recipe, training = training_data, verbose = TRUE)

# Apply the recipe to the training data
train_data_preprocessed <- juice(prepared_recipe)

# Apply the recipe to the testing data
test_data_preprocessed <- bake(prepared_recipe, new_data = testing_data)
  • prep(): Calculează statisticile necesare (de exemplu, mijloace, abateri standard) de la datele de instruire pentru a aplica etapele de preprocesare.

  • juice(): Aplică rețeta datelor de instruire.

  • bake(): Aplică rețeta la date noi (de exemplu, setul de testare).


Exemplu: preprocesarea în acțiune

Să presupunem că training_data setul de date arată astfel:

Tintain_variable caracteristică_1 caracteristică_2 categorie
150 25 50000 O
160 30 60000 B
140 22 45000 B

Date preprocesate

  1. Centrare și scalare:

  2. Codificare cu un singur cald:

Datele preprocesate ar putea arăta astfel:

Tintain_variable caracteristică_1_scaled caracteristică_2_scaled Categorie_A Categorie_B
150 -0.5 0,2 1 0
160 0,5 0,8 0 1
140 -1.0 -0.5 0 1

De ce să folosești recipes?

recipes Pachetul oferă mai multe avantaje:

  1. Reproductibilitate: Etapele de preprocesare sunt clar definite și pot fi reutilizate.

  2. Consistență: Aceleași etape de preprocesare sunt aplicate atât seturilor de date de instruire, cât și pentru testare.

  3. Flexibilitate: Puteți adăuga sau modifica cu ușurință pașii în conducta de preprocesare.


Concluzie

Preprocesarea datelor este un pas crucial în pregătirea datelor dvs. pentru învățarea automată. Cu recipesPachet în R, puteți defini și aplica pași de preprocesare într -un mod curat, reproductibil și eficient. Prin centrarea, scalarea și codificarea datelor dvs., vă asigurați că modelele dvs. de învățare automată funcționează în cel mai bun caz.

Sunteți gata să îl încercați? Instalați recipes Pachetați și începeți să vă preprocesați datele astăzi!

install.packages("recipes")
library(recipes)

Codificare fericită! 😊


Stăpânirea preprocesului de date în R cu pachetul „Rețete” a fost postată pentru prima dată pe 13 aprilie 2025 la 7:08 am.

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.