k means in python
import numpy as np
import pandas as pd
from scipy.spatial.distance import pdist, squareform
num_instances = int(input("Enter number of instances (rows): "))
num_attributes = int(input("Enter number of attributes (columns): "))
data = []
for i in range(num_instances):
print(f"\nEnter values for Instance {i+1}:")
row = []
for j in range(num_attributes):
value = float(input(f" Attribute {j+1}: "))
row.append(value)
data.append(row)
df = pd.DataFrame(data, columns=[f'Attribute{j+1}' for j in range(num_attributes)])
print("\nDataset:")
print(df)
dissimilarity = pdist(df.values, metric='euclidean')
dissimilarity_matrix = squareform(dissimilarity)
instance_labels = [f'Instance{i+1}' for i in range(num_instances)]
dissimilarity_df = pd.DataFrame(dissimilarity_matrix, index=instance_labels, columns=instance_labels)
print("\nDissimilarity Matrix:")
print(dissimilarity_df)
"""
OUTPUT:
Enter number of instances (rows): 4
Enter number of attributes (columns): 2
Enter values for Instance 1:
Attribute 1: 2
Attribute 2: 3
Enter values for Instance 2:
Attribute 1: 5
Attribute 2: 8
Enter values for Instance 3:
Attribute 1: 1
Attribute 2: 2
Enter values for Instance 4:
Attribute 1: 6
Attribute 2: 7
Dataset:
Attribute1 Attribute2
0 2.0 3.0
1 5.0 8.0
2 1.0 2.0
3 6.0 7.0
Dissimilarity Matrix:
Instance1 Instance2 Instance3 Instance4
Instance1 0.000000 5.830952 1.414214 5.656854
Instance2 5.830952 0.000000 7.211103 1.414214
Instance3 1.414214 7.211103 0.000000 7.071068
Instance4 5.656854 1.414214 7.071068 0.000000
"""
Comments
Post a Comment