মিছফৰেষ্ট
missForest হৈছে R-ত মিশ্ৰ-প্ৰকাৰ টেবুলাৰ ডেটাৰ বাবে এটা নন-পেৰামেট্ৰিক ইম্পিউটেচন পদ্ধতি। এইয়ে সংখ্যাত্মক আৰু শ্ৰেণীভুক্ত ভেৰিয়েবলসমূহ একেলগে সম্বোধন কৰে, অবজাৰ্ভ কৰা মানসমূহৰ পৰা অভাব থকা মানসমূহ পূৰণ কৰিবলৈ ইটাৰেটিভলি ৰেণ্ডম ফৰেষ্ট প্ৰশিক্ষণ দিয়ে। কোনো স্পষ্ট মডেলিং অনুমান নাই, কোনো মেট্ৰিক্স ফেক্টৰাইজেচন নাই—কেৱল শক্তিশালী প্ৰেডিক্টিভ বেছলাইন যিয়ে বক্সৰ পৰা ভাল কাম কৰে।
- সংখ্যাত্মক আৰু ফেক্টৰ কলামৰ যিকোনো মিশ্ৰণৰ সৈতে কাম কৰে
- ননলিনিয়াৰিটী আৰু ইন্টাৰেকশ্যন ধৰে
- আউট-অফ-বেগ (OOB) ইম্পিউটেচন ত্ৰুটি (NRMSE/PFC) ৰিপ'ৰ্ট কৰে
- পেৰালেল এক্সিকিউচন (প্ৰতি-ভেৰিয়েবল বা প্ৰতি-ফৰেষ্ট) সমৰ্থন কৰে
- দুটা ফৰেষ্ট বেকএণ্ড:
ranger(ডিফল্ট) আৰুrandomForest(লিগেচি/কম্পেট)
স্থাপন
# CRAN (recommended)
install.packages("missForest")Development version (from GitHub)
install.packages("remotes")
remotes::install_github("stekhoven/missForest")Quick start
library(missForest)Example data
data(iris)Introduce ~20% MCAR missingness
set.seed(81)
iris_mis <- prodNA(iris, noNA = 0.20)Impute with default backend (ranger)
imp <- missForest(iris_mis, xtrue = iris, verbose = TRUE)Imputed data
head(imp$ximp)Estimated OOB errors (NRMSE for numeric, PFC for factors)
imp$OOBerrorTrue error if xtrue was provided (for benchmarking only)
imp$errorএটা ব্যাকএণ্ড নিৰ্বাচন কৰা
# Legacy behavior using randomForest
imp_rf <- missForest(iris_mis, backend = "randomForest")Explicitly use ranger with limited threads
imp_rg <- missForest(iris_mis, backend = "ranger", num.threads = 2)সমান্তৰালীকৰণ
parallelizeৰ জৰিয়তে দুটা মোড উপলব্ধ:
"variables": ভিন্ন ভিন্ন পৰিৱৰ্তনশীলৰ বাবে বনবোৰ সমান্তৰালভাৱে নিৰ্মাণ কৰা (foreach backend ৰেজিষ্টাৰ কৰক)।"forests": এটা পৰিৱৰ্তনশীলৰ বনটোৰ ভিতৰত সমান্তৰালীকৰণ (ranger threads; বা randomForestৰ বাবে foreach উপ-বন)।
# Not run:
library(doParallel)
registerDoParallel(2)
imp_vars <- missForest(iris_mis, parallelize = "variables", verbose = TRUE)
imp_fors <- missForest(iris_mis, parallelize = "forests", verbose = TRUE, num.threads = 2)
API পৰ্যালোচনা
missForest(xmis, ...)
মূল ইম্পিউটেচন ফাংচন।
মূল আৰ্গুমেন্টসমূহ:
xmis— মিছিং ভেলিউ থকা ডাটা ফ্ৰেম/মেট্ৰিক্স (কলামসমূহnumericবাfactorহ’ব লাগিব)।maxiter— সৰ্বাধিক ইটাৰেচন (ডিফ'ল্ট10)।ntree— প্ৰতিটো ফৰেষ্টত গছ (ডিফ'ল্ট100)।mtry— প্ৰতিটো স্প্লিটত পৰীক্ষা কৰা ভেৰিয়েবল (ডিফ'ল্টsqrt(p))।nodesize— দৈৰ্ঘ্য-২ নিউমেৰিক: c(numeric, factor) ৰ বাবে ন্যূনতম নোড সাইজ। ডিফ'ল্টc(5, 1)।variablewise— যদিTRUEহয়, প্ৰতিটো ভেৰিয়েবলৰ OOB ত্ৰুটি ৰিটাৰ্ন কৰে।parallelize—"no","variables", বা"forests"।num.threads—rangerৰ বাবে থ্ৰেড (randomForestত উপেক্ষা কৰা হয়)।backend—"ranger"(ডিফ'ল্ট) বা"randomForest"।xtrue— ঐচ্ছিক সম্পূৰ্ণ ডাটা বেঞ্চমাৰ্কিং ৰ বাবে ($errorযোগ কৰে)।
backend = "ranger" ৰ বাবে কিছুমান আৰ্গুমেন্ট মেপিং:ntree → num.treesnodesize → min.bucket(ৰেগ্ৰেছন/ক্লাছিফিকেশ্যনৰ বাবে পৃথক; ডিফ'ল্টc(5,1))sampsize(গণনা) →sample.fraction(ভগ্নাংশ; মুঠ বা প্ৰতি-ক্লাছ)classwt → class.weightscutoffহেণ্ডেল কৰা হয় probability forests ফিট কৰি আৰু পাছত থ্ৰেছহ'ল্ডিং কৰি
ইউটিলিটিসমূহ
mixError(ximp, xmis, xtrue)— সঁচা মিছিং এণ্ট্ৰিত NRMSE (নিউমেৰিক) আৰু PFC (ফেক্টৰ) গণনা কৰে।nrmse(ximp, xmis, xtrue)— কেৱল কণ্টিনুৱাচ ডাটাৰ বাবে NRMSE।prodNA(x, noNA = 0.1)— ডাটা ফ্ৰেমত MCAR মিছিংনেছ সংযোজন কৰে।varClass(x)— প্ৰতিটো কলামৰ বাবে"numeric"/"factor"ৰিটাৰ্ন কৰে।
পৰামৰ্শ আৰু উত্তম অভ্যাসসমূহ
missForestকল কৰাৰ আগতে কেলেক্টাৰ কলামসমূহক ফেক্টৰলৈ ৰূপান্তৰ কৰক।- বহল ডেটাৰ বাবে,
parallelize = "variables"বিবেচনা কৰক। গভীৰ/ব্যয়বহুল গছৰ বাবে,parallelize = "forests"বিবেচনা কৰক। - প্ৰায়-প্ৰজননযোগ্য ফলাফলৰ বাবে এটা চিড্ স্থাপন কৰক:
set.seed(123); imp <- missForest(x)
``
- আপুনি প্ৰট'টাইপিংৰ সময়ত
ntree হ্ৰাস কৰিব পাৰে যাতে পুনৰাবৃত্তি দ্ৰুত হয়।---
উদ্ধৃতি
আপুনি missForest ব্যৱহাৰ কৰিলে, অনুগ্ৰহ কৰি উদ্ধৃত কৰক:
Stekhoven, D. J. & Bühlmann, P. (2012). MissForest—nonparametric missing value imputation for mixed-type data.* Bioinformatics, 28(1), 112–118. https://doi.org/10.1093/bioinformatics/btr597
আপুনি পেকেজটোও উদ্ধৃত কৰিব পাৰে:
r
citation("missForest")
``Contributing
Issues and pull requests are welcome. Please include a minimal reproducible example when reporting bugs. For performance discussions, share small benchmarks and session info.
License
GPL (≥ 2)
Contact
Daniel J. Stekhoven — stekhoven@nexus.ethz.ch
--- Tranlated By Open Ai Tx | Last indexed: 2026-07-17 ---