📦 Giới thiệu gói e1071 trong R

📘 Tổng quan

Gói e1071 là một trong những gói machine learning đầu tiên và phổ biến nhất trong R, được phát triển bởi Department of Statistics at TU Wien (Áo) – do đó tên gói là “e1071” (mã phòng ban).

Đây là gói nền tảng cho nhiều mô hình học máy, đặc biệt là:

  • Hồi quy tuyến tính và phi tuyến
  • Mô hình phân loại (classification)
  • Mô hình phân cụm (clustering)
  • Và nổi bật nhất: Support Vector Machines (SVM)

🔍 Các tính năng chính của gói e1071

Mô hình Hàm chính Ứng dụng
✅ Hồi quy tuyến tính lm() (hỗ trợ nội bộ) Dự đoán biến liên tục
✅ Naive Bayes naiveBayes() Phân loại nhanh & hiệu quả
✅ K-Nearest Neighbors knn() Phân loại theo láng giềng
✅ Support Vector Machine (SVM) svm() Phân loại nâng cao, hỗ trợ kernel
✅ Tính entropy, kurtosis, skewness entropy(), kurtosis(), skewness() Thống kê mô tả nâng cao
✅ Cross-validation tune() Tìm tham số tối ưu cho mô hình
✅ Mô hình fuzzy cmeans() Phân cụm mờ (fuzzy clustering)

⚙️ Cài đặt và sử dụng gói

Cài đặt:

install.packages("e1071")

#Load gói:

library(e1071)


🧪 Ví dụ: Phân loại bằng Naive Bayes



data(iris)
model <- naiveBayes(Species ~ ., data = iris)
predict(model, iris[1:5,])

💡 Ví dụ: Phân cụm bằng fuzzy c-means (Fuzzy Clustering)


data(iris)
result <- cmeans(iris[,1:4], centers = 3)
table(result$cluster, iris$Species)

🎯 Khi nào nên dùng e1071?

Khi bạn muốn thử nhanh các mô hình phân loại truyền thống (Bayes, KNN, SVM)

Khi bạn cần mô hình đơn giản nhưng mạnh mẽ cho dữ liệu nhỏ đến trung bình

Khi bạn muốn dạy học các mô hình học máy kinh điển bằng R

🧩 So sánh với gói caret và tidymodels

🔍 So sánh giữa e1071, carettidymodels

Tiêu chí e1071 caret tidymodels
✅ Đơn giản, dễ dùng ✅✅ Rất dễ ✅ Trung bình ❌ Hơi phức tạp ban đầu
⚙️ Tùy biến mô hình, tuning nâng cao ❌ Hạn chế ✅ Có hỗ trợ tốt ✅✅ Rất linh hoạt
🤖 Số lượng mô hình hỗ trợ Trung bình (~5–10) Nhiều (~50+) Rất nhiều (>100)
🧪 Cross-validation Có (tune()) Có (train()) Có (vfold_cv(), tune_grid())
📚 Tài liệu học tập, cộng đồng Trung bình Phổ biến Rất mạnh (tidyverse)
🏫 Phù hợp cho giảng dạy cơ bản ✅✅ Rất phù hợp ✅ Tốt ✅ Phù hợp nâng cao
🔄 Kết hợp với tidyverse ❌ Không ❌ Khó tích hợp ✅✅ Tích hợp chặt
📊 Trực quan hóa pipeline mô hình ❌ Không có ❌ Hạn chế ✅ Có (workflow, autoplot)

💡 Ghi chú:
✅ = Có hỗ trợ / phù hợp
✅✅ = Hỗ trợ rất tốt / mạnh mẽ
❌ = Không hỗ trợ hoặc khó tích hợp