Datumbox Machine Learning Framework 0.6.0 đã phát hành Thông tin dữ liệu PlatoBlockchain. Tìm kiếm dọc. Ái.

Đã phát hành khung máy học Datumbox 0.6.0

Phiên bản mới của Datumbox Machine Learning Framework đã được phát hành! Tải xuống ngay bây giờ từ Github or Kho lưu trữ trung tâm Maven.

Cái gì mới?

Trọng tâm chính của phiên bản 0.6.0 là mở rộng Khuôn khổ để xử lý Dữ liệu lớn, cải thiện kiến ​​trúc mã và các API công khai, đơn giản hóa việc phân tích dữ liệu, nâng cao tài liệu và chuyển sang giấy phép dễ dàng.

Cùng xem chi tiết những thay đổi của phiên bản này:

  1. Xử lý dữ liệu lớn: Việc quản lý bộ nhớ được cải thiện và các công cụ lưu trữ bền bỉ mới đã cho phép khung xử lý các tập dữ liệu lớn có kích thước vài GB. Thêm hỗ trợ của MapDB cơ sở dữ liệu cho phép khuôn khổ tránh lưu trữ tất cả dữ liệu trong bộ nhớ và do đó có thể xử lý dữ liệu lớn. Công cụ InMemory mặc định được thiết kế lại để hiệu quả hơn trong khi công cụ MongoDB bị xóa do các vấn đề về hiệu suất.
  2. Kiến trúc Framework được cải tiến và đơn giản hóa: Mức độ trừu tượng giảm đáng kể và một số thành phần cốt lõi được thiết kế lại. Đặc biệt, các cơ chế lưu trữ liên tục được viết lại và một số tính năng và cấu trúc dữ liệu không cần thiết bị loại bỏ.
  3. API công khai “Scikit-Learn-like” mới: Tất cả các phương thức công khai của các thuật toán được thay đổi để giống với các API Scikit-Learn của Python (mô hình phù hợp / dự đoán / biến đổi). Các phương pháp công khai mới linh hoạt hơn, dễ sử dụng hơn và thân thiện hơn.
  4. Đơn giản hóa việc phân tích cú pháp dữ liệu: Khung mới đi kèm với một tập hợp các phương pháp tiện lợi cho phép phân tích cú pháp nhanh các tệp CSV hoặc Văn bản và chuyển đổi chúng sang các đối tượng Tập dữ liệu.
  5. Tài liệu cải tiến: Tất cả các lớp công khai / được bảo vệ và các phương thức của Framework được ghi lại bằng cách sử dụng các nhận xét Javadoc. Ngoài ra, phiên bản mới còn cung cấp các bài kiểm tra JUnit được cải tiến, đây là những ví dụ tuyệt vời về cách sử dụng mọi thuật toán của khung.
  6. Giấy phép Apache mới: Giấy phép phần mềm của khung đã thay đổi từ “Giấy phép Công cộng GNU v3.0"To"Giấy phép Apache, Phiên bản 2.0“. Giấy phép mới được cho phép và nó cho phép phân phối lại trong phần mềm thương mại.

Vì một phần lớn của khung đã được viết lại để làm cho nó hiệu quả hơn và dễ sử dụng hơn, phiên bản 0.6.0 là không tương thích ngược với các phiên bản trước của khuôn khổ. Cuối cùng thì framework đã chuyển từ Alpha sang giai đoạn phát triển Beta và nó nên được coi là ổn định hơn.

Làm thế nào để sử dụng nó

Trong một bài đăng trên blog trước đây, chúng tôi đã cung cấp một hướng dẫn cài đặt chi tiết về cách cài đặt Framework. Hướng dẫn này vẫn có hiệu lực cho phiên bản mới. Ngoài ra, trong phiên bản mới này, bạn có thể tìm thấy một số Mã ví dụ về cách sử dụng các mô hình và thuật toán của Framework.

Các bước và lộ trình tiếp theo

