Je dois faire un recommandeur basé sur une base de données Yelp, j'ai filtré les avis d'affaires et l'utilisateur et créé un realRatingMatrix
avec les évaluations des utilisateurs pour les entreprises respectives. Même si la matrice sera gigantesque, je ne fais que tester d'abord avec une très petite matrice (matrice mdat
).Mauvaise sortie dans la fonction de prédiction du paquet R 'recommanderlab'?
#learning matrix
learningM <- as(mdat[1:8,],"realRatingMatrix")
# matrix to predict user recommendations
testM <- as(mdat[9:10,],"realRatingMatrix")
#using the learning matrix to create a UBCF recommender
rec <- Recommender(learningM, method = "UBCF")
#function that should output 2 business recommendations to users of testM
pre <- predict(rec, testM, n=2)
Au lieu de cela je reçois une sortie comme ceci:
> as(pre,"list")
[[1]]
character(0)
[[2]]
character(0)
Pourquoi ai-je cette sortie? La fonction predict
calcule-t-elle des résultats erronés, fournissant ainsi une sortie erronée ou mon nom de colonne métier est-il un type de texte différent, de sorte qu'il ne peut pas l'afficher correctement?
Modifier: mdat
matrice comme demandé, désolé de ne pas le mettre à la première place.
> dput(mdat)
structure(c(1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 4, NA,
NA, NA, NA, NA, NA, NA, NA, NA, NA, 5, NA, NA, NA, NA, NA, NA,
NA, NA, NA, NA, 4, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 3,
NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 1, NA, NA, NA, NA, NA,
NA, NA, NA, NA, NA, 4, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
3, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, 5, NA, NA, NA, NA,
NA, NA, NA, NA, NA, NA, 5), .Dim = c(10L, 10L), .Dimnames = list(
c("jqhP9mV2rYvmPdKvlOfp0g", "tqkkmL2NB19Sxeg1AaXnSA", "cNMJxBzmXA9N7krLvlrzlA",
"9v3uIUTitC043Y4Qs54K1g", "nLUwyI34R-cAHLnmEGeLIg", "6SUSTwhfSFva9nbIDmoN7Q",
"iCppbv3C7XvCyzIZnNQ7fg", "MUo7TLgR7sy1ob0MvxyPHQ", "GMVQyHMHNGplG3aof8jMcA",
"VNGevHJuTxcou-Nhm8Q5RQ"), c("iZYDZvXoIT648EZOnEP0pQ", "HQJjHA6BRcRD0vR5askdkQ",
"bul_5Ahk_QYLUAJ4Od27jg", "EOoj2h1Brzk1AhqScvIHDA", "roEQNfyPi3jRv3WFFr-f_g",
"ffp58kYSK7dJGs5ER-5txw", "pvlM--HZY1a8SqMXiwEz1A", "mta3FuoNzjjGWQr9TCHGhA",
"QeK3lOP-CTZS72YgeXiiqA", "57VozB9tq5SbNst9nO-jxA")))
L'erreur est que personne ne peut répondre sans les données. Publication de la sortie de 'dput (mdat)' –
La matrice @BondedDust a été ajoutée. – Vitz
La plupart des données sont NA et il n'y a pas de chevauchement dans les dimnames des ensembles d'apprentissage et de test. Il n'y a donc rien dans l'ensemble d'apprentissage qui pourrait être utilisé pour calculer de manière similaire les caractéristiques des ensembles d'apprentissage et de test. –