HBase
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> HBase

Sử dụng COD và CML để xây dựng các ứng dụng dự đoán dữ liệu kho

Không thật sự lắm. Bạn có thể sẽ không giàu trừ khi bạn làm việc thực sự chăm chỉ… Tốt như vậy, bạn không thể thực sự dự đoán giá cổ phiếu chỉ dựa trên ML, nhưng bây giờ tôi có sự chú ý của bạn!

Tiếp tục từ bài đăng trên blog trước của tôi về việc phát triển các ứng dụng dựa trên web được hỗ trợ bởi Cơ sở dữ liệu hoạt động (COD) của Cloudera, tôi đã bắt đầu một dự án nhỏ để tích hợp COD với một trải nghiệm đám mây CDP khác, Cloudera Machine Learning (CML).

Trong bản demo này, tôi sẽ cố gắng dự đoán hành vi của giá mở của cổ phiếu dựa trên dữ liệu lịch sử của chúng, nghĩa là giá mở của cổ phiếu sẽ tăng hay giảm. Tôi không phải là nhà khoa học dữ liệu, nhưng có rất nhiều ví dụ trực tuyến về cách làm điều đó (tôi đã lấy một số mẫu mã, sửa chúng và điều chỉnh chúng để hoạt động với COD). Với mục đích này, tôi sẽ sử dụng thuật toán LSTM (Bộ nhớ ngắn hạn dài). RNN nói chung (mạng nơ-ron tái phát) và LSTM đặc biệt hoạt động rất tốt với dữ liệu chuỗi thời gian

Để tránh nghi ngờ, chúng tôi không có ý định trở thành chuyên gia thị trường chứng khoán và không có gì trong bài đăng blog này nên được coi là lời khuyên tài chính theo bất kỳ cách nào. Đây hoàn toàn là một ví dụ về cách phát triển giải pháp bằng phần mềm của Cloudera.

Các thành phần chính được sử dụng trong bản trình diễn này:

  • Cơ sở dữ liệu hoạt động Cloudera (COD), như đã đề cập trong bài đăng trước của tôi, là một giải pháp dbPaaS được quản lý có sẵn dưới dạng trải nghiệm trong Nền tảng dữ liệu Cloudera (CDP)
  • CML được thiết kế cho các nhà khoa học dữ liệu và kỹ sư ML, cho phép họ tạo và quản lý các dự án ML từ mã đến sản xuất. Các tính năng chính của CML:
    • Môi trường phát triển cho các nhà khoa học dữ liệu, được tách biệt, chứa và đàn hồi
    • Bộ công cụ ML sản xuất - Triển khai, cung cấp, giám sát và quản trị các mô hình ML
    • Cung cấp ứng dụng - Xây dựng và cung cấp các ứng dụng tùy chỉnh cho các trường hợp sử dụng ML
    • Các ứng dụng được đóng gói sẵn để cung cấp thông tin chi tiết cho người dùng doanh nghiệp
      • Xây dựng trang tổng quan và ứng dụng đơn giản, kéo và thả với Hình ảnh hóa dữ liệu Cloudera
      • Ứng dụng mẫu dưới dạng bộ dụng cụ bắt đầu cho các trường hợp sử dụng của bạn
  • Dữ liệu Cổ phiếu - để lấy dữ liệu kho, tôi đã sử dụng dịch vụ alpha vantage (phiên bản miễn phí). Về cơ bản, đây là một dịch vụ cho phép bạn nhận được bản tóm tắt hàng ngày cho số liệu thống kê về cổ phiếu (mở, đóng, thấp, khối lượng lớn)

Xây dựng ứng dụng

Điều đầu tiên chúng ta cần làm là tạo một cơ sở dữ liệu trong COD.

1. Đăng nhập vào mặt phẳng điều khiển đám mây công cộng của Nền tảng dữ liệu Cloudera

2. Chọn Cơ sở dữ liệu hoạt động và sau đó nhấp vào “Tạo cơ sở dữ liệu”

3. Chọn môi trường của bạn và đặt tên cho cơ sở dữ liệu của bạn

4. Khi cơ sở dữ liệu đã được thiết lập và đang chạy, hãy chuyển sang tab JDBC

5. Đặt mật khẩu khối lượng công việc CDP của bạn

6. Bây giờ chúng ta hãy chuyển sang CML - Quay lại mặt phẳng điều khiển và nhấp vào “Máy học” rồi nhấp vào “Cung cấp không gian làm việc” Đặt tên cho không gian làm việc của bạn và chọn môi trường bạn muốn sử dụng

