The code shown below reads the phi and psi values from the given dataset and creates a scatter plot based on the two columns. Below that, there is a generated heatmap based on the same values.
In order to experiment with different values for K, I created models with k = 2, 3, 4, 5, 6, and 7, and plotted an elbow graph to see which value of k seems to be appropreate.
The code below represents the shifting of the phi and psi angles in order to try and achieve better and more reasonable clustering. Upon experimenting with different angles to shift the phi and psi values by, the following values shown in the code seem to be the combination that provides a higher silhouette score and visually better clustering according to the corresponding plot. With the exception of some points, clusters are more cohesive now and there are seemingly fewer outliers towards the limits of the plot.
This decision for k=3 is further validated below by calculating the silhouette scores for the 3 k-means models with k=2, 3 and 4 respectively. With the silhouette score ranging from -1 to 1, a score as close to 1 is ideal to represent that the clustering is correct, and that datapoints are dense and close to their corresponding cluster center, without much if any overlap between clusters (this would reduce the score closer to 0). As shown below in the silhouette score prints, the score for k=3 is the highest one out of the 3, and is approaching 0.7, which shows a reasonable, fairly well-delimited clustering.