• 2. Surprize kutubxonasidagi kolloborativ filtrlash misoli
  • Kolloborativ filtrlash misoli




    Download 5,69 Mb.
    bet118/182
    Sana19.05.2024
    Hajmi5,69 Mb.
    #244351
    1   ...   114   115   116   117   118   119   120   121   ...   182
    Bog'liq
    Python sun\'iy intellekt texnologiyasi Dasrlik 2024

    1. 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.



    Download 5,69 Mb.
    1   ...   114   115   116   117   118   119   120   121   ...   182




    Download 5,69 Mb.