|
Kolloborativ filtrlash misoli
|
bet | 118/182 | Sana | 19.05.2024 | Hajmi | 5,69 Mb. | | #244351 |
Bog'liq Python sun\'iy intellekt texnologiyasi Dasrlik 20241. Kolloborativ filtrlash misoli:
Kolloborativ filtrlashda, foydalanuvchilar o‘rtasida o‘zaro ta’sirni topish uchun Nearest Neighbors algoritmini ishlatamiz. Ushbu misol IMDb saytidagi film reytinglarini qo‘llaydi.
import pandas as pd
from sklearn.neighbors import NearestNeighbors
# Ma’lumotlarni yuklab olish (https://www.kaggle.com/carolzhangdc/imdb-5000-movie-dataset)
df = pd.read_csv('movie_metadata.csv')# Modelni o‘rnating
knn_model = NearestNeighbors(metric='cosine’, algorithm='brute’, n_neighbors=5)
knn_model.fit(df[['imdb_score’, 'num_critic_for_reviews']])
# Foydalanuvchi uchun tavsiyalar olish
user_input = [[8.0, 200]] # Foydalanuvchi reytingi va kritik reytinglar soni
distances, indices = knn_model.kneighbors(user_input)# Tavsiyalar
recommendations = df.iloc[indices[0]]['movie_title’]
print(recommendations)
Bu misolda, foydalanuvchining filmni baholash (IMDb reytingi) va kritik reytinglar soni asosida boshqa filmni tavsiya qilamiz.
2. Surprize kutubxonasidagi kolloborativ filtrlash misoli:
Surprize kutubxonasini ishlatish orqali kolloborativ filtrlash modelini o‘qitish va test qilishni ko‘ramiz.
from surprise import Dataset, Reader
from surprise.model_selection import train_test_split
from surprise import KNNBasic
from surprise import accuracy # Ma’lumotlarni yuklab olish
reader = Reader(rating_scale=(1, 10))
data = Dataset.load_builtin('ml-100k')# Ma’lumotlarni train va test qismiga ajratib olish
trainset, testset = train_test_split(data, test_size=0.2)
# Kolloborativ filtrlash modelini o‘rnating
sim_options = {'name’: 'cosine’, 'user_based': False}
model = KNNBasic(sim_options=sim_options)
model.fit(trainset) # Modelni test qilish
predictions = model.test(testset) # Baholash
accuracy.rmse(predictions)
Bu misolda, MovieLens datasetida joylashgan ma’lumotlarni ishlatib kolloborativ filtrlash modelini o‘qitamiz va keyingi test qismida modelni baholaymiz.
Bu misollar sizga Python tilida tavsiyalar tizimini qanday ishlab chiqishni va test qilishni ko‘rish uchun bir tushunarliq beradi. Barcha ma’lumotlar va kutubxonalarga to‘liq e’tibor qilishingiz, o‘zingizning maqsadlaringizga mos bo‘lgan misollar yaratishda yordam beringiz mumkin.
Xulosa
Pythonning sun’iy intellektga asoslangan tavsiyalar tizimini ishlab chiqishdagi roli bilan bog’liq asosiy fikrlarni ta’kidlash mumkin:
Python-ning asosiy roli: Python sun’iy intellekt va mashinali o‘qitishda eng mashhur dasturlash tillaridan biridir. Uning soddaligi, moslashuvchanligi va keng kutubxonalari tavsiya tizimlarini yaratish uchun ajoyib tanlovdir.
Shaxsiylashtirilgan tavsiya tizimlari: Python shaxsiylashtirilgan tavsiya tizimlarini yaratish uchun samarali vositalarni taqdim etadi. Hamkorlikdagi filtrlash yoki tarkibga asoslangan usullar kabi turli xil mashinalarni o‘rganish usullaridan foydalangan holda tavsiyalarni har bir Foydalanuvchining o‘ziga xos ehtiyojlariga moslashtirish mumkin.
Mashinali o‘qitish algoritmlaridan foydalanish: Python turli xil mashinalarni o‘rganish algoritmlarini amalga oshirishni osonlashtiradigan scikit-learn, TensorFlow va PyTorch kabi kutubxonalarning boy to‘plamini taqdim etadi. Bunga modellarni o‘qitish, foydalanuvchilarning afzalliklarini bashorat qilish va yangi ma’lumotlarga asoslangan tizimni doimiy ravishda yangilash kiradi.
Tavsiya tizimi integratsiyasi: Python boshqa texnologiyalar bilan yaxshi mos keladi va turli tizimlar bilan muammosiz birlashadi. Bu tavsiya tizimini mavjud infratuzilmaga muvaffaqiyatli integratsiya qilish imkoniyatini beradi.
|
| |