Python ಮತ್ತು ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ಬಳಸಿ ದೃಢವಾದ ಶಿಫಾರಸು ಎಂಜಿನ್ ಅನ್ನು ರಚಿಸಿ. ಈ ಮಾರ್ಗದರ್ಶಿಯು ಸಿದ್ಧಾಂತ, ಅನುಷ್ಠಾನ ಮತ್ತು ಜಾಗತಿಕ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ ಆಪ್ಟಿಮೈಸೇಶನ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ.
Python ಶಿಫಾರಸು ಎಂಜಿನ್: ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ಅನ್ನು ವಿವರಿಸಲಾಗಿದೆ
ಇಂದಿನ ದತ್ತಾಂಶ-ಚಾಲಿತ ಜಗತ್ತಿನಲ್ಲಿ, ಶಿಫಾರಸು ಎಂಜಿನ್ಗಳು ಸರ್ವತ್ರವಾಗಿವೆ. Amazon ಮತ್ತು Alibaba ನಂತಹ ಇ-ಕಾಮರ್ಸ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಉತ್ಪನ್ನಗಳನ್ನು ಸೂಚಿಸುವುದರಿಂದ ಹಿಡಿದು Netflix ನಲ್ಲಿ ಚಲನಚಿತ್ರಗಳನ್ನು ಅಥವಾ Spotify ನಲ್ಲಿ ಹಾಡುಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡುವವರೆಗೆ, ಈ ಸಿಸ್ಟಮ್ಗಳು ಬಳಕೆದಾರರ ಅನುಭವಗಳನ್ನು ವೈಯಕ್ತೀಕರಿಸುತ್ತವೆ ಮತ್ತು ಒಳಗೊಳ್ಳುವಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತವೆ. ಈ ಲೇಖನವು ಪೈಥಾನ್ ಮತ್ತು ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ಎಂಬ ಶಕ್ತಿಯುತ ತಂತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು ಶಿಫಾರಸು ಎಂಜಿನ್ ಅನ್ನು ನಿರ್ಮಿಸಲು ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಶಿಫಾರಸು ಎಂಜಿನ್ ಎಂದರೇನು?
ಶಿಫಾರಸು ಎಂಜಿನ್ ಎನ್ನುವುದು ಮಾಹಿತಿ ಫಿಲ್ಟರಿಂಗ್ ಸಿಸ್ಟಮ್ನ ಒಂದು ವಿಧವಾಗಿದ್ದು, ಬಳಕೆದಾರರ ಆದ್ಯತೆಗಳನ್ನು ಊಹಿಸುತ್ತದೆ ಮತ್ತು ಬಳಕೆದಾರರು ಆಸಕ್ತಿದಾಯಕವೆಂದು ಭಾವಿಸಬಹುದಾದ ಐಟಂಗಳು ಅಥವಾ ವಿಷಯವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಬಳಕೆದಾರರ ಹಿಂದಿನ ನಡವಳಿಕೆಯನ್ನು (ಉದಾಹರಣೆಗೆ, ಖರೀದಿಗಳು, ರೇಟಿಂಗ್ಗಳು, ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸ) ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮತ್ತು ಅವರ ಭವಿಷ್ಯದ ಆದ್ಯತೆಗಳನ್ನು ಊಹಿಸಲು ಆ ಮಾಹಿತಿಯನ್ನು ಬಳಸುವುದು ಇದರ ಮುಖ್ಯ ವಿಚಾರವಾಗಿದೆ.
ಶಿಫಾರಸು ಎಂಜಿನ್ಗಳ ವಿಧಗಳು:
- ವಿಷಯ-ಆಧಾರಿತ ಫಿಲ್ಟರಿಂಗ್: ಬಳಕೆದಾರರು ಹಿಂದೆ ಇಷ್ಟಪಟ್ಟ ಐಟಂಗಳಂತೆಯೇ ಇರುವ ಐಟಂಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಬಳಕೆದಾರರು ಇತಿಹಾಸದ ಬಗ್ಗೆ ಸಾಕ್ಷ್ಯಚಿತ್ರಗಳನ್ನು ವೀಕ್ಷಿಸುವುದನ್ನು ಆನಂದಿಸಿದರೆ, ಸಿಸ್ಟಮ್ ಇತರ ಐತಿಹಾಸಿಕ ಸಾಕ್ಷ್ಯಚಿತ್ರಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಬಹುದು.
- ಸಹಯೋಗಿ ಫಿಲ್ಟರಿಂಗ್: ಇದೇ ರೀತಿಯ ಅಭಿರುಚಿಗಳನ್ನು ಹೊಂದಿರುವ ಬಳಕೆದಾರರ ಆದ್ಯತೆಗಳ ಆಧಾರದ ಮೇಲೆ ಐಟಂಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡುತ್ತದೆ. ಇಬ್ಬರು ಬಳಕೆದಾರರು ಇದೇ ರೀತಿಯ ಐಟಂಗಳನ್ನು ಹೆಚ್ಚು ರೇಟ್ ಮಾಡಿದರೆ ಮತ್ತು ಒಬ್ಬ ಬಳಕೆದಾರರು ಹೊಸ ಐಟಂ ಅನ್ನು ಇಷ್ಟಪಟ್ಟರೆ, ಸಿಸ್ಟಮ್ ಆ ಐಟಂ ಅನ್ನು ಇನ್ನೊಬ್ಬ ಬಳಕೆದಾರರಿಗೆ ಶಿಫಾರಸು ಮಾಡಬಹುದು.
- ಸಂಕರ ವಿಧಾನಗಳು: ಎರಡರ ಸಾಮರ್ಥ್ಯವನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ವಿಷಯ-ಆಧಾರಿತ ಮತ್ತು ಸಹಯೋಗಿ ಫಿಲ್ಟರಿಂಗ್ ಎರಡನ್ನೂ ಸಂಯೋಜಿಸುತ್ತದೆ.
ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್: ಒಂದು ಶಕ್ತಿಯುತ ಸಹಯೋಗಿ ಫಿಲ್ಟರಿಂಗ್ ತಂತ್ರ
ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ಎನ್ನುವುದು ಗಮನಿಸಿದ ರೇಟಿಂಗ್ಗಳನ್ನು ವಿವರಿಸುವ ಗುಪ್ತ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಕಂಡುಹಿಡಿಯಲು ಬಳಸಲಾಗುವ ಒಂದು ಶಕ್ತಿಯುತ ಸಹಯೋಗಿ ಫಿಲ್ಟರಿಂಗ್ ತಂತ್ರವಾಗಿದೆ. ಬಳಕೆದಾರ-ಐಟಂ ಪರಸ್ಪರ ಕ್ರಿಯೆಯ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು ಎರಡು ಕಡಿಮೆ-ಆಯಾಮದ ಮ್ಯಾಟ್ರಿಕ್ಸ್ಗಳಾಗಿ ವಿಭಜಿಸುವುದು ಮೂಲಭೂತ ವಿಚಾರವಾಗಿದೆ: ಬಳಕೆದಾರ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಮತ್ತು ಐಟಂ ಮ್ಯಾಟ್ರಿಕ್ಸ್. ಈ ಮ್ಯಾಟ್ರಿಕ್ಸ್ಗಳು ಬಳಕೆದಾರರು ಮತ್ತು ಐಟಂಗಳ ನಡುವಿನ ಮೂಲ ಸಂಬಂಧಗಳನ್ನು ಸೆರೆಹಿಡಿಯುತ್ತವೆ.
ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ನ ಹಿಂದಿನ ಗಣಿತವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
ಬಳಕೆದಾರ-ಐಟಂ ಪರಸ್ಪರ ಕ್ರಿಯೆಯ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು R ಎಂದು ಸೂಚಿಸೋಣ, ಅಲ್ಲಿ Rui ಎಂದರೆ ಬಳಕೆದಾರ u ಐಟಂ i ಗೆ ನೀಡಿದ ರೇಟಿಂಗ್ ಅನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ. ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ನ ಗುರಿಯು R ಅನ್ನು ಎರಡು ಮ್ಯಾಟ್ರಿಕ್ಸ್ಗಳ ಗುಣಲಬ್ಧವಾಗಿ ಅಂದಾಜು ಮಾಡುವುದು:
R ≈ P x QT
- P ಎನ್ನುವುದು ಬಳಕೆದಾರ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಆಗಿದೆ, ಅಲ್ಲಿ ಪ್ರತಿ ಸಾಲು ಬಳಕೆದಾರರನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ಕಾಲಮ್ ಗುಪ್ತ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
- Q ಎನ್ನುವುದು ಐಟಂ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಆಗಿದೆ, ಅಲ್ಲಿ ಪ್ರತಿ ಸಾಲು ಐಟಂ ಅನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ಕಾಲಮ್ ಗುಪ್ತ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.
- QT ಎನ್ನುವುದು ಐಟಂ ಮ್ಯಾಟ್ರಿಕ್ಸ್ನ ವರ್ಗಾವಣೆ.
P (ಬಳಕೆದಾರರನ್ನು ಪ್ರತಿನಿಧಿಸುವ) ಸಾಲಿನಲ್ಲಿ ಮತ್ತು Q (ಐಟಂ ಅನ್ನು ಪ್ರತಿನಿಧಿಸುವ) ಸಾಲಿನಲ್ಲಿರುವ ಚುಕ್ಕೆ ಉತ್ಪನ್ನವು ಆ ಬಳಕೆದಾರರು ಆ ಐಟಂಗೆ ನೀಡುವ ರೇಟಿಂಗ್ ಅನ್ನು ಅಂದಾಜು ಮಾಡುತ್ತದೆ. ಊಹಿಸಲಾದ ರೇಟಿಂಗ್ಗಳು (P x QT) ಮತ್ತು ವಾಸ್ತವಿಕ ರೇಟಿಂಗ್ಗಳು (R) ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಕಡಿಮೆ ಮಾಡುವುದು ಉದ್ದೇಶವಾಗಿದೆ.
ಸಾಮಾನ್ಯ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ಅಲ್ಗಾರಿದಮ್ಗಳು
- ಏಕವಚನ ಮೌಲ್ಯ ವಿಭಜನೆ (SVD): ಒಂದು ಶ್ರೇಷ್ಠ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ತಂತ್ರವಾಗಿದ್ದು, ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು ಮೂರು ಮ್ಯಾಟ್ರಿಕ್ಸ್ಗಳಾಗಿ ವಿಭಜಿಸುತ್ತದೆ: U, Σ, ಮತ್ತು VT. ಶಿಫಾರಸು ಎಂಜಿನ್ಗಳ ಸಂದರ್ಭದಲ್ಲಿ, SVD ಅನ್ನು ಬಳಕೆದಾರ-ಐಟಂ ರೇಟಿಂಗ್ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು ಫ್ಯಾಕ್ಟರೈಜ್ ಮಾಡಲು ಬಳಸಬಹುದು. ಆದಾಗ್ಯೂ, SVD ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು ದಟ್ಟವಾಗಿರಬೇಕು (ಅಂದರೆ, ಯಾವುದೇ ಕಾಣೆಯಾದ ಮೌಲ್ಯಗಳಿಲ್ಲ). ಆದ್ದರಿಂದ, ಕಾಣೆಯಾದ ರೇಟಿಂಗ್ಗಳನ್ನು ತುಂಬಲು ಇಂಪುಟೇಶನ್ನಂತಹ ತಂತ್ರಗಳನ್ನು ಹೆಚ್ಚಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
- ಋಣಾತ್ಮಕವಲ್ಲದ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ (NMF): ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ತಂತ್ರವಾಗಿದ್ದು, ಅಲ್ಲಿ ಮ್ಯಾಟ್ರಿಕ್ಸ್ P ಮತ್ತು Q ಅನ್ನು ಋಣಾತ್ಮಕವಾಗದಂತೆ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ. ಋಣಾತ್ಮಕ ಮೌಲ್ಯಗಳು ಅರ್ಥಪೂರ್ಣವಲ್ಲದ ದತ್ತಾಂಶಗಳನ್ನು ವ್ಯವಹರಿಸುವಾಗ NMF ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, ಡಾಕ್ಯುಮೆಂಟ್ ವಿಷಯ ಮಾಡೆಲಿಂಗ್).
- ಸಂಭಾವ್ಯ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ (PMF): ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ಗೆ ಸಂಭವನೀಯ ವಿಧಾನವಾಗಿದ್ದು, ಬಳಕೆದಾರ ಮತ್ತು ಐಟಂ ಗುಪ್ತ ವೆಕ್ಟರ್ಗಳನ್ನು ಗೌಸಿಯನ್ ವಿತರಣೆಗಳಿಂದ ಸೆಳೆಯಲಾಗಿದೆ ಎಂದು ಭಾವಿಸುತ್ತದೆ. PMF ಅನಿಶ್ಚಿತತೆಯನ್ನು ನಿರ್ವಹಿಸಲು ತತ್ವಬದ್ಧ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿಯನ್ನು (ಉದಾಹರಣೆಗೆ, ಬಳಕೆದಾರ ಗುಣಲಕ್ಷಣಗಳು, ಐಟಂ ವೈಶಿಷ್ಟ್ಯಗಳು) ಸಂಯೋಜಿಸಲು ವಿಸ್ತರಿಸಬಹುದು.
ಪೈಥಾನ್ನೊಂದಿಗೆ ಶಿಫಾರಸು ಎಂಜಿನ್ ಅನ್ನು ನಿರ್ಮಿಸುವುದು: ಒಂದು ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆ
ಪೈಥಾನ್ ಮತ್ತು ಸರ್ಪ್ರೈಸ್ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಶಿಫಾರಸು ಎಂಜಿನ್ ಅನ್ನು ನಿರ್ಮಿಸುವ ಪ್ರಾಯೋಗಿಕ ಉದಾಹರಣೆಗೆ ಹೋಗೋಣ. ಸರ್ಪ್ರೈಸ್ ಎನ್ನುವುದು ಶಿಫಾರಸು ವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿರ್ಮಿಸಲು ಮತ್ತು ವಿಶ್ಲೇಷಿಸಲು ಪೈಥಾನ್ ಸ್ಕಿಕಿಟ್ ಆಗಿದೆ. ಇದು ಎಸ್ವಿಡಿ, ಎನ್ಎಂಎಫ್ ಮತ್ತು ಪಿಎಂಎಫ್ ಸೇರಿದಂತೆ ವಿವಿಧ ಸಹಯೋಗಿ ಫಿಲ್ಟರಿಂಗ್ ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಸರ್ಪ್ರೈಸ್ ಲೈಬ್ರರಿಯನ್ನು ಸ್ಥಾಪಿಸುವುದು
ಮೊದಲಿಗೆ, ನೀವು ಸರ್ಪ್ರೈಸ್ ಲೈಬ್ರರಿಯನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗಿದೆ. ನೀವು ಇದನ್ನು ಪಿಪ್ ಬಳಸಿ ಮಾಡಬಹುದು:
pip install scikit-surprise
ದತ್ತಾಂಶವನ್ನು ಲೋಡ್ ಮಾಡುವುದು ಮತ್ತು ತಯಾರಿಸುವುದು
ಈ ಉದಾಹರಣೆಗಾಗಿ, ನಾವು MovieLens ದತ್ತಾಂಶವನ್ನು ಬಳಸುತ್ತೇವೆ, ಇದು ಶಿಫಾರಸು ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು ಜನಪ್ರಿಯ ದತ್ತಾಂಶವಾಗಿದೆ. ಸರ್ಪ್ರೈಸ್ ಲೈಬ್ರರಿಯು MovieLens ದತ್ತಾಂಶವನ್ನು ಲೋಡ್ ಮಾಡಲು ಅಂತರ್ನಿರ್ಮಿತ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ.
from surprise import Dataset
from surprise import Reader
# Load the MovieLens 100K dataset
data = Dataset.load_builtin('ml-100k')
ನೀವು ಸ್ವಂತ ದತ್ತಾಂಶವನ್ನು ಹೊಂದಿದ್ದರೆ, ನೀವು ಅದನ್ನು Reader ವರ್ಗವನ್ನು ಬಳಸಿಕೊಂಡು ಲೋಡ್ ಮಾಡಬಹುದು. Reader ವರ್ಗವು ನಿಮ್ಮ ದತ್ತಾಂಶ ಫೈಲ್ನ ಸ್ವರೂಪವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
from surprise import Dataset
from surprise import Reader
# Define the format of your data file
reader = Reader(line_format='user item rating', sep=',', rating_scale=(1, 5))
# Load your data file
data = Dataset.load_from_file('path/to/your/data.csv', reader=reader)
ಮಾದರಿಯನ್ನು ತರಬೇತಿಗೊಳಿಸುವುದು
ಈಗ ನಾವು ಡೇಟಾವನ್ನು ಲೋಡ್ ಮಾಡಿ ಮತ್ತು ಸಿದ್ಧಪಡಿಸಿದ್ದೇವೆ, ನಾವು ಮಾದರಿಯನ್ನು ತರಬೇತಿಗೊಳಿಸಬಹುದು. ಈ ಉದಾಹರಣೆಯಲ್ಲಿ ನಾವು SVD ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ.
from surprise import SVD
from surprise.model_selection import train_test_split
# Split the data into training and testing sets
trainset, testset = train_test_split(data, test_size=0.25)
# Initialize the SVD algorithm
algo = SVD()
# Train the algorithm on the training set
algo.fit(trainset)
ಮುನ್ಸೂಚನೆಗಳನ್ನು ಮಾಡುವುದು
ಮಾದರಿಯನ್ನು ತರಬೇತಿಗೊಳಿಸಿದ ನಂತರ, ನಾವು ಪರೀಕ್ಷಾ ಸೆಟ್ನಲ್ಲಿ ಮುನ್ಸೂಚನೆಗಳನ್ನು ಮಾಡಬಹುದು.
# Make predictions on the testing set
predictions = algo.test(testset)
# Print the predictions
for prediction in predictions:
print(prediction)
ಪ್ರತಿಯೊಂದು ಮುನ್ಸೂಚನೆ ವಸ್ತುವೂ ಬಳಕೆದಾರ ID, ಐಟಂ ID, ನಿಜವಾದ ರೇಟಿಂಗ್ ಮತ್ತು ಊಹಿಸಲಾದ ರೇಟಿಂಗ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ.
ಮಾದರಿಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡುವುದು
ಮಾದರಿಯ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಮೌಲ್ಯಮಾಪನ ಮಾಡಲು, ನಾವು ರೂಟ್ ಮೀನ್ ಸ್ಕ್ವೇರ್ ಎರರ್ (RMSE) ಮತ್ತು ಮೀನ್ ಅಬ್ಸೊಲ್ಯೂಟ್ ಎರರ್ (MAE) ನಂತಹ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ಬಳಸಬಹುದು.
from surprise import accuracy
# Compute RMSE and MAE
accuracy.rmse(predictions)
accuracy.mae(predictions)
ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರಿಗಾಗಿ ಶಿಫಾರಸುಗಳನ್ನು ಮಾಡುವುದು
ನಿರ್ದಿಷ್ಟ ಬಳಕೆದಾರರಿಗಾಗಿ ಶಿಫಾರಸುಗಳನ್ನು ಮಾಡಲು, ನಾವು algo.predict() ವಿಧಾನವನ್ನು ಬಳಸಬಹುದು.
# Get the user ID
user_id = '196'
# Get the item ID
item_id = '302'
# Predict the rating
prediction = algo.predict(user_id, item_id)
# Print the predicted rating
print(prediction.est)
ಇದು ಬಳಕೆದಾರ '196' ಐಟಂ '302' ಗೆ ನೀಡುವ ರೇಟಿಂಗ್ ಅನ್ನು ಊಹಿಸುತ್ತದೆ.
ಬಳಕೆದಾರರಿಗಾಗಿ ಟಾಪ್ N ಐಟಂಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಲು, ಬಳಕೆದಾರರು ಇನ್ನೂ ರೇಟ್ ಮಾಡದ ಎಲ್ಲಾ ಐಟಂಗಳನ್ನು ನೀವು ಪುನರಾವರ್ತಿಸಬಹುದು ಮತ್ತು ರೇಟಿಂಗ್ಗಳನ್ನು ಊಹಿಸಬಹುದು. ನಂತರ, ನೀವು ಊಹಿಸಿದ ರೇಟಿಂಗ್ಗಳಿಂದ ಐಟಂಗಳನ್ನು ವಿಂಗಡಿಸಬಹುದು ಮತ್ತು ಟಾಪ್ N ಐಟಂಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು.
from collections import defaultdict
def get_top_n_recommendations(predictions, n=10):
"""Return the top N recommendations for each user from a set of predictions."""
# First map the predictions to each user.
top_n = defaultdict(list)
for uid, iid, true_r, est, _ in predictions:
top_n[uid].append((iid, est))
# Then sort the predictions for each user and retrieve the k highest ones.
for uid, user_ratings in top_n.items():
user_ratings.sort(key=lambda x: x[1], reverse=True)
top_n[uid] = user_ratings[:n]
return top_n
top_n = get_top_n_recommendations(predictions, n=10)
# Print the recommended items for each user
for uid, user_ratings in top_n.items():
print(uid, [iid for (iid, _) in user_ratings])
ಶಿಫಾರಸು ಎಂಜಿನ್ ಅನ್ನು ಉತ್ತಮಗೊಳಿಸುವುದು
ಶಿಫಾರಸು ಎಂಜಿನ್ನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ಹಲವಾರು ಮಾರ್ಗಗಳಿವೆ:
ಹೈಪರ್ಪ್ಯಾರಾಮೀಟರ್ ಟ್ಯೂನಿಂಗ್
ಹೆಚ್ಚಿನ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ಅಲ್ಗಾರಿದಮ್ಗಳು ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಸುಧಾರಿಸಲು ಟ್ಯೂನ್ ಮಾಡಬಹುದಾದ ಹೈಪರ್ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಹೊಂದಿವೆ. ಉದಾಹರಣೆಗೆ, SVD ಅಲ್ಗಾರಿದಮ್ ಅಂಶಗಳ ಸಂಖ್ಯೆ (n_factors) ಮತ್ತು ಕಲಿಕೆಯ ದರ (lr_all) ನಂತಹ ಹೈಪರ್ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಹೊಂದಿದೆ. ಸೂಕ್ತವಾದ ಹೈಪರ್ಪ್ಯಾರಾಮೀಟರ್ಗಳನ್ನು ಹುಡುಕಲು ನೀವು ಗ್ರಿಡ್ ಹುಡುಕಾಟ ಅಥವಾ ಯಾದೃಚ್ಛಿಕ ಹುಡುಕಾಟದಂತಹ ತಂತ್ರಗಳನ್ನು ಬಳಸಬಹುದು.
from surprise.model_selection import GridSearchCV
# Define the parameters to tune
param_grid = {
'n_factors': [50, 100, 150],
'lr_all': [0.002, 0.005, 0.01],
'reg_all': [0.02, 0.05, 0.1]
}
# Perform grid search
gs = GridSearchCV(SVD, param_grid, measures=['rmse', 'mae'], cv=3)
gs.fit(data)
# Print the best parameters
print(gs.best_params['rmse'])
# Print the best score
print(gs.best_score['rmse'])
ನಿಯಂತ್ರಣ
ಓವರ್ಫಿಟಿಂಗ್ ಅನ್ನು ತಡೆಯಲು ನಿಯಂತ್ರಣವು ಒಂದು ತಂತ್ರವಾಗಿದೆ. ಮಾದರಿಯು ತರಬೇತಿ ದತ್ತಾಂಶವನ್ನು ತುಂಬಾ ಚೆನ್ನಾಗಿ ಕಲಿತಾಗ ಮತ್ತು ನೋಡದ ದತ್ತಾಂಶದ ಮೇಲೆ ಕಳಪೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸಿದಾಗ ಓವರ್ಫಿಟಿಂಗ್ ಸಂಭವಿಸುತ್ತದೆ. ಸಾಮಾನ್ಯ ನಿಯಂತ್ರಣ ತಂತ್ರಗಳಲ್ಲಿ L1 ನಿಯಂತ್ರಣ ಮತ್ತು L2 ನಿಯಂತ್ರಣ ಸೇರಿವೆ. ಸರ್ಪ್ರೈಸ್ ಲೈಬ್ರರಿ ನಿಯಂತ್ರಣಕ್ಕಾಗಿ ಅಂತರ್ನಿರ್ಮಿತ ಬೆಂಬಲವನ್ನು ಒದಗಿಸುತ್ತದೆ.
ಕೋಲ್ಡ್ ಸ್ಟಾರ್ಟ್ ಸಮಸ್ಯೆಯನ್ನು ನಿರ್ವಹಿಸುವುದು
ಸಿಸ್ಟಮ್ ಹೊಸ ಬಳಕೆದಾರರು ಅಥವಾ ಹೊಸ ಐಟಂಗಳ ಬಗ್ಗೆ ಸೀಮಿತ ಅಥವಾ ಯಾವುದೇ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರದಿದ್ದಾಗ ಕೋಲ್ಡ್ ಸ್ಟಾರ್ಟ್ ಸಮಸ್ಯೆ ಸಂಭವಿಸುತ್ತದೆ. ಇದು ನಿಖರವಾದ ಶಿಫಾರಸುಗಳನ್ನು ಒದಗಿಸುವುದನ್ನು ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ. ಕೋಲ್ಡ್ ಸ್ಟಾರ್ಟ್ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಹಲವಾರು ತಂತ್ರಗಳಿವೆ:
- ವಿಷಯ-ಆಧಾರಿತ ಫಿಲ್ಟರಿಂಗ್: ಬಳಕೆದಾರರು ಅವುಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸದಿದ್ದರೂ ಸಹ, ಅವುಗಳ ವೈಶಿಷ್ಟ್ಯಗಳ ಆಧಾರದ ಮೇಲೆ ಐಟಂಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಲು ವಿಷಯ-ಆಧಾರಿತ ಫಿಲ್ಟರಿಂಗ್ ಅನ್ನು ಬಳಸಿ.
- ಸಂಕರ ವಿಧಾನಗಳು: ಎರಡರ ಸಾಮರ್ಥ್ಯವನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ವಿಷಯ-ಆಧಾರಿತ ಫಿಲ್ಟರಿಂಗ್ನೊಂದಿಗೆ ಸಹಯೋಗಿ ಫಿಲ್ಟರಿಂಗ್ ಅನ್ನು ಸಂಯೋಜಿಸಿ.
- ಜ್ಞಾನ-ಆಧಾರಿತ ಶಿಫಾರಸು: ಶಿಫಾರಸುಗಳನ್ನು ಮಾಡಲು ಬಳಕೆದಾರರು ಮತ್ತು ಐಟಂಗಳ ಬಗ್ಗೆ ಸ್ಪಷ್ಟವಾದ ಜ್ಞಾನವನ್ನು ಬಳಸಿ.
- ಜನಪ್ರಿಯತೆ-ಆಧಾರಿತ ಶಿಫಾರಸು: ಹೊಸ ಬಳಕೆದಾರರಿಗೆ ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಐಟಂಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಿ.
ಸ್ಕೇಲೆಬಿಲಿಟಿ
ದೊಡ್ಡ ಡೇಟಾಸೆಟ್ಗಳಿಗಾಗಿ, ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ಕಂಪ್ಯೂಟೇಶನಲ್ ಆಗಿ ದುಬಾರಿಯಾಗಬಹುದು. ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ನ ಸ್ಕೇಲೆಬಿಲಿಟಿಯನ್ನು ಸುಧಾರಿಸಲು ಹಲವಾರು ತಂತ್ರಗಳಿವೆ:
- ವಿತರಿಸಿದ ಕಂಪ್ಯೂಟಿಂಗ್: ಕಂಪ್ಯೂಟೇಶನ್ ಅನ್ನು ಸಮಾನಾಂತರಗೊಳಿಸಲು ಅಪಾಚೆ ಸ್ಪಾರ್ಕ್ನಂತಹ ವಿತರಿಸಿದ ಕಂಪ್ಯೂಟಿಂಗ್ ಚೌಕಟ್ಟುಗಳನ್ನು ಬಳಸಿ.
- ಸ್ಯಾಂಪ್ಲಿಂಗ್: ಡೇಟಾಸೆಟ್ನ ಗಾತ್ರವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸ್ಯಾಂಪ್ಲಿಂಗ್ ತಂತ್ರಗಳನ್ನು ಬಳಸಿ.
- ಅಂದಾಜು ಅಲ್ಗಾರಿದಮ್ಗಳು: ಕಂಪ್ಯೂಟೇಶನಲ್ ಸಂಕೀರ್ಣತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಅಂದಾಜು ಅಲ್ಗಾರಿದಮ್ಗಳನ್ನು ಬಳಸಿ.
ನೈಜ-ಪ್ರಪಂಚದ ಅಪ್ಲಿಕೇಶನ್ಗಳು ಮತ್ತು ಜಾಗತಿಕ ಪರಿಗಣನೆಗಳು
ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ಶಿಫಾರಸು ಎಂಜಿನ್ಗಳನ್ನು ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಕೈಗಾರಿಕೆಗಳು ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್ಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ. ಕೆಲವು ಉದಾಹರಣೆಗಳು ಇಲ್ಲಿವೆ:
- ಇ-ಕಾಮರ್ಸ್: ಬಳಕೆದಾರರ ಹಿಂದಿನ ಖರೀದಿಗಳು ಮತ್ತು ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸದ ಆಧಾರದ ಮೇಲೆ ಉತ್ಪನ್ನಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡುವುದು. ಉದಾಹರಣೆಗೆ, ಜರ್ಮನಿಯಲ್ಲಿ ಪಾದಯಾತ್ರೆ ಉಪಕರಣಗಳನ್ನು ಖರೀದಿಸುವ ಬಳಕೆದಾರರಿಗೆ ಸೂಕ್ತವಾದ ಬಟ್ಟೆ, ಸ್ಥಳೀಯ ಜಾಡುಗಳ ನಕ್ಷೆಗಳು ಅಥವಾ ಸಂಬಂಧಿತ ಪುಸ್ತಕಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಬಹುದು.
- ಮಾಧ್ಯಮ ಮತ್ತು ಮನರಂಜನೆ: ವೀಕ್ಷಣೆ ಮತ್ತು ಆಲಿಸುವ ಅಭ್ಯಾಸಗಳ ಆಧಾರದ ಮೇಲೆ ಬಳಕೆದಾರರಿಗೆ ಚಲನಚಿತ್ರಗಳು, ಟಿವಿ ಕಾರ್ಯಕ್ರಮಗಳು ಮತ್ತು ಸಂಗೀತವನ್ನು ಶಿಫಾರಸು ಮಾಡುವುದು. ಅನಿಮೆಯನ್ನು ಆನಂದಿಸುವ ಜಪಾನ್ನ ಬಳಕೆದಾರರಿಗೆ ಹೊಸ ಸರಣಿ, ಇದೇ ರೀತಿಯ ಪ್ರಕಾರಗಳು ಅಥವಾ ಸಂಬಂಧಿತ ವ್ಯಾಪಾರಿಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಬಹುದು.
- ಸಾಮಾಜಿಕ ಮಾಧ್ಯಮ: ಬಳಕೆದಾರರ ಆಸಕ್ತಿಗಳು ಮತ್ತು ಸಾಮಾಜಿಕ ಸಂಪರ್ಕಗಳ ಆಧಾರದ ಮೇಲೆ ಬಳಕೆದಾರರಿಗೆ ಸ್ನೇಹಿತರು, ಗುಂಪುಗಳು ಮತ್ತು ವಿಷಯವನ್ನು ಶಿಫಾರಸು ಮಾಡುವುದು. ಫುಟ್ಬಾಲ್ನಲ್ಲಿ ಆಸಕ್ತಿ ಹೊಂದಿರುವ ಬ್ರೆಜಿಲ್ನ ಬಳಕೆದಾರರಿಗೆ ಸ್ಥಳೀಯ ಫುಟ್ಬಾಲ್ ಕ್ಲಬ್ಗಳು, ಸಂಬಂಧಿತ ಸುದ್ದಿ ಲೇಖನಗಳು ಅಥವಾ ಅಭಿಮಾನಿಗಳ ಗುಂಪುಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಬಹುದು.
- ಶಿಕ್ಷಣ: ವಿದ್ಯಾರ್ಥಿಗಳಿಗೆ ಅವರ ಕಲಿಕೆಯ ಗುರಿಗಳು ಮತ್ತು ಶೈಕ್ಷಣಿಕ ಕಾರ್ಯಕ್ಷಮತೆಯ ಆಧಾರದ ಮೇಲೆ ಕೋರ್ಸ್ಗಳು ಮತ್ತು ಕಲಿಕಾ ಸಾಮಗ್ರಿಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡುವುದು. ಕಂಪ್ಯೂಟರ್ ವಿಜ್ಞಾನವನ್ನು ಅಧ್ಯಯನ ಮಾಡುವ ಭಾರತದ ವಿದ್ಯಾರ್ಥಿಗೆ ಆನ್ಲೈನ್ ಕೋರ್ಸ್ಗಳು, ಪಠ್ಯಪುಸ್ತಕಗಳು ಅಥವಾ ಸಂಶೋಧನಾ ಪ್ರಬಂಧಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಬಹುದು.
- ಪ್ರಯಾಣ ಮತ್ತು ಪ್ರವಾಸೋದ್ಯಮ: ಅವರ ಆದ್ಯತೆಗಳು ಮತ್ತು ಪ್ರಯಾಣದ ಇತಿಹಾಸದ ಆಧಾರದ ಮೇಲೆ ಪ್ರಯಾಣಿಕರಿಗೆ ಗಮ್ಯಸ್ಥಾನಗಳು, ಹೋಟೆಲ್ಗಳು ಮತ್ತು ಚಟುವಟಿಕೆಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡುವುದು. ಇಟಲಿಗೆ ಪ್ರವಾಸವನ್ನು ಯೋಜಿಸುತ್ತಿರುವ ಯುಎಸ್ನ ಪ್ರವಾಸಿಗರಿಗೆ ಜನಪ್ರಿಯ ಹೆಗ್ಗುರುತುಗಳು, ರೆಸ್ಟೋರೆಂಟ್ಗಳು ಅಥವಾ ಸ್ಥಳೀಯ ಘಟನೆಗಳನ್ನು ಶಿಫಾರಸು ಮಾಡಬಹುದು.
ಜಾಗತಿಕ ಪರಿಗಣನೆಗಳು
ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗಾಗಿ ಶಿಫಾರಸು ಎಂಜಿನ್ಗಳನ್ನು ನಿರ್ಮಿಸುವಾಗ, ಕೆಳಗಿನ ಅಂಶಗಳನ್ನು ಪರಿಗಣಿಸುವುದು ಮುಖ್ಯ:
- ಸಾಂಸ್ಕೃತಿಕ ವ್ಯತ್ಯಾಸಗಳು: ಬಳಕೆದಾರರ ಆದ್ಯತೆಗಳು ವಿಭಿನ್ನ ಸಂಸ್ಕೃತಿಗಳಲ್ಲಿ ಗಮನಾರ್ಹವಾಗಿ ಬದಲಾಗಬಹುದು. ಈ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮತ್ತು ಅದಕ್ಕೆ ತಕ್ಕಂತೆ ಶಿಫಾರಸುಗಳನ್ನು ಮಾಡುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಯುಎಸ್ನಲ್ಲಿರುವ ಬಳಕೆದಾರರಿಗಾಗಿ ಆಹಾರ ಶಿಫಾರಸುಗಳು ಚೀನಾದ ಬಳಕೆದಾರರಿಗಾಗಿರುವ ಶಿಫಾರಸುಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿರಬಹುದು.
- ಭಾಷಾ ಬೆಂಬಲ: ವಿಭಿನ್ನ ಭಾಷಾ ಹಿನ್ನೆಲೆಯಿಂದ ಬಂದ ಬಳಕೆದಾರರನ್ನು ಪೂರೈಸಲು ಶಿಫಾರಸು ಎಂಜಿನ್ ಬಹು ಭಾಷೆಗಳನ್ನು ಬೆಂಬಲಿಸಬೇಕು.
- ಡೇಟಾ ಗೌಪ್ಯತೆ: ವಿಭಿನ್ನ ದೇಶಗಳಲ್ಲಿ ಡೇಟಾ ಗೌಪ್ಯತೆ ನಿಯಮಗಳನ್ನು ಅನುಸರಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ಯುರೋಪಿಯನ್ ಒಕ್ಕೂಟದಲ್ಲಿನ ಸಾಮಾನ್ಯ ದತ್ತಾಂಶ ಸಂರಕ್ಷಣಾ ನಿಯಂತ್ರಣ (GDPR) ಸಂಸ್ಥೆಗಳು ತಮ್ಮ ವೈಯಕ್ತಿಕ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುವ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವ ಮೊದಲು ಬಳಕೆದಾರರಿಂದ ಸ್ಪಷ್ಟ ಸಮ್ಮತಿಯನ್ನು ಪಡೆಯಬೇಕಾಗುತ್ತದೆ.
- ಸಮಯ ವಲಯಗಳು: ಶಿಫಾರಸುಗಳನ್ನು ನಿಗದಿಪಡಿಸುವಾಗ ಮತ್ತು ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸುವಾಗ ವಿಭಿನ್ನ ಸಮಯ ವಲಯಗಳನ್ನು ಪರಿಗಣಿಸಿ.
- ಪ್ರವೇಶಿಸುವಿಕೆ: ಅಂಗವಿಕಲತೆ ಹೊಂದಿರುವ ಬಳಕೆದಾರರಿಗೆ ಶಿಫಾರಸು ಎಂಜಿನ್ ಪ್ರವೇಶಿಸಬಹುದೆಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ತೀರ್ಮಾನ
ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ಶಿಫಾರಸು ಎಂಜಿನ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಒಂದು ಶಕ್ತಿಯುತ ತಂತ್ರವಾಗಿದೆ. ಮೂಲ ತತ್ವಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ ಮತ್ತು ಸರ್ಪ್ರೈಸ್ನಂತಹ ಪೈಥಾನ್ ಲೈಬ್ರರಿಗಳನ್ನು ಬಳಸುವ ಮೂಲಕ, ನೀವು ಬಳಕೆದಾರರ ಅನುಭವಗಳನ್ನು ವೈಯಕ್ತೀಕರಿಸುವ ಮತ್ತು ಒಳಗೊಳ್ಳುವಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸುವ ಪರಿಣಾಮಕಾರಿ ಶಿಫಾರಸು ವ್ಯವಸ್ಥೆಗಳನ್ನು ನಿರ್ಮಿಸಬಹುದು. ಹೈಪರ್ಪ್ಯಾರಾಮೀಟರ್ ಟ್ಯೂನಿಂಗ್, ನಿಯಂತ್ರಣ, ಕೋಲ್ಡ್ ಸ್ಟಾರ್ಟ್ ಸಮಸ್ಯೆಗಳನ್ನು ನಿರ್ವಹಿಸುವುದು ಮತ್ತು ಸ್ಕೇಲೆಬಿಲಿಟಿಯಂತಹ ಅಂಶಗಳನ್ನು ನಿಮ್ಮ ಶಿಫಾರಸು ಎಂಜಿನ್ನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಉತ್ತಮಗೊಳಿಸಲು ನೆನಪಿಡಿ. ಜಾಗತಿಕ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗಾಗಿ, ಧನಾತ್ಮಕ ಬಳಕೆದಾರರ ಅನುಭವವನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸಾಂಸ್ಕೃತಿಕ ವ್ಯತ್ಯಾಸಗಳು, ಭಾಷಾ ಬೆಂಬಲ, ಡೇಟಾ ಗೌಪ್ಯತೆ, ಸಮಯ ವಲಯಗಳು ಮತ್ತು ಪ್ರವೇಶಿಸುವಿಕೆಗೆ ಗಮನ ಕೊಡಿ.
ಮುಂದುವರಿದ ಪರಿಶೋಧನೆ
- ಸರ್ಪ್ರೈಸ್ ಲೈಬ್ರರಿ ಡಾಕ್ಯುಮೆಂಟೇಶನ್: http://surpriselib.com/
- MovieLens ದತ್ತಾಂಶ: https://grouplens.org/datasets/movielens/
- ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ ತಂತ್ರಗಳು: ಸಹಯೋಗಿ ಫಿಲ್ಟರಿಂಗ್ಗಾಗಿ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಫ್ಯಾಕ್ಟರೈಸೇಶನ್ನ ವಿಭಿನ್ನ ವ್ಯತ್ಯಾಸಗಳು ಮತ್ತು ಆಪ್ಟಿಮೈಸೇಶನ್ಗಳನ್ನು ಸಂಶೋಧಿಸಿ.