March 10, 2021 Yen Lily

Tải dữ liệu Machine Learning vào Python

Bài viết này dành cho những người mới bắt đầu muốn tải dữ liệu của mình đúng cách vào Python. Chúng tôi sẽ giới thiệu cho bạn một số kỹ thuật khác nhau để bạn có thể bắt đầu dự án Machine Learning của mình bằng Python dễ dàng hơn.

Nguồn: shanelynn.ie

Tải dữ liệu Machine Learning

Bạn cần xác định những phần quan trọng trong tệp dữ liệu của mình. Trong machine learning, CSV hoặc các giá trị được phân tách bằng dấu phẩy là định dạng được sử dụng phổ biến nhất. Các phần và tính năng quan trọng trong tệp CSV của dữ liệu machine learning bao gồm CSV File Header, Comments, Delimiter và Quotes.

        • CSV File Header (Tiêu đề tệp CSV): Header trong tệp CSV được sử dụng để tự động gán tên hoặc nhãn cho mỗi cột trong tập dữ liệu của bạn. Bạn sẽ phải tự tay đặt tên cho các thuộc tính của mình nếu tệp của bạn không có tiêu đề.
        • Comments (Nhận xét): Bạn có thể xác định phần nào là comment trong tệp CSV khi một dòng bắt đầu bằng dấu thăng (#). Tùy thuộc vào phương pháp bạn chọn để tải dữ liệu machine learning của mình, bạn sẽ phải xác định xem mình có muốn những nhận xét này hiển thị hay không và cách bạn có thể xác định chúng.
        • Delimiter (Dấu phân cách): Delimiter phân tách nhiều giá trị trong một trường và được biểu thị bằng dấu phẩy (,). Tab (\t) cũng là một dấu phân cách khác mà bạn có thể sử dụng, nhưng bạn phải chỉ định nó một cách rõ ràng.
        • Quotes (Dấu ngoặc kép): Nếu giá trị trường trong tệp của bạn chứa khoảng trắng, những giá trị này thường được trích dẫn và dấu ngoặc kép sẽ được sử dụng để biểu thị. Nếu bạn chọn sử dụng các ký tự khác, bạn cần chỉ định điều này trong tệp của mình.

Sau khi bạn xác định xong các phần này trong tệp dữ liệu của mình, chúng ta sẽ tiếp tục tìm hiểu các phương pháp khác nhau để tải dữ liệu machine learning vào Python.

Tải dữ liệu bằng Thư viện chuẩn của Python

Để tải dữ liệu của bạn bằng Thư viện chuẩn của Python, bạn sẽ sử dụng CSV mô-đun và hàm reader(). Khi tải, dữ liệu CSV sẽ được tự động chuyển đổi thành mảng NumPy có thể được sử dụng cho machine learning.

Dưới đây là một ví dụ cho bạn. Đây là một đoạn code nhỏ mà khi bạn chạy bằng Python API sẽ tải tập dữ liệu không có tiêu đề và chứa các trường số này. Nó cũng sẽ tự động chuyển đổi thành một mảng NumPy.

# Load CSV (using python)
import csv
import numpy
filename = ‘pima-indians-diabetes.data.csv’
raw_data = open(filename, ‘rt’)
reader = csv.reader(raw_data, delimiter=’,’, quoting=csv.QUOTE_NONE)
x = list(reader)
data = numpy.array(x).astype(‘float’)
print(data.shape)

Hay chúng ta có thể hiểu đơn giản như sau: đoạn code này ra lệnh cho chương trình tải một đối tượng cho phép lặp qua từng hàng dữ liệu và có thể chuyển đổi dễ dàng thành mảng NumPy. Hình dạng dưới đây của mảng sẽ được tạo ra khi bạn chạy code mẫu ở trên:

1 (768, 9)

Tải tệp dữ liệu bằng NumPy

Một cách khác để tải dữ liệu machine learning vào Python là sử dụng NumPy và hàm numpy.loadtxt ().

Ví dụ, bạn có thể xem code mẫu bên dưới. Hàm giả định rằng tệp của bạn không có hàng tiêu đềtất cả dữ liệu sử dụng cùng một định dạng. Nó cũng giả định rằng tệp pima-indians-diab.data.csv được lưu trữ trong thư mục hiện tại của bạn.

# Load CSV
import numpy
filename = ‘pima-indians-diabetes.data.csv’
raw_data = open(filename, ‘rt’)
data = numpy.loadtxt(raw_data, delimiter=”,”)
print(data.shape)

Dưới đây là hình dạng của dữ liệu và tệp sẽ được tải dưới dạng numpy.ndarray khi bạn chạy code mẫu ở trên:

1 (768, 9)

Nếu tệp của bạn có thể được truy xuất bằng URL, thì code trên có thể được thay đổi thành như sau, và vẫn tạo ra cùng một tập dữ liệu:

# Load CSV from URL using NumPy
from numpy import loadtxt
from urllib.request import urlopen
url = ‘https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indiansiabetes.data.csv’
raw_data = urlopen(url)
dataset = loadtxt(raw_data, delimiter=”,”)
print(dataset.shape)

Bạn sẽ có hình dạng kết quả của dữ liệu giống như trên nếu bạn chạy code:

1 (768, 9)

Nguồn: pythonbasics.org

Tải tệp dữ liệu bằng Pandas

Cách thứ ba để tải dữ liệu machine learning của bạn là sử dụng Pandas và hàm pandas.read_csv().

Đây là cách linh hoạt và lý tưởng nhất để tải dữ liệu machine learning của bạn. Nó trả về một pandas.DataFrame và bạn có thể bắt đầu tóm tắt và lập kế hoạch ngay lập tức.

Code mẫu bên dưới giả định rằng tệp pima-indians-diab.data.csv được lưu trữ trong thư mục hiện tại của bạn.

1 # Load CSV using Pandas
2 import pandas
3 filename = ‘pima-indians-diabetes.data.csv’
4 names = [‘preg’, ‘plas’, ‘pres’, ‘skin’, ‘test’, ‘mass’, ‘pedi’, ‘age’, ‘class’]
5 data = pandas.read_csv(filename, names=names)
6 print(data.shape)

Tên của từng thuộc tính đối với DataFrame dưới đây được xác định rõ ràng. Khi bạn chạy code mẫu ở trên, hình dạng dữ liệu sau sẽ được in ra:

1 (768, 9)

Nếu tệp của bạn có thể được truy xuất bằng URL, thì code trên có thể được thay đổi như bên dưới, và vẫn tạo ra cùng một tập dữ liệu:

1 # Load CSV using Pandas from URL
2 Import pandas
3 url = “https://raw.githubusercontent.com/jbrownlee/Datasets/master/pima-indians-diabetes.data.csv”
4 names = [‘preg’, ‘plas’, ‘pres’, ‘skin’, ‘test’, ‘mass’, ‘pedi’, ‘age’, ‘class’]
5 data = pandas.read_csv(url, names=names)
6 print(data.shape)

Chạy code mẫu ở trên sẽ cho phép tải xuống tệp CSV, phân tích cú pháp tệp đótạo ra hình dạng sau của DataFrame đã tải:

1 (768, 9)

Kết luận

Trên đây là ba phương pháp khác nhau để nhập dữ liệu của bạn vào Python và chúng chỉ là quy trình làm việc cơ bản. Bạn có thể chọn phương pháp nào phù hợp nhất để bắt đầu dự án của mình.

iRender hiện đang cung cấp GPU Cloud cho dịch vụ AI/Deep Learning để người dùng có thể đào tạo các mô hình của mình. Với máy chủ cấu hình và hiệu suất cao của iRender, bạn có thể cài đặt bất kỳ phần mềm nào bạn cần cho dự án của mình. Chỉ cần một vài cú nhấp chuột, bạn có thể truy cập vào máy chủ của chúng tôi và toàn quyền kiểm soát nó. Việc đào tạo mô hình của bạn sẽ tăng tốc độ nhanh hơn gấp 10 lần hoặc thậm chí 50 lần.

Để biết thêm thông tin, vui lòng đăng ký tại đây và thử sử dụng dịch vụ của chúng tôi! Hoặc liên hệ với chúng tôi qua Zalo 0962 868 890 để được tư vấn và hỗ trợ.

Nguồn: pythonbasics.org
, , , , , , , , , , , , , , , , ,

Yen Lily

Hi everyone. Being a Customer Support from iRender, I always hope to share and learn new things with 3D artists, data scientists from all over the world.
Contact

INTEGRATIONS

Autodesk Maya
Autodesk 3DS Max
Blender
Cinema 4D
Houdini
Maxwell
Nvidia Iray
Lumion
KeyShot
UE4
Twinmotion
Redshift
Octane
And many more…

iRENDER TEAM

MONDAY – SUNDAY
9:00 AM – 8:00 PM
Hotline: 0916 806 116
Zalo: 0916 806 116
Skype: iRender Support
Email: [email protected]
CÔNG TY CỔ PHẦN CÔNG NGHỆ IRENDER VIỆT NAM
MST: 0108787752
Office: 5/82 Dịch Vọng Hậu, Cầu Giấy, Hà Nội.

Contact
0916806116