
import pandas as pd
from sklearn import preprocessing

# Read the data
vote = pd.read_csv('../../house_votes_84_data.csv')

# select coloumns for analis
col_rank = vote.columns.delete(0).insert(0, 'group')
print(col_rank)

# encoding data
ordinal_encoder = preprocessing.OrdinalEncoder(dtype=int)
vote = pd.DataFrame( ordinal_encoder.fit_transform(vote), columns=col_rank )

print('\n', vote)

data = vote.drop('group', axis=1)


#--------------------------------------------------
# Importing Libraries
from kmodes.kmodes import KModes
print('\n')
print('\n')

#Using K-Mode with "Cao" initialization
km_cao = KModes(n_clusters=2, init = "Cao", n_init = 1, verbose=1)
fitClusters_data = km_cao.fit_predict(data)
print('\n')
print(fitClusters_data)

clusterCentroidsDf = pd.DataFrame(km_cao.cluster_centroids_)
clusterCentroidsDf.columns = data.columns
print(clusterCentroidsDf)

res = fitClusters_data == vote['group']
print('\n', res.sum()/len(res))
