This project uses Django to provide RESTful Web Services for data mining in your app. Created by Zhenyi Tang.
django-data-mining is a powerful and flexible server which provides a simple yet highly extensible architecture.
It is hard to add up some python based data mining functions to an exsiting back-end server(Node.js). Although Node.js provides a "child_process" module to run a python script and uses "stdout" to listen for the output, it has a poor scalability and difficult to debug. This project sets up a python server to run the data mining functions and return the output to the back-end in a JSON form.
- Cluster
- k-means
- hierarchical clustering
- Neural network
- artificial neural networks
- Long short-term memory
- Recommendation
- collaborative filtering
Let's pretend you want to add up some other functions to this server.
First, create a new app:
$ python manage.py startapp APP_NAME
Second, append this app to INSTALLED_APPS list in server/settings.py
INSTALLED_APPS = [
# Append the APP_NAME at the end of this array
]
Now, create an "urls.py" file in the directory of your new app ( ) and include it to the project. Here is the urlpatterns of your new app.
# File path: APP_NAME/urls.py
from django.urls import path
from . import views
#
urlpatterns = [
path('RELETIVE_PATH', views.FUNCTION_NAME),
]
# File path: server/urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
# include the above patterns here
path('APP_NAME/', include('APP_NAME.urls')),
]
When you send a request to "APP_NAME/RELETIVE_PATH" the server will call the FUNCTION_NAME now.