python import csv from nupic.frameworks.opf.model_factory import ModelFactory def load_data(file_path): with open(file_path, 'r') as file: reader = csv.reader(file) data = [float(row[0]) for row in reader] return data def run_nupic_model(data): model_params = { "model": "HTMPrediction", "version": 1, "predictAheadTime": None, "modelParams": { "inferenceType": "TemporalAnomaly", "sensorParams": { "encoders": { "value": { "fieldname": "value", "n": 100, "name": "value", "type": "ScalarEncoder", "minval": min(data), "maxval": max(data), "w": 21 } }, "sensorAutoReset": None }, "spEnable": True, "spParams": { "spVerbosity": 0 }, "tpEnable": True, "tpParams": { "verbosity": 0, "predictedField": "value" }, "clParams": { "alpha": 0.001 } } } model = ModelFactory.create(model_params) model.enableInference({'predictedField': 'value'}) for i, value in enumerate(data): result = model.run({"value": value}) anomaly_score = result.inferences['anomalyScore'] print("Value: {}, Anomaly Score: {}".format(value, anomaly_score)) data = load_data('data.csv') run_nupic_model(data)


上一篇:
下一篇:
切换中文