Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
Sử dụng API Kaggle cho Google Colaboratory
Nếu bạn đang làm việc trên máy học và bạn không có tài nguyên để thiết lập GPU hoặc trả tiền cho AWS (Amazon Web Services) thì có thể bạn đang sử dụng Colaboratory .
Nếu bạn không sử dụng Colaboratory , thì bây giờ bạn nên tìm hiểu nó một tí nhé! Colaboratory về cơ bản là một cách để sử dụng Máy tính xách tay thông qua tài khoản Google Drive của bạn và chạy máy tính xách tay trên GPU. Ngoài ra, nó hoàn toàn miễn phí!
Đây là một bài viết tuyệt vời về cách bắt đầu với GPU trên Colabratory: https://medium.com/deep-learning-turkey/google-colab-free-gpu-tutorial-e113627b9f5d
Bây giờ bạn đã thiết lập và chạy Colabratory trên GPU, bạn sẽ muốn bắt đầu làm việc để xây dựng các mô hình sẽ thay đổi thế giới bằng máy học!
Bây giờ bạn đã thiết lập và chạy Colabratory trên GPU, bạn sẽ muốn bắt đầu làm việc để xây dựng các mô hình sẽ thay đổi thế giới bằng máy học!
Nếu bạn chưa sẵn sàng thì có có thể tìm hiểu kỹ hơn để làm nhé. Và một trong những cách tốt nhất để thực hành học máy trên tập dữ liệu thực là tham gia các cuộc thi Kaggle . Kaggle là một trang web tổ chức các cuộc thi máy học để thực hành xây dựng mô hình hoặc để tranh giải thưởng tiền mặt!
Một vấn đề bạn có thể gặp phải là làm thế nào để lấy dữ liệu cạnh tranh từ Kaggle vào Colaboratory và ngược lại. Kaggle đã xây dựng một API để khắc phục vấn đề đó.
Đây là một ví dụ rất đơn giản về cách sử dụng Colabratory kết hợp với Kaggle để lấy dữ liệu cho cuộc thi Titanic: Machine Learning from Disaster .
Đầu tiên, hãy cài đặt thư viện Kaggle.
!pip install kaggle
Cái này thì nó sẽ cho phép bạn tương tác với API Kaggle .
Để sử dụng Kaggle API , bạn phải tạo một tài khoản Kaggle . Khi bạn đã đăng nhập, bạn sẽ phải chuyển đến phần 'Tài khoản của tôi' trên hồ sơ của mình. Sau đó, bạn sẽ phải nhấp vào 'Tạo mã thông báo API mới' để sử dụng API Kaggle . Nút 'Tạo mã thông báo API mới' sẽ kích hoạt tải xuống tệp có tên 'kaggle.json'. Tệp này có thông tin đăng nhập của mã thông báo API cho tài khoản của bạn.
Đặt tệp json này vào Google Drive của bạn để Colaboratory có thể tìm thấy thông tin đăng nhập của bạn. Sử dụng mã bên dưới trong Colaboratory để có quyền truy cập vào API Kaggle.
Bạn sẽ được nhắc nhấp vào một liên kết, cấp quyền truy cập vào Google Drive của bạn và nhập mã xác minh để API hoạt động.
Tiếp theo, bạn sẽ nhấp vào liên kết, cấp quyền truy cập, sao chép mã xác minh, dán vào hộp văn bản ngay sau “Nhập mã xác minh:” và nhấn enter.
from googleapiclient.discovery import build
import io, os
from googleapiclient.http import MediaIoBaseDownload
from google.colab import auth
auth.authenticate_user()
drive_service = build('drive', 'v3')
results = drive_service.files().list(
q="name = 'kaggle.json'", fields="files(id)").execute()
kaggle_api_key = results.get('files', [])
filename = "/content/.kaggle/kaggle.json"
os.makedirs(os.path.dirname(filename), exist_ok=True)
request = drive_service.files().get_media(fileId=kaggle_api_key[0]['id'])
fh = io.FileIO(filename, 'wb')
downloader = MediaIoBaseDownload(fh, request)
done = False
while done is False:
status, done = downloader.next_chunk()
print("Download %d%%." % int(status.progress() * 100))
os.chmod(filename, 600)
Bây giờ bạn có quyền truy cập vào API Kaggle và dữ liệu của mình!
Để xem các thông tin, hãy sử dụng dòng này. Nó sẽ trả về danh sách các thông tin trên Kaggle.
!kaggle competitions list
Để xem các file trong một cuộc thi cụ thể trên trang web đó, trong trường hợp này là cuộc thi Titanic, hãy sử dụng dòng sau. Thao tác này sẽ trả về danh sách các tệp cho cuộc thi Titanic.
!kaggle competitions files -c titanic
Để lấy danh sách các tệp cho một cuộc thi khác, chỉ cần thay thế từ titanic bằng tên của cuộc thi bạn muốn từ danh sách cuộc thi.
Để tải về được các bộ dữ liệu từ một cuộc thi, hãy sử dụng mã sau. Thao tác này sẽ tải tất cả các file từ cuộc thi Titanic vào thư mục “/ content / kaggle /”.
!kaggle competitions download -c titanic -p /content/kaggle
Đoạn mã sau sẽ cho phép bạn kéo dữ liệu từ cuộc thi Titanic vào Khung dữ liệu gấu trúc để bạn có thể bắt tay vào xây dựng mô hình!
import pandas as pd
data = pd.read_csv('/content/kaggle/train.csv', header=0, sep=',', quotechar='"')
data.head()
Dưới đây là tài liệu dành cho API Kaggle , với danh sách đầy đủ các lệnh để đào sâu hơn.
https://github.com/Kaggle/kaggle-api
Một lưu ý cuối cùng, tham số nén = 'zip' trong phương thức pandas.read_csv cực kỳ hữu ích để sử dụng API này. Dưới đây là một ví dụ
data2 = pd.read_csv('/content/kaggle/train_sample.csv.zip', compression='zip', header=0, sep=',', quotechar='"')


