KMeans for crime patterns
Welcome to the site!

As you know KMeans is an Unsupervised learning and it helps you to find out if there are any patterns in the data. Yes, the procedure which you are following to find some commonality/patterns in the data. But this is not generally used for prediction. FYI you can use K-means for predicting too, recently I came across that but I don't know whether it would yield the desired results. 

If the data is categorical you need to apply One-Hot Encoding, which converts the categorical data into numeric, you can go through the link for better understanding. If not so you cannot apply K-Means algorithm.

If you cannot convert the categorical data into numeric data then you can use this package ClustMixType this is in R and you can use KMODES in Python.

If you have your target variable ready, as you haven't mentioned the data target variable, if the target variable is Numeric you can use 


Neural Network 
Regression
SVM
Random Forest and many more


if the target variable is Binary(is he a criminal yes/no)


Neural Network
SVM
Logistic Regression
Random Forest
Naive Bayes Classifier
KNN and many more.


Please go through this Link, for better understanding on Mixed Data type Clustering 

Let me know if you need any help.