(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ă:
-
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.
-
-
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
recipeobiect pentru a defini etapele de preprocesare. -
target_variable ~ .: Specifică astatarget_variableeste variabila țintă (dependentă) și toate celelalte variabile dintraining_datasunt 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
-
Centrare și scalare:
-
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:
-
Reproductibilitate: Etapele de preprocesare sunt clar definite și pot fi reutilizate.
-
Consistență: Aceleași etape de preprocesare sunt aplicate atât seturilor de date de instruire, cât și pentru testare.
-
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.
