predictive-technology-laboratory / asymmetric-threat-tracker Goto Github PK
View Code? Open in Web Editor NEWSpatiotemporal Crime Prediction Software
Home Page: http://matthewgerber.github.io/asymmetric-threat-tracker
License: Apache License 2.0
Spatiotemporal Crime Prediction Software
Home Page: http://matthewgerber.github.io/asymmetric-threat-tracker
License: Apache License 2.0
Handling the selection of colors isn't very good. Predictions can change colors over the course of using / deleting predictions. Fixing the colors for a prediction and storing them in the database would be nice.
Pull out the threat surface drawing functionality from the GUI project into the ATT library.
Records in the ShapefileGeometry table now have a time field to accommodate events and other spatial objects with a temporal dimension. When computing the density of such elements in a TimeSlice model, only those elements with a time in the current time slice should be used. The FeatureBasedDCM class will need to change so that it doesn't extract the density features if it's the parent object of a TimeSliceDCM.
Currently, we only allow a single external feature extractor within FeatureBasedDCM. It would be nice to multiple could be defined in the configuration and used.
Allow the input of raster features.
Create a NuGet package for the ATT library.
Since importers can be saved and shared, the importer paths should be relativized (e.g., to the "Data" or "Crimes" directories) to facilitate maximum portability.
If prediction points are turned on for a prediction, and then the display is switched to a new prediction, prediction points will still be displayed even though the box is not checked.
With many areas, the AreaBoundingBoxes? table could become huge and even with indexes could perform poorly. Create a table for each area, e.g., area_bounding_boxes_[area id] that can be quickly indexed.
It's possible to safely do some things in the GUI while a prediction is running; however, the GUI places no restrictions on this. Running multiple predictions simultaneously is probably dangerous, but I don't know for sure. Identify which things can be done in parallel and make the UI enforce interaction restrictions.
Allow the user to collapse incidents when building/running models.
Create a minimal working example of how to create a prediction via calls to the API.
Feature selection isn't currently supported with the SVM-Rank classifier. Need to add it.
Allow multiple formats.
The x-coordinates of the surveillance plots should be identical between the KDE and DCM models given the same prediction parameters, but they're different for some reason. This defeats the display of series differences, the computation of which requires identical x-coordinates.
Need to add unit tests to all parts of code.
If a new connection is opened via DB.Connection and something goes awry, the connection might not get returned to the pool if the exception isn't caught with try-finally. Search out all cases and use try-finally to return connection to pool.
Configuration editing is currently a manual process. It's not exactly easy. Create a GUI window for creating / editing / exporting / restoring configurations.
We currently generate positive points and negative points, and we require that the latter cannot exactly intersect the former; however, exact matches are incredibly rare. The better solution might be to require negative points to be a certain distance from the closest positive point. This could be a user-determined threshold.
The data size associated with TimeSliceDCM models will probably explode AdaBoost or RandomForest classifiers, but we don't know. Need to investigate.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.