Exemplo n.º 1
0
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============================================================================
"""Example for Social Bayesian Personalized Ranking with Epinions dataset"""

import cornac
from cornac.data import Reader, GraphModule
from cornac.datasets import epinions
from cornac.eval_methods import RatioSplit

ratio_split = RatioSplit(data=epinions.load_data(Reader(bin_threshold=4.0)),
                         test_size=0.1,
                         rating_threshold=0.5,
                         exclude_unknowns=True,
                         verbose=True,
                         user_graph=GraphModule(data=epinions.load_trust()))

sbpr = cornac.models.SBPR(k=10,
                          max_iter=50,
                          learning_rate=0.001,
                          lambda_u=0.015,
                          lambda_v=0.025,
                          lambda_b=0.01,
                          verbose=True)
rec_10 = cornac.metrics.Recall(k=10)
Exemplo n.º 2
0
 def test_load_data(self):
     # only run data download tests 20% of the time to speed up frequent testing
     random.seed(time.time())
     if random.random() > 0.8:
         self.assertEqual(len(epinions.load_data()), 664824)