Phân cụm tài liệu Python
Đây là dự án áp dụng kỹ thuật phân cụm tài liệu bằng Python. Đối với bài tập này, chúng tôi đã bắt đầu với nội dung của 24 cuốn sách được lấy từ Google như một phần của Dự án Thư viện Google Show
Dọn dẹp dữ liệuCác tệp được đọc bằng hệ thống OCR và chứa các thẻ HTML ở mọi nơi nên bước đầu tiên trước khi bắt đầu phân cụm là làm sạch dữ liệu. Quá trình làm sạch dữ liệu như dưới đây 1- Loại bỏ Thẻ HTML (với Thư viện Python HTMLParser) 2- Bỏ dấu câu 3- Xóa các ký tự không phải tiếng Anh 4- Chữ thường tất cả các từ 5- Bắt nguồn các từ bằng cách sử dụng Porter Stemmer 6- Xóa tất cả các từ dừng 7- Xóa các từ có tần suất xuất hiện cao (Các từ có tỷ lệ xuất hiện trên 75% trong tất cả các sách) Tính tương đồng của tài liệuSau khi làm sạch dữ liệu, bước tiếp theo là tìm ma trận tương tự của tài liệu và các vectơ tài liệu thưa thớt bằng TF-IDF. Dưới đây là biểu diễn của ma trận tương tự Phân cụm và giảm kích thướcSau khi có được ma trận tương tự và các vectơ thưa thớt của tài liệu từ TF-IDF, chúng tôi bắt đầu áp dụng các kỹ thuật phân cụm và sử dụng các kỹ thuật giảm kích thước để có thể trực quan hóa nó ở dạng 2D K-Means và Phân tích thành phần nguyên tắcPhân cụm theo phương tiện K là một trong những kỹ thuật phân cụm phổ biến, với việc giảm kích thước K = 5 và PCA, nó đã tạo ra đầu ra sau DBScan và nhân rộng đa chiềuDBScan là một thuật toán phân cụm khác mà chúng tôi có thể sử dụng để phân cụm tài liệu. Với giá trị epsilon 1. 2, nó tạo ra 4 cụm và nếu chúng ta kết hợp nó với MDS, nó sẽ tạo ra đầu ra sau Phân cụm theo cấp bậc với WARDPhương pháp của WARD thường được sử dụng để tạo các cụm phân cấp, bên dưới là biểu đồ phân cụm phân cấp được tạo nếu chúng tôi áp dụng nó vào tài liệu của mình Cho trước các tài liệu văn bản, chúng ta có thể tự động nhóm chúng lại. phân cụm văn bản. Chúng tôi sẽ sử dụng KMeans, một thuật toán học máy không giám sát Tôi đã sưu tầm một số bài viết về mèo và google. Bạn đã đoán ra. thuật toán sẽ tạo ra các cụm. Các bài viết có thể về bất cứ thứ gì, thuật toán phân cụm sẽ tự động tạo các cụm. Thậm chí mát hơn. sự dự đoán khóa học liên quan. Hoàn thành khóa học Machine Learning với Python KmeansChúng tôi tạo tài liệu bằng danh sách Python. Trong ví dụ của chúng tôi, tài liệu chỉ đơn giản là các chuỗi văn bản vừa với màn hình. Trong một tình huống thực tế, chúng có thể là những tệp lớn
Khai thác tính năngKMeans thường chỉ hoạt động với các số. chúng ta cần phải có số. Để lấy số, chúng tôi thực hiện một bước phổ biến được gọi là trích xuất tính năng Tính năng chúng tôi sẽ sử dụng là TF-IDF, một thống kê số. Thống kê này sử dụng tần suất thuật ngữ và tần suất tài liệu nghịch đảo. Nói ngắn gọn. chúng tôi sử dụng số liệu thống kê để có được các tính năng số. Bởi vì tôi lười biếng, Chúng tôi sẽ sử dụng triển khai thuật toán TF-IDF hiện có trong sklearn Phương thức TfidfVectorizer() triển khai thuật toán TF-IDF. Tóm lại, phương pháp TfidfVectorizer chuyển đổi một tập hợp các tài liệu thô thành một ma trận các tính năng TF-IDF phân cụm văn bảnSau khi có các đặc trưng số, chúng ta khởi tạo thuật toán KMeans với K=2. Muốn xác định K tự động thì xem bài trước. Sau đó, chúng tôi sẽ in các từ hàng đầu cho mỗi cụm Sau đó, chúng ta đến phần thú vị. chúng tôi cung cấp một tài liệu mới cho thuật toán phân cụm và để nó dự đoán lớp của nó. Trong đoạn mã dưới đây tôi đã làm điều đó hai lần Mặc dù các khái niệm về tf-idf, tính tương tự của tài liệu và phân cụm tài liệu đã được thảo luận trong các bài viết trước của tôi, nhưng trong bài viết này, chúng tôi thảo luận về việc triển khai các khái niệm trên và tạo một bản demo hoạt động của phân cụm tài liệu trong Python Tôi đã tạo tập dữ liệu của riêng mình có tên là 'Sách. csv' trong đó tôi đã thêm tên sách Khoa học máy tính liên quan đến các chủ đề như Khoa học dữ liệu, Lập trình Python, Trí tuệ nhân tạo, v.v., cùng với tên tác giả Cấu trúc dữ liệu như sau Tác giảTiêu đề sáchTim RoughgardenAlgorithms IlluminatedSteven SkienaHướng dẫn thiết kế khoa học dữ liệuKevin Ferguson, Max PumperlaDeep Learning and the Game of GoZed ShawTìm hiểu Python theo cách khóNhiệm vụ là phân cụm các tên sách bằng tf-idf và K-Means Clustering
đầu ra Tác giảTiêu đềcount3131unique3129topMax BramerGiới thiệu về Deep Learningfreq12
đầu ra ['Brian Christian, Tom Griffiths', 'Jeff Erickson', 'Martin Erwig', 'Robert Sedgewick', 'Tim Roughgarden', 'Steven Skiena', 'Max Bramer',. ] tf-idf
đầu ra tfidflive0. 796514thuật toán0. 604621phần mềm0. 000000. lịch sử0. 000000Phân cụm K-Means
đầu ra [[0. 034752240. 076923080. 246864710. 034752240. 0. 150460020. 0. 055813890. 034752240. 035805370. 0. 0. 0. 0. 0. 064922190. 0. 0. 064922190. 0. 0. 0. 0. 040003350. 034752240. 0. 0. 034752240. 088483660. 034752240. 061270280. 0. 150460020. 0. 034752240. 0. 0. 061270280. 0. 035805370. 0. 0. 0. 0. 0. 0. 128026330. 034752240. 035805370. 0. 0. 0. 0. 0. 0. 0. 040003350. ][. ]]
đầu ra ________số 8Điều này sẽ cho kết quả ở dạng [n] trong đó n sẽ chỉ ra số cụm mà cuốn sách "Cấu trúc dữ liệu và thuật toán" sẽ thuộc về Có thể sử dụng phân cụm cho dữ liệu văn bản không?Phân cụm văn bản là nhiệm vụ nhóm một tập hợp các văn bản không được gắn nhãn sao cho các văn bản trong cùng một cụm giống nhau hơn so với các văn bản trong các cụm khác . Các thuật toán phân cụm văn bản xử lý văn bản và xác định xem có tồn tại các cụm (nhóm) tự nhiên trong dữ liệu hay không.
Phân cụm Python là gì?Phân cụm là một tập hợp các kỹ thuật được sử dụng để phân vùng dữ liệu thành các nhóm hoặc cụm . Các cụm được định nghĩa một cách lỏng lẻo là các nhóm đối tượng dữ liệu giống với các đối tượng khác trong cụm của chúng hơn là với các đối tượng dữ liệu trong các cụm khác. Trong thực tế, phân cụm giúp xác định hai phẩm chất của dữ liệu. ý nghĩa.
Cụm DM là gì?Phân cụm trong Khai thác dữ liệu là gì? . Phân cụm là một phương pháp phân vùng một tập hợp dữ liệu hoặc đối tượng thành một tập hợp các lớp con quan trọng được gọi là cụm. the method of converting a group of abstract objects into classes of similar objects. Clustering is a method of partitioning a set of data or objects into a set of significant subclasses called clusters. |