This document discusses using data mining techniques for crime analysis and prediction. It describes collecting unstructured crime data from various sources and storing it in a NoSQL database. Classification algorithms like Naive Bayes are used to classify crime reports. Apriori algorithm identifies patterns in past crimes. A decision tree is used for prediction. Visualization tools like heat maps, graphs and Neo4j are used to display crime patterns, rates and profiles over time and locations. Future work involves using these techniques for criminal profiling.