Rate this post

Chúng ta sẽ thảo luận về gói e1071 trong R. Chúng ta sẽ hiểu các mô hình Training và Testing SVM trong R và xem xét các chức năng chính của gói e1071 tức là svm (), predict (), plot (), tune () để thực thi SVM trong R.

Các bài viết liên quan:

Hãy bắt đầu hướng dẫn.

R – Mô hình Training và Testing SVM

Có một số gói để thực thi SVM trong R. Gói đầu tiên và trực quan nhất là gói e1071.

Pakage1071:

Gói này là lần triển khai đầu tiên của SVM trong R.

Với hàm svm (), chúng ta đạt được một giao diện cứng trong libsvm bằng cách sử dụng các phương pháp trực quan hóa và tune tham số.

Tham khảo một số tính năng của thư viện libsvm dưới đây:

  • Cung cấp khả năng triển khai SVM nhanh chóng và dễ dàng.
  • Cung cấp hầu hết các hạt nhân phổ biến, bao gồm tuyến tính, đa thức, RBF và sigmoid.
  • Cung cấp sức mạnh tính toán cho các giá trị quyết định và xác suất cho các predict. Đồng thời cung cấp việc cân các lớp trong chế độ phân loại và xác nhận chéo.

Đầu tiên, bạn cần đặt đường dẫn để bao gồm thư mục chứa gói e1071. Sau đó, bạn phải cài đặt và bao gồm nó.

Bạn có thể sử dụng ‘ ? Svm’ để xem thông tin trợ giúp của giao diện.

Cài đặt gói e1071 và tải nó bằng các lệnh sau:

  • install.packages (‘e1071’, dependencies = TRUE)
  • library(e1071)

Việc triển khai R phụ thuộc vào cơ chế lớp S3. Nó cung cấp một hàm huấn luyện với các giao diện chuẩn và công thức, và một phương thức predict () . Cũng cung cấp một phương thức plot () để trực quan hóa dữ liệu, các vectơ hỗ trợ và ranh giới quyết định. Chúng ta có thể thực hiện tune siêu tham số bằng cách sử dụng khung tune () . Nó thực hiện tìm kiếm lưới trên các phạm vi tham số được chỉ định.

Các chức năng trong Gói e1071

Các chức năng chính trong gói e1071 là:

  • svm () –  Được sử dụng để Training SVM.
  • predict () –  Sử dụng phương pháp này, chúng tôi thu được các predict từ mô hình, cũng như các giá trị quyết định từ bộ phân loại nhị phân.
  • plot () –  Trực quan hóa dữ liệu, vectơ hỗ trợ và ranh giới quyết định, nếu được cung cấp.
  • tune () –  tune siêu tham số sử dụng tune () để thực hiện tìm kiếm lưới trên các phạm vi tham số được chỉ định.

Hàm svm ()

Hàm svm () huấn luyện một SVM. Nó có thể thực hiện hồi quy và phân loại chung, cũng như ước tính mật độ. Nó cung cấp một giao diện công thức.

Dữ liệu dưới đây mô tả một số tham số nhập của hàm svm ():

Data – Chỉ định một khung dữ liệu tùy chọn chứa các biến có trong một mô hình. Khi bạn sử dụng tham số này, thì bạn không cần sử dụng tham số x và y. Lấy các biến theo mặc định từ môi trường mà từ đó ‘svm’ được gọi.

  • X – Một ma trận dữ liệu, một vectơ hoặc một ma trận thưa (đối tượng của ma trận lớp được cung cấp bởi gói ma trận). Nó đại diện cho các thể hiện của tập dữ liệu và các thuộc tính tương ứng của chúng. Trong ma trận dữ liệu, các hàng đại diện cho các thể hiện trong khi các cột đại diện cho các thuộc tính.

Thành thạo cách làm việc của nhiều hồi quy tuyến tính trong R

Type –  Chúng ta có thể sử dụng SVM làm máy phân loại, máy hồi quy hoặc để phát hiện tính mới. Nó phụ thuộc vào y, nghĩa là, cho dù nó không phải là một nhân tố, thì kiểu này sẽ lấy phân loại C hoặc hồi quy eps làm cài đặt mặc định của nó. Nó có thể bị ghi đè bằng cách đặt một giá trị rõ ràng. Các tùy chọn hợp lệ là:

  • Phân loại C
  • phân loại nu
  • một phân loại (để phát hiện tính mới)
  • hồi quy eps
  • hồi quy nu
  • trình độ

