Sobes.tech
Middle — Senior

Ինչպես ստանալ առաջարկություններ փոխազդեցության մատրիցից?

sobes.tech AI

Պատասխան AI-ից

Հարաբերության մատրիցային (օրինակ, օգտվող-մասին) առաջարկությունները կարելի է ստանալ համագործակցային ֆիլտրացման մեթոդների միջոցով: Հիմնական մոտեցումները:

  1. Մատրիցային ֆակտորիզացիա — հարաբերությունների մատրիցան բաժանվում է երկու ցածր չափի գործոնների (օգտագործողների և արտադրանքի հատկությունների մատրիցաներ): Այնուհետև, անհայտ գնահատականները կարող են կանխատեսվել համապատասխան վեկտորների սքալարային արտադրյալով:

  2. Համոզված հարևանների մեթոդներ — օգտագործողների կամ արտադրանքների միջև նմանության հաշվարկ (օրինակ, կոսինուս նմանություն) և առաջարկություններ՝ հիմնված նման օգտվողների կամ նման արտադրանքների նախընտրությունների վրա:

Python և surprise գրադարանի միջոցով մատրիցային ֆակտորիզացիայի օրինակ:

from surprise import Dataset, Reader, SVD
from surprise.model_selection import train_test_split

# Օրինակ տվյալներ՝ user_id, item_id, rating
ratings_dict = {'userID': ['A', 'A', 'B', 'B'],
                'itemID': ['1', '2', '2', '3'],
                'rating': [5, 3, 4, 2]}

reader = Reader(rating_scale=(1, 5))
data = Dataset.load_from_df(pd.DataFrame(ratings_dict), reader)
trainset, testset = train_test_split(data, test_size=0.25)

algo = SVD()
algo.fit(trainset)
predictions = algo.test(testset)

for pred in predictions:
    print(f'Օգտագործող: {pred.uid}, Ապրանք: {pred.iid}, Նախատեսված գնահատականը: {pred.est:.2f}')

Այսպիսով, հարաբերությունների մատրիցան ծառայում է որպես հիմք՝ կառուցելու մոդել, որը կանխատեսում է օգտվողի հնարավոր հետաքրքրությունները և առաջարկություններ ստեղծում: