Glasshouse
루팅된 LG webOS TV용 대시보드·프라이버시 제어·Home Assistant 연동
mlr3: R에서 구현하는 차세대 머신러닝
mlr3: Machine Learning in R - next generation
개발 도구R · TeXGitHub @mlr-org직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
설치형 프로젝트는 배포 도메인 없이도 확인할 수 있습니다. 개인 저장소는 GitHub 로그인으로, 조직 저장소는 위의 저장소 확인 파일로 직접 확인해 주세요.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Package website: release | dev
Efficient, object-oriented programming on the building blocks of machine learning. Successor of mlr.
mlr3 is used
in the
demos
and
exercises.mlr3viz and animint2 for interactive
visualizations.Install the last release from CRAN:
install.packages("mlr3")
Install the development version from GitHub:
# install.packages("pak")
pak::pak("mlr-org/mlr3")
If you want to get started with mlr3, we recommend installing the
mlr3verse meta-package which installs
mlr3 and some of the most important extension packages:
install.packages("mlr3verse")
library(mlr3)
# create learning task
task_penguins = as_task_classif(species ~ ., data = palmerpenguins::penguins)
task_penguins
##
## ── <TaskClassif> (344x8) ─────────────────────────────────────────────
## • Target: species
## • Properties: multiclass
## • Features (7):
## • int (3): body_mass_g, flipper_length_mm, year
## • dbl (2): bill_depth_mm, bill_length_mm
## • fct (2): island, sex
## • Target classes: Adelie (44%), Gentoo (36%), Chinstrap (20%)
# load learner and set hyperparameter
learner = lrn("classif.rpart", cp = .01)
# train/test split
split = partition(task_penguins, ratio = 0.67)
# train the model
learner$train(task_penguins, split$train_set)
# predict data
prediction = learner$predict(task_penguins, split$test_set)
# calculate performance
prediction$confusion
## truth
## response Adelie Chinstrap Gentoo
## Adelie 146 5 0
## Chinstrap 6 63 1
## Gentoo 0 0 123
measure = msr("classif.acc")
prediction$score(measure)
## classif.acc
## 0.9651163
# 3-fold cross validation
resampling = rsmp("cv", folds = 3L)
# run experiments
rr = resample(task_penguins, learner, resampling)
# access results
rr$score(measure)[, .(task_id, learner_id, iteration, classif.acc)]
## task_id learner_id iteration classif.acc
## 1: palmerpenguins::penguins classif.rpart 1 0.8956522
## 2: palmerpenguins::penguins classif.rpart 2 0.9478261
## 3: palmerpenguins::penguins classif.rpart 3 0.9649123
rr$aggregate(measure)
## classif.acc
## 0.9361302
Consult the wiki for short descriptions and links to the respective repositories.
For beginners, we strongly recommend to install and load the mlr3verse package for a better user experience.
mlr was first released to CRAN in 2013. Its core design and architecture date back even further. The addition of many features has led to a feature creep which makes mlr hard to maintain and hard to extend. We also think that while mlr was nicely extensible in some parts (learners, measures, etc.), other parts were less easy to extend from the outside. Also, many helpful R libraries did not exist at the time mlr was created, and their inclusion would result in non-trivial API changes.
mlr nicely.data.table
for fast and convenient data frame computations.data.table and R6, for this we will make heavy use of list
columns in data.tables.checkmate. Return
types are documented, and mechanisms popular in base R which
“simplify” the result unpredictably (e.g., sapply() or drop
argument in [.data.frame) are avoided.mlr3 requires the following packages at
runtime:
parallelly:
Helper functions for parallelization. No extra recursive
dependencies.future.apply:
Resampling and benchmarking is parallelized with the
future abstraction
interfacing many parallel backends.backports: Ensures
backward compatibility with older R releases. Developed by members
of the mlr team. No recursive dependencies.This R package is licensed under the LGPL-3. If you encounter problems using this software (lack of documentation, misleading or wrong documentation, unexpected behavior, bugs, …) or just want to suggest features, please open an issue in the issue tracker. Pull requests are welcome and will be included at the discretion of the maintainers.
Please consult the wiki for a style guide, a roxygen guide and a pull request guide.
If you use mlr3, please cite our JOSS article:
@Article{mlr3,
title = {{mlr3}: A modern object-oriented machine learning framework in {R}},
author = {Michel Lang and Martin Binder and Jakob Richter and Patrick Schratz and Florian Pfisterer and Stefan Coors and Quay Au and Giuseppe Casalicchio and Lars Kotthoff and Bernd Bischl},
journal = {Journal of Open Source Software},
year = {2019},
month = {dec},
doi = {10.21105/joss.01903},
url = {https://joss.theoj.org/papers/10.21105/joss.01903},
}
checkmatemlrmlr3misc:
Miscellaneous functions used in multiple mlr3 extension
packages. Developed by the
mlr team.paradox:
Descriptions for parameters and parameter sets. Developed by the
mlr team. No extra recursive dependencies.R6: Reference class
objects. No recursive dependencies.data.table:
Extension of R’s data.frame. No recursive dependencies.digest (via
mlr3misc): Hash digests. No recursive dependencies.uuid: Create unique
string identifiers. No recursive dependencies.lgr: Logging facility.
No extra recursive dependencies.mlr3measures:
Performance measures. No extra recursive dependencies.mlbench: A
collection of machine learning data sets. No dependencies.palmerpenguins:
A classification data set about penguins, used on examples and
provided as a toy task. No dependencies.