7. Khi không gian làm việc được cấp phép, hãy tạo một dự án mới, đặt tên cho nó và sử dụng git cho mã nguồn. Tất cả mã nguồn có thể được tìm thấy ở đây.

8. Sau khi dự án được tạo, bạn sẽ thấy tất cả các tệp trong thư mục dự án:

9. Ít hậu cần bổ sung - chúng tôi cần tạo các biến môi trường cho dự án, các biến này sẽ lưu trữ quyền truy cập vào cơ sở dữ liệu của chúng tôi và Khóa API alpha vantage. Để thực hiện việc này, hãy chuyển đến tab “cài đặt dự án -> nâng cao”

10. Bây giờ, hãy bắt đầu chạy dự án - nhấp vào “phiên mới”, đặt tên cho phiên của bạn, chọn “python 3” và cấu hình tài nguyên

11. Trên thiết bị đầu cuối hoặc CLI ở dưới cùng, hãy cài đặt tất cả các thư viện bắt buộc bằng cách chạy “pip3 install -rctures.txt”

12. Bước tiếp theo là tạo bảng của chúng tôi, trong đó dữ liệu sẽ được lưu trữ trong cơ sở dữ liệu của chúng tôi. cho mục đích đó, hãy chạy tập lệnh thiết lập:

13. Bây giờ, hãy bắt đầu thử nghiệm mô hình của chúng tôi! Truy cập runner.py và chạy nó. Về cơ bản, tập lệnh này thực hiện những việc sau:

a) Nhận dữ liệu tồn kho hàng ngày từ lợi thế alpha

b) Chuyển đổi dữ liệu cơ bản

c) Lưu trữ dữ liệu trong Cơ sở dữ liệu hoạt động của Cloudera

d) Chạy mô hình và tạo tệp mô hình (tech_ind_model.py)

e) Chạy dự đoán trong 120 ngày qua

f) Tính toán thu nhập dự đoán nếu chúng ta mua và bán cổ phiếu với tỷ giá chính xác

14. Trong khi chương trình đang chạy, bạn sẽ thấy rằng chương trình đang thu thập dữ liệu cho từng cổ phiếu, tải lên COD, thực hiện dự đoán và vẽ biểu đồ hiển thị giá dự đoán so với giá hiện tại. Mặc dù biểu đồ cho thấy xu hướng trong hầu hết các trường hợp là rất giống nhau, nhưng ngay cả một sự khác biệt nhỏ cũng có thể ảnh hưởng đến tổng doanh thu từ các đề xuất đó. Kết quả của quá trình chạy bao gồm các thông tin được đề cập bên dưới cho mỗi cổ phiếu:

a) khuyến nghị:giữ / mua / bán

b) dự đoán cuối cùng:giá dự đoán cuối cùng

c) giá:giá cuối cùng

d) dự đoán:dự đoán cho giá mở tiếp theo

e) tín hiệu:cao / thấp - khuyến nghị có mạnh / không

15. Dựa trên lần cuối cùng tôi chạy chương trình, tôi sẽ thua lỗ ở hầu hết các cổ phiếu dựa trên các khuyến nghị, nhưng đồng thời, có một số dự đoán lợi nhuận lên đến 20% !!!

Giờ đây, giao dịch theo thuật toán nói chung và dự đoán giá cổ phiếu là những chủ đề đã xuất hiện trong nhiều năm. Để vận hành các trường hợp sử dụng máy học như thế này, bạn cần các công cụ mạnh mẽ, dễ sử dụng, có thể mở rộng và sẵn sàng cho doanh nghiệp.

Cơ sở dữ liệu hoạt động của Cloudera cung cấp độ trễ dưới giây để đọc / ghi ngẫu nhiên và chính xác là những gì cần thiết cho các ứng dụng thời gian thực như ứng dụng được sử dụng trong ngành dịch vụ tài chính.

Để bắt đầu với CML và COD…

Hy vọng bạn thấy nó hữu ích,

Chúc bạn viết mã vui vẻ !!


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 6 tính năng hàng đầu của HDFS - Hướng dẫn sử dụng Hadoop HDFS

  2. Các vùng HBase hợp nhất

  3. Cách triển khai mô hình ML vào sản xuất

  4. Triển khai ứng dụng trên Cơ sở dữ liệu hoạt động CDP (COD)

  5. Spark-on-HBase:Đầu nối HBase dựa trên DataFrame