Changes:方差计算代码与测试
This commit is contained in:
24
variance.py
24
variance.py
@@ -3,34 +3,39 @@ import json
|
|||||||
import ray
|
import ray
|
||||||
|
|
||||||
@ray.remote
|
@ray.remote
|
||||||
class average(algorithm):
|
class variance(algorithm):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.config_dict_ = None
|
self.config_dict_ = None
|
||||||
self.config_ = None
|
self.config_ = None
|
||||||
self.average_number_ = 10
|
self.variance_number_ = 10
|
||||||
self.present_number_ = 0
|
self.present_number_ = 0
|
||||||
self.window_1_ = []
|
self.window_1_ = []
|
||||||
self.sum = 0
|
self.sum = 0
|
||||||
self.average = 0
|
self.average = 0
|
||||||
|
self.variance = 0
|
||||||
|
self.variance_sum = 0
|
||||||
|
|
||||||
def set_config(self, config):
|
def set_config(self, config):
|
||||||
self.config_ = config
|
self.config_ = config
|
||||||
self.config_dict_ = json.loads(self.config_)
|
self.config_dict_ = json.loads(self.config_)
|
||||||
self.average_number_ = self.config_dict_["AVERAGE_NUMBER"]
|
self.variance_number_ = self.config_dict_["VARIANCE_NUMBER"]
|
||||||
|
|
||||||
def config(self):
|
def config(self):
|
||||||
return self.config_
|
return self.config_
|
||||||
|
|
||||||
def eval(self, value):
|
def eval(self, value):
|
||||||
self.present_number_ = len(self.window_1_)
|
self.present_number_ = len(self.window_1_)
|
||||||
if self.present_number_ < self.average_number_:
|
if self.present_number_ < self.variance_number_:
|
||||||
self.window_1_.append(value)
|
self.window_1_.append(value)
|
||||||
self.sum = 0
|
self.sum = 0
|
||||||
for i in self.window_1_:
|
for i in self.window_1_:
|
||||||
self.sum = self.sum + i
|
self.sum = self.sum + i
|
||||||
self.average = self.sum / len(self.window_1_)
|
self.average = self.sum / len(self.window_1_)
|
||||||
return self.average
|
self.variance_sum = 0
|
||||||
|
for i in self.window_1_:
|
||||||
|
self.variance_sum = self.variance_sum + (i-self.average)*(i-self.average)
|
||||||
|
self.variance = self.variance_sum / len(self.window_1_)
|
||||||
|
return self.variance
|
||||||
else:
|
else:
|
||||||
self.sum = 0
|
self.sum = 0
|
||||||
del self.window_1_[0]
|
del self.window_1_[0]
|
||||||
@@ -38,4 +43,9 @@ class average(algorithm):
|
|||||||
for i in self.window_1_:
|
for i in self.window_1_:
|
||||||
self.sum = self.sum + i
|
self.sum = self.sum + i
|
||||||
self.average = self.sum / len(self.window_1_)
|
self.average = self.sum / len(self.window_1_)
|
||||||
return self.average
|
self.variance_sum = 0
|
||||||
|
for i in self.window_1_:
|
||||||
|
self.variance_sum = self.variance_sum + (i-self.average)*(i-self.average)
|
||||||
|
self.variance = self.variance_sum / len(self.window_1_)
|
||||||
|
return self.variance
|
||||||
|
|
||||||
|
|||||||
31
variance_test_csv.py
Normal file
31
variance_test_csv.py
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
import pandas as pd
|
||||||
|
from variance import variance
|
||||||
|
import ray
|
||||||
|
|
||||||
|
ray.init()
|
||||||
|
|
||||||
|
ray.RAY_DISABLE_MEMORY_MONITOR=1
|
||||||
|
filepath = "D:/python_project_data/1.csv"
|
||||||
|
origin_data = pd.read_csv(filepath)
|
||||||
|
row_len = origin_data.shape[0]
|
||||||
|
cow_len = origin_data.shape[1]
|
||||||
|
variance_data = origin_data
|
||||||
|
algorithm_variance = variance.remote()
|
||||||
|
|
||||||
|
cow_name = "G1.TTXD1_3"
|
||||||
|
contrast_data = pd.DataFrame()
|
||||||
|
contrast_data[cow_name+'_origin'] = origin_data[cow_name]
|
||||||
|
algorithm_variance.set_config.remote('{"VARIANCE_NUMBER": 5 }')
|
||||||
|
# algorithm_step.set_config('{"CYCLE_TIME_BASE": 5 }')
|
||||||
|
for i in range(0,row_len):
|
||||||
|
futures=algorithm_variance.eval.remote(origin_data.loc[i,cow_name])
|
||||||
|
variance_data.loc[i, cow_name]=ray.get(futures)
|
||||||
|
|
||||||
|
print(variance_data.loc[:, cow_name])
|
||||||
|
contrast_data[cow_name+'_variance'] = variance_data[cow_name]
|
||||||
|
# average_data.to_csv("D:/python_project_data/1_disturb.csv", index=False)
|
||||||
|
contrast_data.to_csv("D:/python_project_data/variance_data.csv", index=False)
|
||||||
|
|
||||||
|
|
||||||
|
# 以下均为测试性能用
|
||||||
|
# print(algorithm_step.config_)
|
||||||
Reference in New Issue
Block a user