Parameter – Nó là bắt buộc đối với nhân của kiểu đa thức (mặc định: 3).

  • gamma –  Tất cả các nhân ngoại trừ nhân tuyến tính yêu cầu tham số gamma.
  • coef0 –  Tham số cần thiết cho nhân kiểu đa thức và sigmoid (mặc định: 0).
  • cost –  Chi phí của việc vi phạm các ràng buộc (mặc định: 1) —đây là hằng số ‘C’ của thuật ngữ chính quy trong công thức Lagrange.

Hàm plot ()

Sử dụng hàm plot () để xem mô hình đã xây dựng với biểu đồ phân tán của đầu vào. Nó tùy ý vẽ một đồ thị đường bao đầy đủ của các vùng lớp. Hàm plot () được sử dụng để biểu diễn dữ liệu, hỗ trợ vectơ và mô hình dưới dạng trực quan.  Hãy tìm hiểu cách sử dụng chức năng này:

plot.svm(x, data, formula, fill = TRUE, grid = 50, slice = list(),symbolPalette = palette(), svSymbol = “x”, dataSymbol = “o”, …)

Với,

  • x – Một đối tượng của lớp svm.
  • Công thức – Công thức chọn hai kích thước được hiển thị. Chỉ cần thiết khi chúng ta sử dụng nhiều hơn hai biến đầu vào.
  • Fill – Chuyển đổi cho biết có nên thêm một biểu đồ đường bao cho các vùng lớp hay không.
  • Grid – Độ chi tiết của đồ thị đường viền.
  • Slice – Danh sách các giá trị số được đặt tên cho các kích thước được giữ cố định. Nếu kích thước không được chỉ định, chúng tôi có thể sửa nó ở 0.
  • Mô hình – Đại diện cho một đối tượng của dữ liệu svm lớp, kết quả từ hàm svm ().
  • Dữ liệu – Đại diện cho dữ liệu để trực quan hóa. Nó phải sử dụng cùng một dữ liệu được sử dụng để xây dựng mô hình trong hàm svm ().
  • SymbolPalette – Bảng màu được sử dụng cho lớp mà các điểm dữ liệu và vectơ hỗ trợ thuộc về.
  • svSymbol – Biểu tượng được sử dụng cho các vectơ hỗ trợ.
  • dataSymbol – Biểu tượng được sử dụng cho các điểm dữ liệu (không phải là các vectơ hỗ trợ).

SVM cho phép trực quan hóa đồ họa đơn giản của các mô hình phân loại.

Tạo mô hình SVM trong R

Để tạo mô hình SVM của chúng tôi, chúng tôi sẽ sử dụng thư viện e1071 và mống mắt bộ dữ liệu trong R .

library("e1071")
data("iris")
head(iris)

Đầu ra:

Trong bước tiếp theo, chúng tôi sẽ phân vùng tập dữ liệu của mình thành các biến x và y. Các biến x bao gồm tất cả các biến độc lập như Sepal.length, Sepal.Width, v.v. và biến y bao gồm Species, nghĩa là setosa, versicolor và virginica.

x <- iris[,-5]
y <- iris[5]
model_svm <- svm(Species ~ ., data=iris)
summary(svm_model)

Đầu ra:

Trong bước cuối cùng, chúng tôi sẽ thực hiện các predict dựa trên biến đầu vào x. Sau đó, chúng tôi sẽ tạo một ma trận nhầm lẫn để đánh giá kết quả của predict SVM và dữ liệu lớp.

pred <- predict(model_svm,x)

confusionMatrix(pred,y$Species)

Đầu ra:

Bản tóm tắt

Trong hướng dẫn này về các gói e1071 trong R, chúng ta đã thảo luận về các mô hình Training và Testing trong R. Chúng ta cũng đã thấy các chức năng chính của các gói e1071 trong R là SVM, Plot, predict, tune.

Tiếp theo trong Chuỗi hướng dẫn R websitehcm của chúng tôi – Mạng Bayes trong R

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now