Get in touch
or send us a question?
CONTACT

[AI by Examples] – Unit 3: Code thử đọc dữ liệu từ file csv và biểu diễn dữ liệu lên đồ thị Matplotlib

Table of contents

1. Code thử load dữ liệu từ file CSV sử dụng thư viện chuẩn của python

2. Code thử load dữ liệu từ file CSV sử dụng NumPy

3. Code thử load dữ liệu từ file CSV sử dụng Pandas

4. Các cách để hiểu đúng dữ liệu dựa trên thống kê dữ liệu

1. Code thử load dữ liệu từ file CSV sử dụng thư viện chuẩn của python

Ví dụ:

# Load csv using the function

import csv

csv_path =’samedata/data.csv’

with open(csv_path, ‘rt’, encoding=”utf8″) as csvfile:

read_csv = csv.reader(csvfile, delimiter=’,’)

for row in read_csv:

print(row)

Output: tương tự như kết quả khi sử dụng Pandas bên dưới

2. Code thử load dữ liệu từ file CSV sử dụng NumPy

Ví dụ:

# Load csv using NumPy

from numpy import genfromtxt

read_csv = genfromtxt(csv_path, delimiter=’,’)

Output: tương tự như kết quả khi sử dụng Pandas bên dưới

3. Code thử load dữ liệu từ file CSV sử dụng Pandas

Ví dụ:

# Load CSV using Pandas from URL

from pandas import read_csv

csv_path =’samedata/data.csv’

names = [‘preg’,’plas’,’pres’,’skin’,’test’,’mass’,’pedi’,’age’,’class’]

data = read_csv(csv_path, names=names)

print(data.shape)

Output:

4. Các bước kiểm tra hiểu đúng dữ liệu

a. Xem qua dữ liệu thô

Bước đầu tiên chúng ta cần làm là nhìn vào dữ liệu thô, nó có thể tiết lộ những thông tin trực quan mà chúng ta không thể có được bằng các cách khác. Từ dữ liệu này chúng ta có thể nảy sinh ra các ý tưởng về cách tiền xử lý dữ liệu để làm sao dữ liệu đầu vào cho AI là tốt nhất.

Ví dụ, chúng ta có thể xem 10 hàng dữ liệu thô đầu tiên bằng cách dùng hàm head() khi sử dụng thư viện xử lý Pandas

import pandas

csv_path =’samedata/data.csv’

names = [‘preg’, ‘plas’, ‘pres’, ‘skin’, ‘test’, ‘mass’, ‘pedi’, ‘age’, ‘class’]

data = pandas.read_csv(csv_path, names=names)

peek = data.head(10)

print(peek)

Output:

Với các thông tin rất trực quan như: cột đầu tiên liệt kê số dòng dữ liệu, hàng đầu tiên mô tả tên dữ liệu.

b. Xem xét kích thước dữ liệu

Khi tải dữ liệu từ tệp csv chúng ta có thể xem kích thước của dữ liệu đó, nó có bao nhiêu hàng, bao nhiêu cột. Với tệp dữ liệu lớn có nhiều hàng, thì thuật toán có thể mất rất nhiều thời gian để xử lý, còn tệp dữ liệu quá bé thì lại không đủ dữ liệu mẫu phục vụ cho training model.

Chúng ta có thể xem kích thước của tệp dữ liệu bằng cách sử dụng thuộc tính shape trong thư viện Pandas:

import pandas

csv_path =’samedata/data.csv’

names = [‘preg’, ‘plas’, ‘pres’, ‘skin’, ‘test’, ‘mass’, ‘pedi’, ‘age’, ‘class’]

data = pandas.read_csv(url, names=names)

shape = data.shape

print(shape)

Output:

(768, 9)

Kết quả này cho thấy tệp dữ liệu của chúng ta có 768 dòng dữ liệu và có 9 cột là tên trường dữ liệu.

c. Xem kiểu dữ liệu của các trường dữ liệu

Chúng ta có thể liệt kê kiểu dữ liệu của các trường bằng cách sử dụng thuộc tính dtypes trong thư viện Pandas

import pandas

csv_path =’samedata/data.csv’

names = [‘preg’, ‘plas’, ‘pres’, ‘skin’, ‘test’, ‘mass’, ‘pedi’, ‘age’, ‘class’]

data = pandas.read_csv(url, names=names)

shape = data.dtypes

print(shape)

Output:

preg int64

plas int64

pres int64

skin int64

test int64

mass float64

pedi float64

age int64

class int64

dtype: object

d. Thống kê dữ liệu

Thống kê có thể giúp cho chúng ta có cái nhìn rõ ràng hơn về hình dạng của từng trường dữ liệu. Khi mô tả dữ liệu theo cách này, chúng ta hoàn toàn có thể dễ dàng quan sát và kiểm soát được dữ liệu nào bị thiếu (NA) hay cách phân phối dữ liệu ở khoảng giá trị nào.

Ví dụ:

import pandas

csv_path =’samedata/data.csv’

names = [‘preg’, ‘plas’, ‘pres’, ‘skin’, ‘test’, ‘mass’, ‘pedi’, ‘age’, ‘class’]

data = pandas.read_csv(csv_path, names=names)

pandas.set_option(‘display.width’, 100)

pandas.set_option(‘precision’, 3)

description = data.describe()

print(description)

Output:

Nội dung của ngày tiếp theo chúng ta sẽ học cách sử dụng import dữ liệu từ csv, cách chúng ta hiểu dữ liệu thông qua thống kê và đồ thị bằng các ví dụ cụ thể, hẹn gặp các bạn ở bài tiếp theo nhé!

Hang in there, don’t give up!