▶️ Tematyka
- Pakiet mlr3
- Klasyfikacja
- Zadanie
- Algorytm
- Podział na zbiór uczący i testowy
- Parametry modelu
- Ocena modeli
- Regresja
- Model
📘 Pakiet mlr3
Pakiet mlr3 pozwala na wykorzystanie różnorodnych algorytmów uczenia maszynowego w ujednolicony sposób.
📘 Klasyfikacja
Algorytmy te pozwalają przewidzieć klasę do jakiej należy dana obserwacja.
Na przykład w przypadku zbioru danych iris kolumna Species określa przynależność danego kwiatu do jednego z trzech gatunków.
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
❕ Zadanie
W celu wytrenowania algorytmu dla danego zbioru danych należy stworzyć zadanie.
Umożliwia to funkcja as_task_classif której pierwszy argument to nasz zbiór danych a drugi to nazwa kolumny w której znajduje się przewidywana klasa.
## <TaskClassif:iris> (150 x 5)
## * Target: Species
## * Properties: multiclass
## * Features (4):
## - dbl (4): Petal.Length, Petal.Width, Sepal.Length, Sepal.Width
Należy pamiętać, że kolumna podana jako target musi zawierać zmienną typu factor.
W przypadku zbioru danych iris kolumna Species jest typu factor, jednak jeżeli to zmienimy próba utworzenia zadania zwróci error.
❕ Algorytm
Niezależnie od utworzonego powyżej zadania należy stworzyć obiekt, który zdefiniuje typ algorytmu jaki zostanie wykorzystany.
Dostępne algorytmy można zobaczyć przywołując następujący obiekt:
## <DictionaryLearner> with 6 stored values
## Keys: classif.debug, classif.featureless, classif.rpart, regr.debug,
## regr.featureless, regr.rpart
Niewiele algorytmów jest dostępne w ramach podstawowego mlr3.
By uzyskać dostęp do dodatkowych algorytmów należy wczytać następującą bibliotekę.
Teraz lista dostępnych algorytmów zawiera znacznie więcej elementów.
## <DictionaryLearner> with 27 stored values
## Keys: classif.cv_glmnet, classif.debug, classif.featureless,
## classif.glmnet, classif.kknn, classif.lda, classif.log_reg,
## classif.multinom, classif.naive_bayes, classif.nnet, classif.qda,
## classif.ranger, classif.rpart, classif.svm, classif.xgboost,
## regr.cv_glmnet, regr.debug, regr.featureless, regr.glmnet, regr.kknn,
## regr.km, regr.lm, regr.nnet, regr.ranger, regr.rpart, regr.svm,
## regr.xgboost
Dzięki temu wykorzystać będzie można takie algorytmy jak na przykład k najbliższych sąsiadów.
Możliwe że wybrany algorytm wymagać będzie instalacji dodatkowego pakietu.
Powyższy algorytm wymaga na przykład pakietu kknn.
Nie trzeba jednak wczytywać pakietu za pomocą funkcji library() - wystarczy że jest on zainstalowany.
Podstawowe zastosowanie algorytmu.
Tak przygotowany algorytm można teraz zastosować dla określonego zadania.
Najpierw konieczne jest wytrenowanie modelu - etap ten można porównać do oszacowania parametrów modelu ekonometrycznego.
Należy zwrócić uwagę na to, że przywołanie $train() zmodyfikuje już istniejący obiekt drzewo_decyzyjne.
ynik nie jest zapisany jako osobny model a automatycznie nadpisuje utworzony wcześniej obiekt dla którego zdefiniowano tylko algorytm.
## NULL
Zastosowanie algorytmu drzewa decyzyjnego dla zadania klasyfikacji kwiatów powoduje że model nie jest już pusty.
## n= 150
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 150 100 setosa (0.33333333 0.33333333 0.33333333)
## 2) Petal.Length< 2.45 50 0 setosa (1.00000000 0.00000000 0.00000000) *
## 3) Petal.Length>=2.45 100 50 versicolor (0.00000000 0.50000000 0.50000000)
## 6) Petal.Width< 1.75 54 5 versicolor (0.00000000 0.90740741 0.09259259) *
## 7) Petal.Width>=1.75 46 1 virginica (0.00000000 0.02173913 0.97826087) *
W celu uzyskania wartości przewidywanych przez model należy zastosować $predict().
W przeciwieństwie do $train() wyniki $predict() należy zapisać jako osobny obiekt.
Warto zauważyć, że wynik tej operacji zwraca tabelę w której znajdują się zarówno wartości rzeczywiste (truth) jak i przewidywane (response).
## <PredictionClassif> for 150 observations:
## row_ids truth response
## 1 setosa setosa
## 2 setosa setosa
## 3 setosa setosa
## ---
## 148 virginica virginica
## 149 virginica virginica
## 150 virginica virginica
❕ Podział na zbiór uczący i testowy
W celu poprawnej oceny jakości dopasowania modelu należy losowo wydzielić zbiór uczący i testowy.
Zbiór testowy symulować ma trafność przewidywania modelu dla nowych obserwacji.
Posłużyć do tego może funkcja partition.
Funkcja ta zwraca dwie listy id elementów przypisanych do zbioru uczącego (train) i testowego (test).
## $train
## [1] 1 2 3 4 5 6 7 9 10 11 13 14 16 17 18 19 20 22
## [19] 23 24 25 29 30 31 32 33 34 37 40 41 42 45 46 48 52 54
## [37] 55 56 58 59 62 63 65 67 68 69 71 75 76 77 78 80 81 82
## [55] 83 85 86 87 89 90 91 92 94 95 96 97 98 100 101 103 106 107
## [73] 108 111 112 113 114 115 116 117 118 120 121 122 123 125 126 129 130 131
## [91] 133 135 137 138 141 142 143 144 145 146 149 150
##
## $test
## [1] 8 12 15 21 26 27 28 35 36 38 39 43 44 47 49 50 51 53 57
## [20] 60 61 64 66 70 72 73 74 79 84 88 93 99 102 104 105 109 110 119
## [39] 124 127 128 132 134 136 139 140 147 148
Domyślnie zbiór uczący stanowić będzie 67% obserwacji z oryginalnego zbioru danych, a zbiór testowy 33%.
By to zmienić można użyć argumentu ratio określającego procent obserwacji który zostanie wylosowany do zbioru uczącego.
Poniższa komenda podzieli obserwacje tak by 50% znalazło się w zbiorze uczącym.
## $train
## [1] 2 3 4 7 8 9 10 16 19 21 22 25 26 28 29 32 34 35 36
## [20] 37 41 42 43 44 48 51 53 54 56 59 63 68 71 72 73 74 77 78
## [39] 80 82 83 86 87 88 89 91 92 93 94 97 101 102 103 106 110 111 112
## [58] 117 118 120 122 123 127 128 130 132 133 134 137 138 139 142 144 145 146
##
## $test
## [1] 1 5 6 11 12 13 14 15 17 18 20 23 24 27 30 31 33 38 39
## [20] 40 45 46 47 49 50 52 55 57 58 60 61 62 64 65 66 67 69 70
## [39] 75 76 79 81 84 85 90 95 96 98 99 100 104 105 107 108 109 113 114
## [58] 115 116 119 121 124 125 126 129 131 135 136 140 141 143 147 148 149 150
By skorzystać z podziału wykonanego za pomocą funkcji partition należy wykorzystać argument row_ids.
Na etapie tworzenia modelu wykorzystany zostanie tylko zbiór uczący.
Przewidywanie gatunków dla zbioru testowego.
gatunki_przewidywane_test <- knn$predict(zadanie,row_ids = uczący_testowy$test)
gatunki_przewidywane_test
## <PredictionClassif> for 48 observations:
## row_ids truth response
## 8 setosa setosa
## 12 setosa setosa
## 15 setosa setosa
## ---
## 140 virginica virginica
## 147 virginica virginica
## 148 virginica virginica
❕ Parametry modelu
By sprawdzić jakie wartości parametrów zostały ustawione przez $train() wykorzystać można param_set.
## <ParamSet>
## id class lower upper nlevels default value
## 1: k ParamInt 1 Inf Inf 7 7
## 2: distance ParamDbl 0 Inf Inf 2
## 3: kernel ParamFct NA NA 10 optimal
## 4: scale ParamLgl NA NA 2 TRUE
## 5: ykernel ParamUty NA NA Inf
## 6: store_model ParamLgl NA NA 2 FALSE
Możliwa jest samodzielna modyfikacja parametrów.
Odwołać się do nich można za pomocą nazwy z kolumny id.
Na przykład dla algorytmu najbliższych sąsiadów liczba sąsiadów branych pod uwagę może być zmodyfikowana przy użyciu argumentu k.
Wywołując param_set można zaobserwować, że dla nowego modelu k jest równe nie 7 a 5.
## <ParamSet>
## id class lower upper nlevels default value
## 1: k ParamInt 1 Inf Inf 7 5
## 2: distance ParamDbl 0 Inf Inf 2
## 3: kernel ParamFct NA NA 10 optimal
## 4: scale ParamLgl NA NA 2 TRUE
## 5: ykernel ParamUty NA NA Inf
## 6: store_model ParamLgl NA NA 2 FALSE
❕ Ocena modeli
Istnieje wiele miar pozwalających na ocenę i porównywanie modeli.
W ramach pakietu mlr3 dostępne są następujące miary .
## <DictionaryMeasure> with 62 stored values
## Keys: aic, bic, classif.acc, classif.auc, classif.bacc, classif.bbrier,
## classif.ce, classif.costs, classif.dor, classif.fbeta, classif.fdr,
## classif.fn, classif.fnr, classif.fomr, classif.fp, classif.fpr,
## classif.logloss, classif.mauc_au1p, classif.mauc_au1u,
## classif.mauc_aunp, classif.mauc_aunu, classif.mbrier, classif.mcc,
## classif.npv, classif.ppv, classif.prauc, classif.precision,
## classif.recall, classif.sensitivity, classif.specificity, classif.tn,
## classif.tnr, classif.tp, classif.tpr, debug, oob_error, regr.bias,
## regr.ktau, regr.mae, regr.mape, regr.maxae, regr.medae, regr.medse,
## regr.mse, regr.msle, regr.pbias, regr.rae, regr.rmse, regr.rmsle,
## regr.rrse, regr.rse, regr.rsq, regr.sae, regr.smape, regr.srho,
## regr.sse, selected_features, sim.jaccard, sim.phi, time_both,
## time_predict, time_train
Bardziej rozbudowane informacje można uzyskać następująco.
## key label
## 1: aic Akaika Information Criterion
## 2: bic Bayesian Information Criterion
## 3: classif.acc Classification Accuracy
## 4: classif.auc Area Under the ROC Curve
## 5: classif.bacc Balanced Accuracy
## 6: classif.bbrier Binary Brier Score
## 7: classif.ce Classification Error
## 8: classif.costs Cost-sensitive Classification
## 9: classif.dor Diagnostic Odds Ratio
## 10: classif.fbeta F-beta score
## 11: classif.fdr False Discovery Rate
## 12: classif.fn False Negatives
## 13: classif.fnr False Negative Rate
## 14: classif.fomr False Omission Rate
## 15: classif.fp False Positives
## 16: classif.fpr False Positive Rate
## 17: classif.logloss Log Loss
## 18: classif.mauc_au1p Weighted average 1 vs. 1 multiclass AUC
## 19: classif.mauc_au1u Average 1 vs. 1 multiclass AUC
## 20: classif.mauc_aunp Weighted average 1 vs. rest multiclass AUC
## 21: classif.mauc_aunu Average 1 vs. rest multiclass AUC
## 22: classif.mbrier Multiclass Brier Score
## 23: classif.mcc Matthews Correlation Coefficient
## 24: classif.npv Negative Predictive Value
## 25: classif.ppv Positive Predictive Value
## 26: classif.prauc Precision-Recall Curve
## 27: classif.precision Precision
## 28: classif.recall Recall
## 29: classif.sensitivity Sensitivity
## 30: classif.specificity Specificity
## 31: classif.tn True Negatives
## 32: classif.tnr True Negative Rate
## 33: classif.tp True Positives
## 34: classif.tpr True Positive Rate
## 35: debug Debug Classification Measure
## 36: oob_error Out-of-bag Error
## 37: regr.bias Bias
## 38: regr.ktau Kendall's tau
## 39: regr.mae Mean Absolute Error
## 40: regr.mape Mean Absolute Percent Error
## 41: regr.maxae Max Absolute Error
## 42: regr.medae Median Absolute Error
## 43: regr.medse Median Squared Error
## 44: regr.mse Mean Squared Error
## 45: regr.msle Mean Squared Log Error
## 46: regr.pbias Percent Bias
## 47: regr.rae Relative Absolute Error
## 48: regr.rmse Root Mean Squared Error
## 49: regr.rmsle Root Mean Squared Log Error
## 50: regr.rrse Root Relative Squared Error
## 51: regr.rse Relative Squared Error
## 52: regr.rsq R Squared
## 53: regr.sae Sum of Absolute Errors
## 54: regr.smape Symmetric Mean Absolute Percent Error
## 55: regr.srho Spearman's rho
## 56: regr.sse Sum of Squared Errors
## 57: selected_features Absolute or Relative Frequency of Selected Features
## 58: sim.jaccard Jaccard Similarity Index
## 59: sim.phi Phi Coefficient Similarity
## 60: time_both Elapsed Time
## 61: time_predict Elapsed Time
## 62: time_train Elapsed Time
## key label
## task_type packages predict_type task_properties
## 1: <NA> mlr3 response
## 2: <NA> mlr3 response
## 3: classif mlr3,mlr3measures response
## 4: classif mlr3,mlr3measures prob twoclass
## 5: classif mlr3,mlr3measures response
## 6: classif mlr3,mlr3measures prob twoclass
## 7: classif mlr3,mlr3measures response
## 8: classif mlr3 response
## 9: classif mlr3,mlr3measures response twoclass
## 10: classif mlr3,mlr3measures response twoclass
## 11: classif mlr3,mlr3measures response twoclass
## 12: classif mlr3,mlr3measures response twoclass
## 13: classif mlr3,mlr3measures response twoclass
## 14: classif mlr3,mlr3measures response twoclass
## 15: classif mlr3,mlr3measures response twoclass
## 16: classif mlr3,mlr3measures response twoclass
## 17: classif mlr3,mlr3measures prob
## 18: classif mlr3,mlr3measures prob
## 19: classif mlr3,mlr3measures prob
## 20: classif mlr3,mlr3measures prob
## 21: classif mlr3,mlr3measures prob
## 22: classif mlr3,mlr3measures prob
## 23: classif mlr3,mlr3measures response twoclass
## 24: classif mlr3,mlr3measures response twoclass
## 25: classif mlr3,mlr3measures response twoclass
## 26: classif mlr3,mlr3measures prob twoclass
## 27: classif mlr3,mlr3measures response twoclass
## 28: classif mlr3,mlr3measures response twoclass
## 29: classif mlr3,mlr3measures response twoclass
## 30: classif mlr3,mlr3measures response twoclass
## 31: classif mlr3,mlr3measures response twoclass
## 32: classif mlr3,mlr3measures response twoclass
## 33: classif mlr3,mlr3measures response twoclass
## 34: classif mlr3,mlr3measures response twoclass
## 35: <NA> mlr3 response
## 36: <NA> mlr3 response
## 37: regr mlr3,mlr3measures response
## 38: regr mlr3,mlr3measures response
## 39: regr mlr3,mlr3measures response
## 40: regr mlr3,mlr3measures response
## 41: regr mlr3,mlr3measures response
## 42: regr mlr3,mlr3measures response
## 43: regr mlr3,mlr3measures response
## 44: regr mlr3,mlr3measures response
## 45: regr mlr3,mlr3measures response
## 46: regr mlr3,mlr3measures response
## 47: regr mlr3,mlr3measures response
## 48: regr mlr3,mlr3measures response
## 49: regr mlr3,mlr3measures response
## 50: regr mlr3,mlr3measures response
## 51: regr mlr3,mlr3measures response
## 52: regr mlr3,mlr3measures response
## 53: regr mlr3,mlr3measures response
## 54: regr mlr3,mlr3measures response
## 55: regr mlr3,mlr3measures response
## 56: regr mlr3,mlr3measures response
## 57: <NA> mlr3 response
## 58: <NA> mlr3,mlr3measures response
## 59: <NA> mlr3,mlr3measures response
## 60: <NA> mlr3 <NA>
## 61: <NA> mlr3 <NA>
## 62: <NA> mlr3 <NA>
## task_type packages predict_type task_properties
Podobnie jak w przypadku wybrania używanego algorytmu należy utworzyć obiekt określający, która miara zostanie wykorzystana.
Na przykład w celu obliczenia trafności (ang. accuracy) obiekt należy zdefiniować następująco.
By obliczyć trafność danego modelu na danym zbiorze danych najpierw należy otrzymać przewidywane wartości za pomocą $predict().
gatunki_przewidywane_test_knn_k5 <- knn_k5$predict(zadanie,row_ids = uczący_testowy$test)
gatunki_przewidywane_test_knn_k5
## <PredictionClassif> for 48 observations:
## row_ids truth response
## 8 setosa setosa
## 12 setosa setosa
## 15 setosa setosa
## ---
## 140 virginica virginica
## 147 virginica virginica
## 148 virginica virginica
Po zapisaniu wyniku $predict() można dla tego obiektu obliczyć trafność wykorzystując $score().
Wynik oznacza odsetek poprawnie sklasyfikowanych obserwacji ze zbioru testowego przy pomoc algorytmu k najbliższych sąsiadów z k=5.
## classif.acc
## 0.9166667
❕ Regresja
Algorytmy te pozwalają przewidzieć wartość zmiennej ilościowej.
Tak jak w przypadku klasyfikacji należy utworzyć zadanie.
Dla regresji zamiast funkcji as_task_classif należy wykorzystać as_task_regr.
W tym przykładzie przewidywana będzie szerokość płatka.
Wybór algorytmu następuje również w ten sam sposób jak w przypadku klasyfikacji.
Dla zadania regresji dostępne są jednak inne algorytmy.
## <DictionaryLearner> with 27 stored values
## Keys: classif.cv_glmnet, classif.debug, classif.featureless,
## classif.glmnet, classif.kknn, classif.lda, classif.log_reg,
## classif.multinom, classif.naive_bayes, classif.nnet, classif.qda,
## classif.ranger, classif.rpart, classif.svm, classif.xgboost,
## regr.cv_glmnet, regr.debug, regr.featureless, regr.glmnet, regr.kknn,
## regr.km, regr.lm, regr.nnet, regr.ranger, regr.rpart, regr.svm,
## regr.xgboost
W omawianym przykładzie zostanie wykorzystany las losowy.
❕ Model
Wartości przewidywane dla zbioru testowego.
Wiele z miar wykorzystywanych do oceny modeli uczenia maszynowego majacych na celu regresję są analogiczne do tych wykorzystywanych w ekonometrii Przykładem może być MAPE czy MAE.
## key label
## 1: aic Akaika Information Criterion
## 2: bic Bayesian Information Criterion
## 3: classif.acc Classification Accuracy
## 4: classif.auc Area Under the ROC Curve
## 5: classif.bacc Balanced Accuracy
## 6: classif.bbrier Binary Brier Score
## 7: classif.ce Classification Error
## 8: classif.costs Cost-sensitive Classification
## 9: classif.dor Diagnostic Odds Ratio
## 10: classif.fbeta F-beta score
## 11: classif.fdr False Discovery Rate
## 12: classif.fn False Negatives
## 13: classif.fnr False Negative Rate
## 14: classif.fomr False Omission Rate
## 15: classif.fp False Positives
## 16: classif.fpr False Positive Rate
## 17: classif.logloss Log Loss
## 18: classif.mauc_au1p Weighted average 1 vs. 1 multiclass AUC
## 19: classif.mauc_au1u Average 1 vs. 1 multiclass AUC
## 20: classif.mauc_aunp Weighted average 1 vs. rest multiclass AUC
## 21: classif.mauc_aunu Average 1 vs. rest multiclass AUC
## 22: classif.mbrier Multiclass Brier Score
## 23: classif.mcc Matthews Correlation Coefficient
## 24: classif.npv Negative Predictive Value
## 25: classif.ppv Positive Predictive Value
## 26: classif.prauc Precision-Recall Curve
## 27: classif.precision Precision
## 28: classif.recall Recall
## 29: classif.sensitivity Sensitivity
## 30: classif.specificity Specificity
## 31: classif.tn True Negatives
## 32: classif.tnr True Negative Rate
## 33: classif.tp True Positives
## 34: classif.tpr True Positive Rate
## 35: debug Debug Classification Measure
## 36: oob_error Out-of-bag Error
## 37: regr.bias Bias
## 38: regr.ktau Kendall's tau
## 39: regr.mae Mean Absolute Error
## 40: regr.mape Mean Absolute Percent Error
## 41: regr.maxae Max Absolute Error
## 42: regr.medae Median Absolute Error
## 43: regr.medse Median Squared Error
## 44: regr.mse Mean Squared Error
## 45: regr.msle Mean Squared Log Error
## 46: regr.pbias Percent Bias
## 47: regr.rae Relative Absolute Error
## 48: regr.rmse Root Mean Squared Error
## 49: regr.rmsle Root Mean Squared Log Error
## 50: regr.rrse Root Relative Squared Error
## 51: regr.rse Relative Squared Error
## 52: regr.rsq R Squared
## 53: regr.sae Sum of Absolute Errors
## 54: regr.smape Symmetric Mean Absolute Percent Error
## 55: regr.srho Spearman's rho
## 56: regr.sse Sum of Squared Errors
## 57: selected_features Absolute or Relative Frequency of Selected Features
## 58: sim.jaccard Jaccard Similarity Index
## 59: sim.phi Phi Coefficient Similarity
## 60: time_both Elapsed Time
## 61: time_predict Elapsed Time
## 62: time_train Elapsed Time
## key label
## task_type packages predict_type task_properties
## 1: <NA> mlr3 response
## 2: <NA> mlr3 response
## 3: classif mlr3,mlr3measures response
## 4: classif mlr3,mlr3measures prob twoclass
## 5: classif mlr3,mlr3measures response
## 6: classif mlr3,mlr3measures prob twoclass
## 7: classif mlr3,mlr3measures response
## 8: classif mlr3 response
## 9: classif mlr3,mlr3measures response twoclass
## 10: classif mlr3,mlr3measures response twoclass
## 11: classif mlr3,mlr3measures response twoclass
## 12: classif mlr3,mlr3measures response twoclass
## 13: classif mlr3,mlr3measures response twoclass
## 14: classif mlr3,mlr3measures response twoclass
## 15: classif mlr3,mlr3measures response twoclass
## 16: classif mlr3,mlr3measures response twoclass
## 17: classif mlr3,mlr3measures prob
## 18: classif mlr3,mlr3measures prob
## 19: classif mlr3,mlr3measures prob
## 20: classif mlr3,mlr3measures prob
## 21: classif mlr3,mlr3measures prob
## 22: classif mlr3,mlr3measures prob
## 23: classif mlr3,mlr3measures response twoclass
## 24: classif mlr3,mlr3measures response twoclass
## 25: classif mlr3,mlr3measures response twoclass
## 26: classif mlr3,mlr3measures prob twoclass
## 27: classif mlr3,mlr3measures response twoclass
## 28: classif mlr3,mlr3measures response twoclass
## 29: classif mlr3,mlr3measures response twoclass
## 30: classif mlr3,mlr3measures response twoclass
## 31: classif mlr3,mlr3measures response twoclass
## 32: classif mlr3,mlr3measures response twoclass
## 33: classif mlr3,mlr3measures response twoclass
## 34: classif mlr3,mlr3measures response twoclass
## 35: <NA> mlr3 response
## 36: <NA> mlr3 response
## 37: regr mlr3,mlr3measures response
## 38: regr mlr3,mlr3measures response
## 39: regr mlr3,mlr3measures response
## 40: regr mlr3,mlr3measures response
## 41: regr mlr3,mlr3measures response
## 42: regr mlr3,mlr3measures response
## 43: regr mlr3,mlr3measures response
## 44: regr mlr3,mlr3measures response
## 45: regr mlr3,mlr3measures response
## 46: regr mlr3,mlr3measures response
## 47: regr mlr3,mlr3measures response
## 48: regr mlr3,mlr3measures response
## 49: regr mlr3,mlr3measures response
## 50: regr mlr3,mlr3measures response
## 51: regr mlr3,mlr3measures response
## 52: regr mlr3,mlr3measures response
## 53: regr mlr3,mlr3measures response
## 54: regr mlr3,mlr3measures response
## 55: regr mlr3,mlr3measures response
## 56: regr mlr3,mlr3measures response
## 57: <NA> mlr3 response
## 58: <NA> mlr3,mlr3measures response
## 59: <NA> mlr3,mlr3measures response
## 60: <NA> mlr3 <NA>
## 61: <NA> mlr3 <NA>
## 62: <NA> mlr3 <NA>
## task_type packages predict_type task_properties
Wartość MAPE uzyskana przez model.
## regr.mape
## 0.1721744