Exemple #1
0
def post():
    title = u"Train"
    if request.method == 'POST':
        mongo_server_ip = request.form['mongo_server_ip']
        mongo_server_port = request.form['mongo_server_port']
        jubatus_server_ip = request.form['jubatus_server_ip']
        jubatus_server_port = request.form['jubatus_server_port']
        db_name = request.form['db_name']
        collection_name = request.form['collection_name']
        # POSTで得られる値はstr型なのでintに変換する
        jubatus_server_port = int(jubatus_server_port)
        mongo_server_port = int(mongo_server_port)

        # jubaclassifierのtrainの実行および表示
        client = jubatus.Classifier(jubatus_server_ip, jubatus_server_port,
                                    name)
        lux_classifier = LuxClassifier()
        result_list = lux_classifier.train(client, mongo_server_ip,
                                           mongo_server_port, db_name,
                                           collection_name)

        # データフレームの取得
        convert_mongo = convertMongo()
        train_sensors_dic = convert_mongo.getTrainSensorsDic(
            mongo_server_ip, mongo_server_port, db_name, collection_name)
        data_frame = convert_mongo.getTable(train_sensors_dic)
        # とりあえずターミナル上に表示
        print data_frame

        return render_template('index.html',
                               title=title,
                               jubatus_server_ip=jubatus_server_ip,
                               jubatus_server_port=jubatus_server_port,
                               mongo_server_ip=mongo_server_ip,
                               mongo_server_port=mongo_server_port,
                               result_list=result_list)
    else:
        # エラーなどでリダイレクトしたい場合はこんな感じで
        print train_sensor_data
        return redirect(url_for('hello'))
Exemple #2
0
def post():
    title = u"Train"
    if request.method == 'POST':
        mongo_server_ip     = request.form['mongo_server_ip']
        mongo_server_port   = request.form['mongo_server_port']
        jubatus_server_ip   = request.form['jubatus_server_ip']
        jubatus_server_port = request.form['jubatus_server_port']
        db_name             = request.form['db_name']
        collection_name     = request.form['collection_name']
        # POSTで得られる値はstr型なのでintに変換する
        jubatus_server_port = int(jubatus_server_port)
        mongo_server_port   = int(mongo_server_port)
        
        # jubaclassifierのtrainの実行および表示
        client = jubatus.Classifier(jubatus_server_ip, jubatus_server_port, name)
        lux_classifier = LuxClassifier()
        result_list = lux_classifier.train(client, mongo_server_ip, mongo_server_port, db_name, collection_name)

        # データフレームの取得
        convert_mongo     = convertMongo()
        train_sensors_dic = convert_mongo.getTrainSensorsDic(mongo_server_ip,
                                                             mongo_server_port,
                                                             db_name,
                                                             collection_name)
        data_frame = convert_mongo.getTable(train_sensors_dic)
        # とりあえずターミナル上に表示
        print data_frame

        return render_template('index.html',
                               title               = title,
                               jubatus_server_ip   = jubatus_server_ip,
                               jubatus_server_port = jubatus_server_port,
                               mongo_server_ip     = mongo_server_ip,
                               mongo_server_port   = mongo_server_port,
                               result_list         = result_list)
    else:
        # エラーなどでリダイレクトしたい場合はこんな感じで
        print train_sensor_data
        return redirect(url_for('hello'))
Exemple #3
0
#!/usr/bin/env python
# coding: utf-8

host = '127.0.0.1'
port = 9199
name = 'test2'

import sys
import json
import random
import jubatus
from jubatus.common import Datum
from getmongo import convertMongo 
from getpre import preMongo

getmongo = convertMongo()

def train(client):
    train_sensors_dic = getmongo.getTrainSensorsDic()
    train_sensor_data = []
    value = 0

    for line in train_sensors_dic:
        value  = train_sensors_dic[line]['Value']
        result = train_sensors_dic[line]['Result']
        train_sensor_data.append((result, Datum({'Value': value})))

    # training data must be shuffled on online learning!
    random.shuffle(train_sensor_data)

    # run train
Exemple #4
0
from pymongo import MongoClient
from getmongo import convertMongo 

NAME = "lux";

if __name__ == '__main__':

    con = MongoClient('172.16.4.84', 27017)
    db = con.sensordb
    col = db.anomaly

    # 1.Jubatus Serverへの接続設定
    anom = client.Anomaly("127.0.0.1",9199,NAME)

    # 2.学習用データの準備
    mongo_dic =  convertMongo()
    dic = mongo_dic.getDic()
    name = '' 
    value = 0
    for line in dic:
        name = dic[line]['name']
        value = dic[line]['value']
        datum = Datum()

        # for (k, v) in [
        #         ['name', name],
        #         ]:
        #     datum.add_string(k, v)
        
        for (k, v) in [
                ['value', value],
# coding: utf-8

# host = '192.168.33.10'
host = '127.0.0.1'
port = 9199
name = 'test2'

import sys
import json
import random
import jubatus
from jubatus.common import Datum
from getmongo import convertMongo 
from getpre import preMongo

getmongo = convertMongo()

class LuxClassifier():

    def train(self, client, mongo_ip, mongo_port, db_name, collection_name):
        train_sensors_dic = getmongo.getTrainSensorsDic(mongo_ip, mongo_port,
                                                        db_name,  collection_name)
        train_sensor_data = []
        value = 0

        for line in train_sensors_dic:
            value  = train_sensors_dic[line]['Value']
            result = train_sensors_dic[line]['Result']
            train_sensor_data.append((result, Datum({'Value': value})))

        # training data must be shuffled on online learning!