Tải bản đầy đủ - 0 (trang)
Bảng 1.1 – Tóm tắt các biến số ngẫu nhiên và hàm phân phối

Bảng 1.1 – Tóm tắt các biến số ngẫu nhiên và hàm phân phối

Tải bản đầy đủ - 0trang

62

b. Thao tác với dữ liệu trong R

R hỗ trợ rất nhiều cách nhập dữ liệu khác nhau để xử lí như nhập dữ liệu trực

tiếp, nhập dữ liệu từ file text, nhập dữ liệu từ file excel.

 Nhập dữ liệu trực tiếp

Để nhập dữ liệu trực tiếp ta có thể sử dụng hàm c(). Ví dụ ta muốn nhập vào

chiều dài và chiều rộng của cánh hoa, ta có thể viết như sau:

height <- c(6.5, 4.5, 5, 8.2, 6, 7.2, 5.8)

width <- c(1, 2.3, 2, 0.5, 1.5, 3, 2.6)

Lúc này thì height và width vẫn là 2 đối tượng riêng lẻ nên ta phải tiến hành

nhập 2 đối tượng này vào một khung dữ liệu có tên là “Hoa” bằng cách dử dụng hàm

data.frame() như sau:

Hoa <- data.frame(height, width)

Để lưu dữ liệu này trong một file dưới dạng R ta sử dụng lệnh save như sau:

>setwd (“D:/hoctap/dulieu”)

>save (Hoa, file=”hoa.rda”)

Lệnh setwd () cho biết chúng ta muốn lưu file vào thư mục đường dẫn nào

Lệnh save () để lưu tên dữ liệu và lưu tên file

Ngoài hàm c () ta cũng có thể sử dụng lệnh edit (data.frame()). Khi đó R sẽ mở

ra một cửa sổ bao gồm một bảng với các hàng và cột giống như excel để chúng ta có

thể nhập trực tiếp dữ liệu vào các ơ đó.

 Nhập dữ liệu từ file text

Để nhập dữ liệu từ một file text đã được lưu trong máy tính ta sử dụng lệnh

read.table như dưới đây:

>setwd (“đường dẫn đến thư mục chứa file”)

>tên_dữ_liệu <-read.table (“tên file”, header=TRUE)

Lệnh header=TRUE cho R biết sẽ lấy dòng đầu tiên trong file làm tiêu đề cho cột

 Nhập dữ liệu từ file Excel

Để đọc dữ liệu từ file Excel vào R thì file Excel phải được lưu với đi .csv sau

đó ta sử dụng lệnh read.csv như sau:

>setwd (“đường dẫn đến thư mục chứa file”)

>tên_dữ_liệu <-read.csv (“tên file”, header=TRUE)

Tiếp đó ta dùng hàm attach (tên_dữ_liệu) để đính kèm file đó



63

Để kiểm tra lại file dữ liệu ta dùng hàm fix (tên_dữ_liệu), khi đó một cửa sổ sẽ

hiện ra file dữ liệu excel đó cho chúng ta có thể xem và chỉnh sửa lại nếu cần.

 Truy cập vào dữ liệu chứa trong hệ quản trị cơ sở dữ liệu MySQL

Các bước để truy cập vào dữ liệu chứa trong hệ quản trị cơ sở dữ liệu MySQL:

-



Nạp gói thư viện RMySQL

Sử dụng hàm dbConnect() để kết nối đến cơ sở dữ liệu

Thực hiện các câu truy vấn với hàm dbSendQuery()

Lấy

kết

quả

trả

về

với

hàm

fetch(),



-



dbNextResult(),dbMoreResult()

Cuối cùng kết thúc bằng việc giải phóng các kết quả sử dụng hàm



dbGetInfo(),



dbClearResult() và đóng kết nối với cơ sở dữ liệu dbDisconnect().

Ví dụ thực hiện trong R như sau:



1.2.4. Lập trình với ngơn ngữ R

R khơng chỉ tính tốn thống kê mà còn là ngơn ngữ lập trình có nhiều ưu điểm

so với các ngơn ngữ lập trình khác. Một số quy tắc khi lập trình với R:

-



R phân biệt chữ thường với chữ hoa

R là một ngôn ngữ “đối tượng” nghĩa là toàn bộ dữ liệu R chứa trong object nên



-



cách viết cũng tương tự như ngơn ngữ lập trình hướng đối tượng

Dòng chú thích trong R được đặt sau dấu #