Sự phát triển của khung sẽ tiếp tục và các cải tiến sau đây sẽ được thực hiện trước khi phát hành phiên bản 1.0:

  1. Using Khung từ bảng điều khiển: Mặc dù mục tiêu chính của khung là hỗ trợ sự phát triển của các ứng dụng Học máy, nhưng nó nên được sử dụng dễ dàng hơn từ các nhà phát triển không sử dụng Java. Theo cách tiếp cận tương tự như Mahout, khung công tác sẽ cung cấp quyền truy cập vào các thuật toán bằng cách sử dụng các lệnh bảng điều khiển. Giao diện phải đơn giản, dễ sử dụng và dễ dàng kết hợp các thuật toán khác nhau.
  2. Hỗ trợ đa luồng: Khung công tác hiện chỉ sử dụng các luồng cho các quy trình dọn dẹp và ghi không đồng bộ vào đĩa. Tuy nhiên, một số thuật toán có thể được song song hóa và điều này sẽ làm giảm đáng kể thời gian thực thi. Giải pháp trong những trường hợp này phải nhẹ nhàng và nên sửa đổi càng ít càng tốt các phép toán / logic bên trong của các thuật toán học máy.
  3. Giảm việc sử dụng mảng & ma trận 2d: Một số ít các thuật toán vẫn sử dụng mảng và ma trận 2d. Điều này khiến tất cả dữ liệu được tải vào bộ nhớ, giới hạn kích thước của tập dữ liệu có thể được sử dụng. Một số thuật toán (chẳng hạn như PCA) nên được hoàn thiện lại để tránh sử dụng ma trận trong khi đối với những thuật toán khác (chẳng hạn như GaussianDPMM, MultinomialDPMM, v.v.) chúng ta nên sử dụng ma trận thưa thớt.

Các nhiệm vụ quan trọng khác cần được thực hiện trong các phiên bản sắp tới:

  1. Bao gồm các thuật toán Học máy mới: Khung có thể được mở rộng để hỗ trợ một số thuật toán tuyệt vời như Hỗn hợp Gaussian, Quy trình Gaussian, k-NN, Cây quyết định, Phân tích nhân tố, SVD, PLSI, Mạng thần kinh nhân tạo, v.v.
  2. Cải thiện tài liệu, Phạm vi kiểm tra & Ví dụ về mã: Tạo tài liệu tốt hơn, cải thiện các bài kiểm tra JUnit, nâng cao nhận xét về mã, cung cấp các ví dụ tốt hơn về cách sử dụng các thuật toán, v.v.
  3. Cải thiện kiến ​​trúc & Tối ưu hóa mã: Đơn giản hóa và cải tiến hơn nữa về kiến ​​trúc của khuôn khổ, hợp lý hóa sự trừu tượng, cải thiện thiết kế, tối ưu hóa tốc độ và mức tiêu thụ bộ nhớ, v.v.

Như bạn có thể thấy đó là một con đường dài và tôi có thể sử dụng một số trợ giúp. Nếu bạn sẵn sàng cho thử thách thả cho tôi một dòng hoặc gửi yêu cầu kéo của bạn trên github.

Lời cảm ơn

Tôi xin cảm ơn Eleftherios Bampaletakis cho ý kiến ​​đóng góp vô giá của anh ấy về việc cải thiện kiến ​​trúc của Framework. Ngoài ra tôi xin cảm ơn ej-Technology GmbH vì đã cung cấp cho tôi giấy phép cho Java Profiler của họ. Hơn nữa, kudo của tôi để Jan Kotek cho công việc tuyệt vời của anh ấy trong công cụ lưu trữ MapDB. Cuối cùng nhưng không kém phần quan trọng, tình yêu của tôi với bạn gái Kyriaki vì đã hết lòng vì tôi.

Đừng quên tải xuống mã Datumbox v0.6.0 từ Github. Thư viện cũng có sẵn trên Kho lưu trữ trung tâm Maven. Để biết thêm thông tin về cách sử dụng thư viện trong dự án Java của bạn, hãy xem phần sau hướng dẫn hoặc đọc hướng dẫn trên trang chính của repo Github của chúng tôi.

Tôi rất mong nhận xét và đề xuất của bạn. Yêu cầu kéo luôn được chào đón! 🙂

Dấu thời gian:

Thêm từ Hộp dữ liệu