The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The Dolphins network dataset is provided as a gml file, containing 62 nodes and 159 edges.
# Start the timer
t1 <- system.time({
dataset_path <- system.file("extdata", "dolphins.gml", package = "arlclustering")
if (dataset_path == "") {
stop("dolphins.gml file not found")
}
g <- arlc_get_network_dataset(dataset_path, "Dolphins")
g$graphLabel
g$totalEdges
g$totalNodes
g$averageDegree
})
# Display the total processing time
message("Graph loading Processing Time: ", t1["elapsed"], " seconds\n")
#> Graph loading Processing Time: 0.0129999999999999 seconds
Next, we generate transactions from the graph, with a total rows of 53.
We obtain the apriori thresholds for the generated transactions. The following are the thresholds for the apriori execution: - The Minimum Support : 0.05 - The Minimum Confidence : 0.5 - The Lift : 13.25 - The Gross Rules length : 201 - The selection Ratio : 4
# Start the timer
t3 <- system.time({
params <- arlc_get_apriori_thresholds(transactions,
supportRange = seq(0.05, 0.07, by = 0.01),
Conf = 0.5)
params$minSupp
params$minConf
params$bestLift
params$lenRules
params$ratio
})
# Display the total processing time
message("Graph loading Processing Time: ", t3["elapsed"], " seconds\n")
#> Graph loading Processing Time: 0.044 seconds
We use the obtained parameters to generate gross rules, where we obtain 201 rules.
# Start the timer
t4 <- system.time({
minLenRules <- 1
maxLenRules <- params$lenRules
if (!is.finite(maxLenRules) || maxLenRules > 5*length(transactions)) {
maxLenRules <- 5*length(transactions)
}
grossRules <- arlc_gen_gross_rules(transactions,
minSupp = params$minSupp,
minConf = params$minConf,
minLenRules = minLenRules+1,
maxLenRules = maxLenRules)
#grossRules$TotalRulesWithLengthFilter
})
#> Apriori
#>
#> Parameter specification:
#> confidence minval smax arem aval originalSupport maxtime support minlen
#> 0.5 0.1 1 none FALSE TRUE 5 0.05 2
#> maxlen target ext
#> 201 rules TRUE
#>
#> Algorithmic control:
#> filter tree heap memopt load sort verbose
#> 0.1 TRUE TRUE FALSE TRUE 2 TRUE
#>
#> Absolute minimum support count: 2
#>
#> set item appearances ...[0 item(s)] done [0.00s].
#> set transactions ...[62 item(s), 53 transaction(s)] done [0.00s].
#> sorting and recoding items ... [46 item(s)] done [0.00s].
#> creating transaction tree ... done [0.00s].
#> checking subsets of size 1 2 3 4 done [0.00s].
#> writing ... [201 rule(s)] done [0.00s].
#> creating S4 object ... done [0.00s].
We filter out redundant rules from the generated gross rules. Next, we filter out non-significant rules from the non-redundant rules, and we obtain the 172 rule items.
t5 <- system.time({
NonRedRules <- arlc_get_NonR_rules(grossRules$GrossRules)
NonRSigRules <- arlc_get_significant_rules(transactions,
NonRedRules$FiltredRules)
#NonRSigRules$TotFiltredRules
})
# Display the total number of clusters and the total processing time
message("\nClearing rules Processing Time: ", t5["elapsed"], " seconds\n")
#>
#> Clearing rules Processing Time: 0.179 seconds
We clean the final set of rules to prepare for clustering. Then, we generate clusters based on the cleaned rules. The total identified clusters is 17 clusters.
t6 <- system.time({
cleanedRules <- arlc_clean_final_rules(NonRSigRules$FiltredRules)
clusters <- arlc_generate_clusters(cleanedRules)
#clusters$TotClusters
})
# Display the total number of clusters and the total processing time
message("Cleaning final rules Processing Time: ", t6["elapsed"], " seconds\n")
#> Cleaning final rules Processing Time: 0.0140000000000002 seconds
Finally, we visualize the identified clusters.
arlc_clusters_plot(g$graph,
g$graphLabel,
clusters$Clusters)
#>
#> Total Identified Clusters: 17
#> =========================
#> Community 01:2 8 14 26 58
#> Community 02:6 7 18 42
#> Community 03:7 10 14 18 42 58
#> Community 04:9 37
#> Community 05:10 14 18 55 58
#> Community 06:11 43
#> Community 07:15 17 21 34 38 39 41 44
#> Community 08:16 30 52
#> Community 09:17 34 35 39 41 44 51
#> Community 10:18 27 42 55
#> Community 11:19 22 25 30 46 52
#> Community 12:22 25 30 44 46 51 52
#> Community 13:34 38 39 53
#> Community 14:38 39 51 60
#> Community 15:42 55 58
#> Community 16:43 48
#> Community 17:44 53
#> =========================
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.