Skip to content

Commit

Permalink
Added v0.61 source
Browse files Browse the repository at this point in the history
  • Loading branch information
lukaslerche committed Jan 30, 2023
0 parents commit 662afe0
Show file tree
Hide file tree
Showing 164 changed files with 25,022 additions and 0 deletions.
107 changes: 107 additions & 0 deletions build.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
<project default="run" name="Recommender101">

<!-- Set the classpath -->
<property name="lib.dir" value="lib"/>
<property name="dist.dir" value="dist"/>
<property name="build.dir" value="build"/>
<property name="jar.file" value="recommender101.jar"/>
<path id="classpath">
<fileset dir="${lib.dir}" includes="**/*.jar"/>
</path>

<!-- Cleaning -->
<target name="clean">
<delete dir="build"/>
<delete dir="bin"/>
<delete dir="dist"/>
</target>

<!-- Update Source from SVN -->
<target name="svnupdate">
<exec executable="svn.exe">
<arg value="update"/>
<arg value="https://ls13-www.cs.uni-dortmund.de/svn/recommender101-core"/>
</exec>
</target>

<!-- Create distributable ZIP file -->
<target name="createDistro">
<echo message="Creating distribution package"/>
<delete dir="${dist.dir}"/>
<mkdir dir="${dist.dir}"/>

<antcall target="compile"/>
<antcall target="jar"/>

<copy todir="dist/src">
<fileset dir="src">
<exclude name="**/*.svn"/>
</fileset>
</copy>
<copy todir="dist/.settings">
<fileset dir=".settings"/>
</copy>
<copy todir="dist/lib">
<fileset dir="lib"/>
</copy>
<copy todir="dist/data">
<fileset dir="data">
<exclude name="**/*.txt"/>
</fileset>
</copy>
<copy todir="dist/conf">
<fileset dir="conf"/>
</copy>
<copy file=".classpath" todir="dist"/>
<copy file=".project" todir="dist"/>
<copy file="build.xml" todir="dist"/>
<copy file="license.txt" todir="dist"/>
<copy file="run.sh" todir="dist"/>

<zip destfile="dist/recommender101.zip" basedir="dist"/>
</target>

<!-- Compile source -->
<target name="compile">
<mkdir dir="bin"/>
<javac srcdir="src" destdir="bin" classpathref="classpath" includeAntRuntime="false">
<compilerarg value="-Xlint:unchecked" />
</javac>
</target>

<!-- Create jar -->
<target name="jar">
<mkdir dir="build/jar"/>
<jar destfile="build/jar/${jar.file}" basedir="bin">
<manifest>
<attribute name="Main-Class" value="org.recommender101.Recommender101"/>
</manifest>
</jar>
</target>

<!-- Run jar -->
<target name="run-jar">
<java classname="org.recommender101.Recommender101" fork="true" >
<jvmarg value="-Xmx1024m"/>
<arg value="${filename}"/>
<classpath>
<fileset dir="lib">
<include name="**/*.jar" />
</fileset>
<fileset dir="build">
<include name="**/*.jar" />
</fileset>
</classpath>
</java>
</target>

<!-- Compile, jar and run with default property file -->
<target name="run">
<antcall target="compile"/>
<antcall target="jar"/>
<antcall target="run-jar">
<param name="filename" value="conf/recommender101.properties"/>
</antcall>
</target>

</project>
55 changes: 55 additions & 0 deletions conf/recommender101.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
############################
############################
## THE CONFIGURATION FILE ##
############################
############################

###### Minimal Sample ######



########
# Data #
########

# The class to load and parse the data, as well as the path to the data. Class can be extended to implement own behavior.
DataLoaderClass=org.recommender101.data.DefaultDataLoader:filename=data/movielens/MovieLens100kRatings.txt|sampleNUsers=100

# Set the rating scale according the parsed dataset.
GlobalSettings.minRating = 1
GlobalSettings.maxRating = 5

# Specify the minimum rating that will be considered a hit.
GlobalSettings.listMetricsRelevanceMinRating = 5

# The class to split the data into train and test splits. It must implement the DataSplitterInterface.
# The default behavior is n-fold cross-validation.
DataSplitterClass=org.recommender101.data.DefaultDataSplitter:nbFolds=5

##############
# Algorithms #
##############

# List the algorithms that should be evaluated. They must extend the AbstractRecommender class.
# Parameters can be set as arguments. If an argument is missing, a default value is used.
AlgorithmClasses=\
org.recommender101.recommender.extensions.funksvd.FunkSVDRecommender:numFeatures=50|initialSteps=50,\
org.recommender101.recommender.extensions.slopeone.SlopeOneRecommender

###########
# Metrics #
###########

# Specify the global setting for top-N that will be used by, e.g., precision and recall
# It can be set individually for each metric as an argument
GlobalSettings.topN = 10

# List the metrics to be measured. They must implement either the PredictionEvaluator or RecommendationListEvaluator interface
Metrics =\
org.recommender101.eval.metrics.Precision,\
org.recommender101.eval.metrics.Recall,\
org.recommender101.eval.metrics.F1,\
org.recommender101.eval.metrics.NDCG,\
org.recommender101.eval.metrics.MRR,\
org.recommender101.eval.metrics.MAE,\
org.recommender101.eval.metrics.RMSE
Loading

0 comments on commit 662afe0

Please sign in to comment.