Mahout - Giới thiệu
Chúng ta đang sống trong thời đại mà thông tin có sẵn rất nhiều. Tình trạng quá tải thông tin đã tăng lên đến mức đôi khi trở nên khó quản lý các hộp thư nhỏ của chúng ta! Hãy tưởng tượng khối lượng dữ liệu và bản ghi mà một số trang web phổ biến (như Facebook, Twitter và Youtube) phải thu thập và quản lý hàng ngày. Không có gì lạ, ngay cả khi các trang web ít được biết đến cũng nhận được một lượng lớn thông tin hàng loạt.
Thông thường, chúng tôi dựa vào các thuật toán khai thác dữ liệu để phân tích dữ liệu hàng loạt để xác định xu hướng và đưa ra kết luận. Tuy nhiên, không có thuật toán khai thác dữ liệu nào có thể đủ hiệu quả để xử lý các tập dữ liệu rất lớn và cung cấp kết quả trong thời gian nhanh chóng, trừ khi các tác vụ tính toán được chạy trên nhiều máy được phân phối qua đám mây.
Giờ đây, chúng tôi có các khung công tác mới cho phép chúng tôi chia tác vụ tính toán thành nhiều phân đoạn và chạy từng phân đoạn trên một máy khác nhau. Mahout là một khung khai thác dữ liệu thường chạy cùng với cơ sở hạ tầng Hadoop ở nền của nó để quản lý khối lượng dữ liệu khổng lồ.
Apache Mahout là gì?
Một quản tượng là người lái một con voi như là bậc thầy của mình. Cái tên này xuất phát từ sự liên kết chặt chẽ của nó với Apache Hadoop sử dụng một con voi làm biểu tượng của nó.
Hadoop là một khung công tác mã nguồn mở của Apache cho phép lưu trữ và xử lý dữ liệu lớn trong môi trường phân tán trên các cụm máy tính sử dụng các mô hình lập trình đơn giản.
Apache Mahoutlà một dự án mã nguồn mở chủ yếu được sử dụng để tạo các thuật toán học máy có thể mở rộng. Nó triển khai các kỹ thuật học máy phổ biến như:
- Recommendation
- Classification
- Clustering
Apache Mahout bắt đầu như một dự án con của Lucene của Apache vào năm 2008. Năm 2010, Mahout trở thành một dự án cấp cao nhất của Apache.
Đặc điểm của Mahout
Các tính năng ban đầu của Apache Mahout được liệt kê dưới đây.
Các thuật toán của Mahout được viết trên Hadoop, vì vậy nó hoạt động tốt trong môi trường phân tán. Mahout sử dụng thư viện Apache Hadoop để mở rộng quy mô hiệu quả trên đám mây.
Mahout cung cấp cho người lập trình một khuôn khổ sẵn sàng sử dụng để thực hiện các tác vụ khai thác dữ liệu trên khối lượng lớn dữ liệu.
Mahout cho phép các ứng dụng phân tích tập hợp dữ liệu lớn một cách hiệu quả và nhanh chóng.
Bao gồm một số triển khai phân nhóm được hỗ trợ MapReduce như k-mean, k-mean mờ, Canopy, Dirichlet và Mean-Shift.
Hỗ trợ triển khai phân loại Naive Bayes phân tán và triển khai phân loại Naive Bayes bổ sung.
Đi kèm với các khả năng chức năng thể dục phân tán để lập trình tiến hóa.
Bao gồm các thư viện ma trận và vector.
Các ứng dụng của Mahout
Các công ty như Adobe, Facebook, LinkedIn, Foursquare, Twitter và Yahoo sử dụng Mahout trong nội bộ.
Foursquare giúp bạn tìm ra các địa điểm, thức ăn và giải trí có sẵn trong một khu vực cụ thể. Nó sử dụng công cụ giới thiệu của Mahout.
Twitter sử dụng Mahout để lập mô hình sở thích của người dùng.
Yahoo! sử dụng Mahout để khai thác mẫu.