Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #install.packages("clusterCrit")
- library(clusterCrit)
- library(cluster)
- # HEADERS
- iris_headers = c("sepal_length", "sepal_width", "petal_length", "petal_width", "class")
- wine_headers = c("class", "Alcohol", "Malic_acid", "Ash", "Alcalnity_of_ash", "Magnesium", "Total_phenols", "Flavanoids", "Nonflavanoid_phenols", "Proanthocyanins", "Color_intensity", "Hue", "OD280/OD315_of_diluted_wines", "Proline")
- glass_headers = c("Id", "Refractive_index", "Na", "Mg", "Al", "Si", "K", "Ca", "Ba", "Fe", "class")
- diabetes_headers = c("Pregnant_times", "Plasma_glucose", "Blood_pressure", "Triceps_skin_thickness", "Serum_insulin", "BMI",
- "Diabetes_pedigree", "Age", "class")
- get_data <- function(datasetName, dataset) {
- switch(datasetName,
- "iris" = {
- data <- dataset[ ,1:4]
- },
- "wine" = {
- data <- dataset[ ,2:13]
- },
- "glass" = {
- data <- dataset[ ,2:10]
- },
- "diabetes" = {
- data <- dataset[ ,1:8]
- })
- return (data)
- }
- get_class <- function(datasetName, dataset) {
- switch(datasetName,
- "iris" = {
- class <- dataset[, 5]
- },
- "wine" = {
- class <- dataset[, 1]
- },
- "glass" = {
- class <- dataset[, 11]
- },
- "diabetes" = {
- class <- dataset[, 9]
- })
- return (class)
- }
- load_dataset <- function(filename, headers) {
- dataset <- read.csv(filename, header = FALSE)
- colnames(dataset) <- headers
- return (dataset)
- }
- calculateCriterias <- function(data, cl) {
- intCrit <- intCriteria(data, cl$cluster, c("Davies_Bouldin", "Dunn", "Silhouette"))
- # extCrit <- extCriteria(classes, cl$cluster, c("Rand"))
- return(intCrit)
- # return(c(intCrit))
- }
- clasterise_kmeans <- function(dataset, numberOfClusters){
- return(kmeans(dataset, numberOfClusters))
- }
- clasterise_pam <- function(dataset, numberOfClusters){
- return(pam(dataset, numberOfClusters))
- }
- #DATASETS
- # iris <- load_dataset("iris.csv", iris_headers)
- # wine <- load_dataset("wine.csv", wine_headers)
- # glass <- load_dataset("glass.csv", glass_headers)
- diabetes <- load_dataset("diabetes.csv", diabetes_headers)
- # iris_data = get_data("iris", iris)
- # iris_class = get_class("iris", iris)
- # wine_data = get_data("wine", wine)
- # wine_class = get_class("wine", wine)
- # glass_data = get_data("glass", glass)
- # glass_class = get_class("glass", glass)
- diabetes_data = get_data("diabetes", diabetes)
- diabetes_class = get_class("diabetes", diabetes)
- #MAIN
- data = diabetes_data
- class = diabetes_class
- number_of_clusters = 3
- data_matrix <- matrix(unlist(data), ncol = length(data), byrow = TRUE)
- kmeans_cl <- clasterise_kmeans(data, number_of_clusters)
- pam_cl <- clasterise_pam(data, number_of_clusters)
- kmeans_criterias <-calculateCriterias(data_matrix, kmeans_cl)
- pam_criterias <-calculateCriterias(data_matrix, pam_cl)
- print(kmeans_criterias)
- print(pam_criterias)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement