實驗五 藍橋ROS1導航功能 適用kinetic/melodic/noetic
809
2022-05-30
定義:概念漂移自適應閾值即非人為指定閾值,而是根據具體數據通過算法求解出來最佳值,用于判斷是否發生漂移,其大小影響漂移檢測的敏感度
適用場景:同一業務線,包含多種數據類型,每種數據類型的最佳閾值不同,人工調測出閾值不實際。先對所有數據進行時序聚類,針對聚類后的每一簇數據,取其中部分數據進行概念漂移標注求解出最佳閾值,將此最佳閾值應用于本簇中的所有數據。
自適應閾值求解
給定包含概念漂移標注信息的時序數據,通過算法求解出用于判斷漂移的最佳值。
參數:
data: 時序數據,可以是DataFrame,數據路徑,DataReference.
columns: 待進行概念漂移檢測的目標列,str或list類型。
label_name: 概念漂移標簽列列名,str字符串。
id_column: 可選參數,時序數據id列的列名,str字符串,默認None.
自適應閾值求解參數
win_size: 滑動窗的大小。為了研究輸入時間序列是否發生概念漂移,通常使用滑動窗口,一般窗口大小為一天數據量的倍數。如果為None,則根據time_interval計算,取三天數據量。
stride: 概念漂移檢測粒度。默認為None,若為None則通過time_interval計算,天數據量的七分之一左右。
time_interval: int整型,數據收集的時間間隔(以秒為單位)。可選參數,如果win_size或者stride沒有給定,則需給定time_interval來計算二者。
返回:
best_k_iqr: 最佳閾值。
from naie.datasets import data_reference from naie_cloud.feature_processing import data_flow
選擇數據
如果是在NAIE平臺上操作,則以下代碼可通過點擊菜單欄中“數據集”下的“選擇數據”自動生成,再填寫對應數據集和數據集實例參數。
dataset = "ts_data" dataset_entity = "adaptive_threshold" datareference = data_reference.get_data_reference(dataset, dataset_entity) dataflow = data_flow.create_data_flow(datareference) dataflow.to_pandas_dataframe()
resolve path ../../../../tests/testdata ts_data adaptive_threshold. Can't find dataset.json with path ../../../../tests/testdata\ts_data\adaptive_threshold\dataset.json, so ignore resolve path. resolve path ../../../../tests/testdata ts_data adaptive_threshold. Can't find dataset.json with path ../../../../tests/testdata\ts_data\adaptive_threshold\dataset.json, so ignore resolve path.
from naie.concept_drift_detection import AdaptiveThresholdSolution
df = dataflow.to_DataFrame() re = AdaptiveThresholdSolution(df, columns='total_load_energy_consumption', label_name='total_load_energy_consumption_label', id_column='dn') res = re.fit(win_size=384, stride=38) print('BEST_K_IQR:', '\n', res)
BEST_K_IQR:
0.3
NAIE SDK幫助文檔匯總請參考:
Python
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。