15

Tôi đang tìm thư viện tôi có thể sử dụng để kết hợp người dùng của mình với các mô hình Django khác dựa trên câu trả lời cho các câu hỏi-- cũng là mô hình django của riêng tôi.Một thư viện hợp tác lọc/kết hợp/đề xuất tốt cho Python/Django?

Vì vậy, tôi muốn một cái gì đó có thể tùy chỉnh, với tài liệu/hỗ trợ tốt và hy vọng không quá khó để thực hiện!

Có ai có bất kỳ đề xuất nào tốt không? Tôi đã xem qua Crab và Django-recommender, nhưng dường như không được tài liệu tốt lắm.

về cơ bản những gì tôi có là hai ứng dụng khảo sát, với các câu hỏi và câu trả lời tương ứng nhưng không giống nhau. Ví dụ. một câu hỏi trong app1 có thể là "bạn uống bao nhiêu đêm một tuần?" và một câu hỏi trong app2 có thể là "bao nhiêu đêm một tuần bạn mong đợi để uống?", với một chìa khóa nước ngoài cho câu hỏi đầu tiên trong ví dụ. Tôi muốn trả lời những câu hỏi này và sử dụng chúng để ghép nối người dùng từ từng bộ với nhau, để cung cấp cho người dùng trong các đề xuất nhóm 2 dựa trên những gì người dùng trong nhóm 1 đã sử dụng.

+1

"phù hợp với người dùng của tôi với các mô hình Django khác dựa trên câu trả lời cho câu hỏi"? Bạn có thể giải thích điều này? –

+0

Bạn có thể vui lòng ** cập nhật ** câu hỏi để chứa tất cả các sự kiện ở một nơi dễ đọc không? –

+2

Colleen, sẽ hữu ích khi đăng các mô hình liên quan để đưa ra ý tưởng tốt về cấu trúc của chúng. Trên đỉnh đầu của tôi Tôi không biết một thư viện hiện có để làm những gì bạn muốn, chủ yếu là bởi vì nó có vẻ như nó sẽ kết thúc quá cụ thể để thực hiện. –

Trả lời

2

Họ bịt chủ đề này trong lớp học Stanford ML miễn phí. Kiểm tra các đoạn video cho chương XVI tại http://www.ml-class.org/course/video/preview_list

Mặc dù việc thực hiện thảo luận là Matlab/Octave nó nên không khó để thực hiện trong Python, thậm chí dễ dàng hơn nếu bạn đang sử dụng NumPy

+0

Cảm ơn! Điều đó có vẻ khá tuyệt vời! – Colleen

0

Một giải pháp rất linh hoạt mà làm việc trong bất kỳ mã hóa ngôn ngữ (bao gồm cả Python) là Abracadabra Recommender API.

Về cơ bản, đây là một thuật toán đề xuất như một dịch vụ thư viện. Quá trình cài đặt rất đơn giản: bạn chỉ cần gửi các cuộc gọi HTTP (bạn có thể thực hiện với Django) tới url điểm cuối API để đào tạo mô hình của bạn và nhận các đề xuất. View the docs how.

Với API Abracadabra Recommender, khi sử dụng Python, trước tiên bạn thêm dữ liệu vào mô hình của bạn:

# These code snippets use an open-source library. http://unirest.io/python 
response = unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/add/subjects?recommenderId=rec1&subjectId=See+docs", 
    headers={ 
    "X-Mashape-Key": "<required>", 
    "Accept": "application/json", 
    "Content-Type": "application/json" 
    } 
) 

Sau đó bạn đào tạo mô hình theo xếp hạng hay thích đối tượng (đối với phim chẳng hạn):

# These code snippets use an open-source library. http://unirest.io/python 
response = unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/rate/subject?recommenderId=rec1&subjectId=gameofthrones&subjectWeight=10&userId=user1", 
    headers={ 
    "X-Mashape-Key": "<required>", 
    "Accept": "application/json", 
    "Content-Type": "application/json" 
    } 
) 

Sau khi hoàn tất, bạn sẽ nhận được đề xuất dựa trên lọc dựa trên nội dung, cộng tác hoặc kết hợp như sau:

# These code snippets use an open-source library. http://unirest.io/python 
response = unirest.post("https://noodlio-abracadabra-recommender-systems-v1.p.mashape.com/recommend?method=content&recommenderId=rec1&userId=user1", 
    headers={ 
    "X-Mashape-Key": "<required>", 
    "Accept": "application/json", 
    "Content-Type": "application/json" 
    } 
) 

Bạn có thể xem ví dụ ở các ngôn ngữ khác, trong đó có Angular, React, Javascript, NodeJS, Curl, Java, Python, Objective-C, Ruby, .NET ... trên API homepage.