2017-02-06 14 views
5

Github liên kết của luminol Thư viện: https://github.com/linkedin/luminollàm việc ví dụ về luminol bất thường Detection Và Tương Library By Linkedin

bất cứ ai có thể giải thích cho tôi với một mẫu mã, làm thế nào để sử dụng mô-đun này cho việc tìm kiếm dị thường trong tập dữ liệu.

Tôi muốn sử dụng mô-đun này để tìm các dị thường trong dữ liệu chuỗi thời gian của mình.

P.S .: Tôi đã thử ví dụ 1 được cung cấp trong README.md nhưng gặp lỗi, vì vậy, ai đó vui lòng cung cấp cho tôi ví dụ làm việc để tìm bất thường.

Ví dụ 1 Đặt điểm bất thường trong danh sách.

from luminol.anomaly_detector import AnomalyDetector 
my_detector = AnomalyDetector(ts) 
score = my_detector.get_all_scores() 
anom_score = list() 
for (timestamp, value) in score.iteritems(): 
    t_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp)) 
    anom_score.append([t_str, value]) 

Bắt lỗi giá trị: (22 'tranh luận không hợp lệ') Trong dòng: t_str = time.strftime ('% Y-% m-% d% H:% M% S', time.localtime (timestamp))

Sử dụng Python 2.7

Cảm ơn :)

Trả lời

1

Ví dụ làm việc sau khi thêm import time và xác định ts. Việc sử dụng time.localtime giả sử dữ liệu bắt đầu của bạn sử dụng thời gian unix. Tham số bổ sung cho AnomalyDetector được ghi chú here. Các thuật toán có sẵn được xác định here. Nếu algorithm_name không được chỉ định, AnomalyDetector sẽ quay lại sử dụng số default_detector sử dụng tổng trọng số là exponential averagesderivatives. Những slides cũng có thể hữu ích.

data.csv

1490323038, 3 
1490323048, 4 
1490323058, 6 
1490323068, 78 
1490323078, 67 
1490323088, 5 

app.py

from luminol.anomaly_detector import AnomalyDetector 
import time 

# ts = 'data.csv' # or 
ts = { 
    '1490323038': 3, 
    '1490323048': 4, 
    '1490323058': 6, 
    '1490323068': 78, 
    '1490323078': 67, 
    '1490323088': 5, 
} 

my_detector = AnomalyDetector(ts) 
score = my_detector.get_all_scores() 
anom_score = [] 

for (timestamp, value) in score.iteritems(): 
    t_str = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(timestamp)) 
    anom_score.append([t_str, value]) 

for score in anom_score: 
    print(score) 

Output:

['2017-03-23 19:37:18', 0.0] 
['2017-03-23 19:37:28', 0.02482518793211144] 
['2017-03-23 19:37:38', 0.06951052620991202] 
['2017-03-23 19:37:48', 2.5187085350547482] 
['2017-03-23 19:37:58', 1.201340494410737] 
['2017-03-23 19:38:08', 0.9673414624904575] 
Các vấn đề liên quan