0
誰かが次のことをするうえで効果的な方法を作成できますか?:ベストレーティングランキングのユーザーを見つけよう
いくつかのユーザーがいくつかの異なる項目を評価しています。
ユーザーに良いおすすめを提供するには、似たようなユーザーを見つける必要があります。だから私は似たような好みの他のユーザーから高い評価を得たアイテムを推薦することができます。
私のデータは、Entity Frameworkでマップされたデータベースからのものです。
私は動作しているアルゴリズムを持っていますが、多くのループを実行するのは難しいです。何か案は?
/ケント
namespace ConsoleApplication1
{
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
const int NoOfUsers = 100;
const int NoOfRatingsPerUser = 100;
const int NoOfDifferentItems = 100;
var listOfRatings = new List<Rating>();
var r = new Random();
for (int user = 0; user < NoOfUsers; user++)
{
for (int ratingsPerUser = 0; ratingsPerUser < NoOfRatingsPerUser; ratingsPerUser++)
{
var rating = new Rating();
rating.Score = r.Next(1, 10);
rating.ItemId = r.Next(1, NoOfDifferentItems);
rating.UserId = user;
listOfRatings.RemoveAll(x => x.UserId == user && x.ItemId == rating.ItemId);
listOfRatings.Add(rating);
}
}
Console.ReadLine();
}
struct Rating
{
public int ItemId;
public int Score;
public int UserId;
}
}
}
これは実際にLINQまたはEFの質問ではありません。あなたがする必要があるのは、マッチングアルゴリズムを計画する(または助けを求める)ことです。そのアルゴリズムを取得したら、特定のテクノロジ(LINQなど)を実装するための支援を依頼できます。 –
あなたが投稿したコードは、あなたの質問に記述しているものに全く対応していないようです。さらに、このコードは何も役に立たないようではありません - その目的を説明できますか?そして、ここに関連する部分を投稿することができますか?書き直したい部分、できればコメントを投稿することができますか? –