Tên đối tượng hoặc tên biến không được chứa dấu cách



a. Các kiểu dữ liệu sử dụng trong lập trình với R

 Các kiểu dữ liệu cơ bản

R không bắt buộc chúng ta phải khai báo kiểu dữ liệu của biến ngay từ đầu mà

kiểu dữ liệu sẽ được xác định khi ta gán giá trị cho biến

R có 4 kiểu dữ liệu cơ bản đó là:



64

+ Kiểu số: khơng chia thành kiểu real và kiểu integer như các ngôn ngữ khác mà chỉ

có một kiểu số duy nhất

+ Kiểu kí tự: tương tự như kiểu character trong các ngơn ngữ lập trình khác

+ Kiểu xâu: tương tự kiểu String trong các ngơn ngữ lập trình khác

+ Kiểu logic: tương tự như kiểu bool trong các ngơn ngữ lập trình bậc cao khác

 Các kiểu dữ liệu tuyến tính

R có 2 kiểu dữ liệu tuyến tính là array và list

Khai báo một mảng trong R như sau:

Tên mảng <- c (giá trị thứ 1, giá tri thứ 2,…, giá trị thứ n)

Khi gọi đến các phần tử trong mảng ta viết theo cú pháp: tên mảng [số thứ tự

của phần tử trong mảng]

Khai báo một list trong R như sau:

Tên list <- list (thuộctính1=”giá trị_thuộc tính1”, thuộc tính 2=”giá trị thuộc tính 2”,

thuộc tính n=”giá trị thuộc tính n”)

Khi gọi đến các phần tử trong list, chúng ta gọi theo tên của phần tử được đặt

trong khai báo

Ví dụ:

>sinhvien <- list (name=”huong”, age=”22”, address=”Hanoi”)

>sinhvien$name

Kết quả sẽ là: “huong”

b. Các cấu trúc điều khiển cơ bản trong R

-



 Cấu trúc rẽ nhánh

Cấu trúc if…else… Cú pháp:

if (biểu thức logic) {khối lệnh 1} else {khối lệnh 2}



Nếu biểu thức trả về TRUE thì thực hiện khối lệnh 1, nếu FALSE thì khối lệnh 2

-



Cấu trúc ifelse. Cú pháp:

ifelse (biểu thức logic, khối lệnh 1, khối lệnh 2)



Ý nghĩa: Khi biểu thức logic trả về TRUE thì thực hiện khối lệnh 1, nếu khơng thì

thực hiện khối lệnh 2

-



 Cấu trúc lặp

Lặp với số lần xác định. Cú pháp:

for (biến điều khiển in khoảng giá trị) {đoạn lệnh cần lặp}

Lặp với số lần không xác định. Cú pháp:

while (điều kiện lặp) {đoạn lệnh cần lặp}



65

c. Xây dựng hàm trong R

>myfunction <- function (arg1, arg2,…) {thân hàm}

Cần phải gán tên cho hàm để có thể gọi lại. Hàm không đặt trùng với tên hàm có

sẵn trong R. Biến được khai báo trong một hàm chỉ tồn tại trong thời gian hoạt động

của hàm đó. Ta không thể gọi tới một biến được khai báo bên trong một hàm từ bên

ngồi hàm đó. Nếu muốn gọi ta phải khai báo biến toàn cục với ký hiệu “<<-”



1.2.5. Kết luận

a. Nhận xét về ưu, nhược điểm. R là một ngơn ngữ có ưu điểm sau:

-



R là một phần mềm mã nguồn mở nên nó hồn tồn miễn phí

R rất dễ học và có thể phát triển nhanh các ứng dụng tính tốn xác suất thống kê,



-



phân tích dữ liệu do nó có nhiều cơng cụ được tích hợp sẵn

Có khả năng điều khiển dữ liệu và lưu trữ số liệu

R có tính ngun bản; Cho phép sử dụng ma trận đại số

Có thể sử dụng bảng băm và các biểu thức chính quy

R cũng hỗ trợ lập trình hướng đối tượng; Có khả năng biểu diễn đồ họa phong phú

Đóng vai trò như các ngơn ngữ lập trình bậc cao khác như C, C++, java,…



R có một vài nhược điểm (nhưng nó lại dễ dàng khắc phục bởi chính nó):

-



R khơng phải là một CSDL nhưng nó có thể kết nối đến các hệ quản trị CSDL

Việc diễn giải R chậm nhưng nó cho phép gọi tới các mã C hoặc C++

Khơng có các bảng tính quan sát dữ liệu nhưng có thể kết nối đến Excel/MS Office

Mỗi câu lệnh của R kết thúc bằng Enter nên gây bất tiện, nếu sai phải làm lại từ đầu

Không chuyên nghiệp và không hỗ trợ thương mại



b. So sánh R với Weka

Ngồi R, Weka cũng là một cơng cụ dùng để khai phá dữ liệu. Weka là một phần

mềm được viết bằng ngơn ngữ java, nó thao tác chủ yếu trên GUI nên dễ sử dụng. Tuy

nhiên, ngôn ngữ R vẫn được lựa chọn sử dụng nhiều hơn do R là một ngơn ngữ lập

trình nên nó mạnh và linh hoạt hơn Weka. Chúng ta có thể làm được nhiều thứ với R

vì R có thể cài đặt các packages phục vụ trong nhiều các lĩnh vực, hơn nữa các

packages được cập nhật thường xuyên. R cũng là ngôn ngữ rất dễ học; khi đã thông

thạo với R sẽ tiết kiệm được nhiều thời gian trong khi với Weka chúng ta phải nhấn và

điều chỉnh nhiều khi xử lý các chức năng phức tạp. R cũng thực hiện các chức năng

trên các tập dữ liệu rất lớn trong khi với Weka nó có thể bị treo.



66



PHỤ LỤC II



GIỚI THIỆU VỀ CÔNG CỤ WEKA

2.1 Giới thiệu tổng quan về công cụ Weka

Weka là phần mềm được viết bằng ngôn ngữ JAVA do Witten và Frank xây

dựng phục vụ lĩnh vực học máy và khai phá dữ liệu. Weka là phần mềm miễn phí được

rất nhiều người dùng được xếp hạng như hình 2.1:



Hình 2.6 Biểu diễn số lượng người dùng các phần mềm trong DM[8]



- Weka gồm các phương pháp học máy cơ bản phục vụ cho các mục tiêu sau:

•Tiền xử lý dữ liệu, các phương pháp học máy và đánh giá mơ hình.

•Sử dụng đồ họa để biểu diễn dữ liệu.

•Là mơi trường dùng để so sánh các giải thuật học máy, khai phá dữ liệu.

- Weka website: http://www.cs.waikato.ac.nz/ml/weka/ Tài liệu hướng dẫn sử

dụng weka: http://www.cs.waikato.ac.nz/ml/weka/documentation.html. Cơ sở

dữ liệu: http://www.cs.waikato.ac.nz/ml/weka/datasets.html



67



Hình 2.7. Giao diện chính của Weka







Các mơi trường chính của phần mềm Weka:

Experimenter: Mơi trường cho phép tiến hành các thí nghiệm và thực hiện



các kiểm tra thống kê (statistical tests) giữa các mơ hình học máy.

• KnowledgeFlow: Môi trường cho phép tương tác đồ họa kiểu kéo/thả để thiết

kế các bước (các thành phần) của một thí nghiệm.

• Simple CLI: Giao diện đơn giản kiểu dòng lệnh (như MS-DOS).

• Explorer: Mơi trường sử dụng các khả năng của Weka để khai phá dữ liệu.



2.2. Định dạng dữ liệu (ARFF)

ARFF (Attribute Relation File Format) là định dạng dữ liệu chuyên biệt của

Weka, tổ chức dữ liệu theo cấu trúc được quy định trước.

Cấu trúc tập tin *.ARFF gồm 2 phần:

− Head file: chứa khai báo quan hệ, danh sách các thuộc tính (tên, kiểu dữ liệu).

− Data: gồm nhiều dòng, mỗi dòng thể hiện giá trị các thuộc tính cho một mẫu.



2.2.1 Head file

Comments: bắt đầu bằng dấu %

Relations: @relation

Trong đó, : là một xâu cho biết tên của tập dữ liệu. Nếu một

xâu chứa dấu cách thì xâu phải nằm trong dấu ‘?’ hoặc “?”. Xâu khơng thể bắt đầu

bằng các kí tự ‘!’, ‘{’, ‘}’, ‘,’, ‘%’

Khai báo kiểu dữ liệu (Data Declaration):

@attribute



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Bảng 1.1 – Tóm tắt các biến số ngẫu nhiên và hàm phân phối

Tải bản đầy đủ ngay(0 tr)

×