尧图网络科技 Logo 尧图网络科技
  • 首页
  • 关于我们
  • 建站服务
  • UI 设计
  • 案例展示
  • SEO 优化
  • 资讯中心
  • 联系我们

资讯详情

深度解读 · 专业分析

  • 首页
  • 资讯中心
  • /
  • 撒

最新资讯

  • 全部资讯
  • 行业动态
  • UI 设计
  • SEO 优化
  • 网站开发

撒

📅 发布时间:2026/6/21 0:04:02 👁 浏览次数:
撒

撒

数据建模及特征处理方式,基于差分的思想基于数据处理,挖掘基于工艺历史数据的多recipe多变量参数差异变化与spec协同变化进行综合建模分析:
for i in range(len(X)):
try:
dist = compute_hamming_distance_vector(X[i], X)
# 1. 对距离向量排序,并记录原始索引
sorted_indices = np.argsort(dist)
sorted_dists = dist[sorted_indices]
distances1.append(sorted_dists)
except Exception as e:
pass # 建议打印异常信息方便调试:print(e)
distances=np.array(distances)
distances1 = np.array(distances1)

2. 计算每行的中位数

medians = np.median(distances1, axis=1)
medians_dict = dict(zip(id_to_index.keys(), medians))

import pdb;pdb.set_trace()

3. 计算中位数的中位数

median_of_medians = np.median(medians)

4. 统计每行中有多少个点在这个中位数内

counts = np.sum(distances1 <= median_of_medians, axis=1)
for base_id in base_ids:
i = id_to_index.get(base_id)
if i is None:
continue
base_vector = X[i]
dist_vector = compute_hamming_distance_vector(base_vector, X) #compute_weighted_l1_distance_vector(base_vector, X, weight_vector)
# 1. 对距离向量排序,并记录原始索引
sorted_indices = np.argsort(dist_vector)
sorted_dists = dist_vector[sorted_indices]

# 2. 计算相邻距离的差值
dist_diff = np.diff(sorted_dists)# 3. 设置一个百分位数阈值(例如 75%),用于识别跳跃点
threshold = np.percentile(dist_diff, 75)# 4. 找出第一个显著跳跃点
jump_indices = np.where(dist_diff > threshold)[0]# 5. 动态确定分界点
if len(jump_indices) > 0:cutoff_index = jump_indices[0]  # 第一个跳跃点
else:cutoff_index = int(len(sorted_dists) * 0.5)  # 默认保留前50%# 6. 保留跳跃点之前的样本(即“正常”样本)valid_idxs = sorted_indices[:cutoff_index]
valid_idxs = valid_idxs[valid_idxs != i]
#print("有效样本索引:", valid_idxs)valid_idxs = np.where((dist_vector >0) & (dist_vector <= 200))[0]
# 获取这些索引对应的 'score#' 列的值
scores = filtered_df.iloc[valid_idxs]['score#']
corr=filtered_df.iloc[valid_idxs].corr()
# 找到 'score#' 值最高的前两个索引
excluded_idxs = scores.nlargest(1).index
#data=data.iloc[valid_idxs,1:].corr()
# 记录被排除的索引
#valid_idxs = np.setdiff1d(valid_idxs, excluded_idxs)if base_id not in local_dict:local_dict[base_id] = {}
local_dict[base_id]['nei'] =   [index_to_id[item]  for item in  valid_idxs.tolist()]
local_dict[base_id]['target'] =   [index_to_id[item]  for item in  excluded_idxs.tolist()]
#输出保留下来的样本数量
print("保留的有效样本数量:", valid_idxs)# use.extend(valid_idxs)
#print('=============')
# Step 1: base_id 和 valid_idxs 中的每个点做比较
for j in valid_idxs:delta_x = X[j] - X[i]delta_y = y[j] - y[i]abs_delta_x = np.abs(delta_x)change_indices = np.where(abs_delta_x > 0.001)[0]abs_delta_x_ = np.abs(delta_x)# 找出哪些特征变化大于0.001changed_features = [(feature_cols[k], delta_x[k]) for k in change_indices]changed_features_ = [feature_cols[k] for k in change_indices]# 计算两行之间的特征差值(delta_x)delta_x_raw = data[feature_cols].iloc[j] - data[feature_cols].iloc[i]# 计算绝对值abs_delta_x_raw = delta_x_raw.abs()# 筛选变化大于 0.001 的特征(返回布尔 Series)mask = abs_delta_x_raw > 0.001# 提取变化的特征及其差值(类似 changed_features)changed_features_raw = delta_x_raw[mask].to_dict()  # 字典形式:{特征名: 差值}# 或列表形式:[(特征名, 差值), ...]changed_features_list = list(changed_features_raw.items())param_set.update(changed_features_)# 构建记录字典record = {f"Δ{col}": delta_x[k] for k, col in enumerate(feature_cols)}record[f"Δ{target_col}"] = delta_yrecord["base_id"] = ids[i]record["compare_id1"] = ids[i]record["compare_id2"] = ids[j]record["distance"] = dist_vector[j]record["change_num"] = len(changed_features)if record["change_num"] > 200:continue  # 跳过 change_num > 10 的记录# 存储变化的特征名和对应的变化值record["param_dt"] = ["{}:{:.2f}".format(feat, delta) for feat, delta in changed_features]record["param_dt_raw"] = ["{}:{:.2f}".format(feat, delta) for feat, delta in changed_features_list]record["param"] = changed_features_diffs.append(record)#Step 2: valid_idxs 内部两两之间也做比较
n = len(valid_idxs)
for idx1 in range(n):for idx2 in range(idx1 + 1, n):i1 = valid_idxs[idx1]i2 = valid_idxs[idx2]delta_x = X[i2] - X[i1]delta_y = y[i2] - y[i1]# 计算 distancedistance = np.sum(X[i1] != X[i2])  #np.sum(np.abs(X[i1] - X[i2]))# 找出变化超过 0.001 的特征列abs_delta_x = np.abs(delta_x)change_indices = np.where(abs_delta_x > 0.001)[0]change_num = len(change_indices)if change_num >2:continue  # 跳过 distance > 10 的记录changed_features = [(feature_cols[k], delta_x[k]) for k in change_indices]changed_features_ = [feature_cols[k] for k in change_indices]# 计算两行之间的特征差值(delta_x)delta_x_raw = data[feature_cols].iloc[i2] - data[feature_cols].iloc[i1]# 计算绝对值abs_delta_x_raw = delta_x_raw.abs()# 筛选变化大于 0.001 的特征(返回布尔 Series)mask = abs_delta_x_raw > 0.001# 提取变化的特征及其差值(类似 changed_features)changed_features_raw = delta_x_raw[mask].to_dict()  # 字典形式:{特征名: 差值}# 或列表形式:[(特征名, 差值), ...]changed_features_list = list(changed_features_raw.items())record = {f"Δ{col}": delta_x[k] for k, col in enumerate(feature_cols)}record[f"Δ{target_col}"] = delta_yrecord["compare_id1"] = ids[i1]record["base_id"] = ids[i]  # 假设 base_id 是 i1 的 idrecord["compare_id2"] = ids[i2]record["distance"] = distancerecord["change_num"] = change_numrecord["param_dt"] = ["{}:{:.2f}".format(feat, delta) for feat, delta in changed_features]record["param_dt_raw"] = ["{}:{:.2f}".format(feat, delta) for feat, delta in changed_features_list]record["param"] = changed_features_diffs.append(record)

use.extend(indices_with_none)

print(len(set(use)))

epsilon = 0.0001

df_diff = pd.DataFrame(diffs)

def smooth_weight(dist, scale=1.0):
"""
平滑函数:根据距离计算权重,scale 控制衰减速率
可选:指数衰减、倒数、高斯核等
"""
return 1 / (1 + dist / scale)
def remove_outliers_zscore_grouped(df, category_col, value_col, threshold=2):
# 对每个分组计算 z-score,并保留非异常值
df['z_score'] = df.groupby(category_col)[value_col].transform(lambda x: zscore(x, nan_policy='omit'))

# 筛选 z-score 绝对值小于阈值的数据(默认阈值为 3)
cleaned_df = df[np.abs(df['z_score']) < threshold]# 删除辅助列
cleaned_df = cleaned_df.drop(columns=['z_score'])return cleaned_df

from matplotlib.patches import FancyArrowPatch
import matplotlib.cm as cm
import matplotlib.colors as mcolors
def generate_distinct_colors(n):
hues = np.linspace(0, 1, n, endpoint=False)
hsv_colors = np.column_stack([hues, np.ones(n) * 0.7, np.ones(n) * 0.9])
rgb_colors = np.array([mcolors.hsv_to_rgb(c) for c in hsv_colors])
return [mcolors.rgb2hex(rgb) for rgb in rgb_colors]

def build_trie_with_frequency(paths_with_pairs):
root = {}
freq_counter = Counter()

for path, pair in paths_with_pairs:node = rootfor param in path:if param not in node:node[param] = {}node = node[param]freq_counter[param] += 1return root, freq_counter

相关新闻

AI Agent 框架实测:AutoGen、CrewAI、LangGraph 有何不同?

AI Agent 框架实测:AutoGen、CrewAI、LangGraph 有何不同?

2026/6/20 15:15:29 查看详情
模型天天变,不变的是数据沉淀|OpenCSG 的开源哲学

模型天天变,不变的是数据沉淀|OpenCSG 的开源哲学

2026/6/20 12:32:56 查看详情
2025年口碑好的冷弯型钢品牌:华力冷弯型钢深度解读

2025年口碑好的冷弯型钢品牌:华力冷弯型钢深度解读

2026/6/20 22:31:36 查看详情
实验室无尘室设计规范解析——华川洁净 - 华川洁净

实验室无尘室设计规范解析——华川洁净 - 华川洁净

2026/6/21 0:01:30 查看详情
GameServerManager:游戏服务器管理的终极解决方案

GameServerManager:游戏服务器管理的终极解决方案

2026/6/21 0:01:30 查看详情
WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

2026/6/21 0:01:30 查看详情
库拉莫托振子模型:从同步现象到Python模拟实现

库拉莫托振子模型:从同步现象到Python模拟实现

2026/6/20 23:59:24 查看详情
Windows 11 LTSC终极解决方案:3步快速恢复微软商店完整功能

Windows 11 LTSC终极解决方案:3步快速恢复微软商店完整功能

2026/6/20 23:57:23 查看详情
DMA 双缓冲与事件驱动:STM32L4 传感器数据采集的功耗优化

DMA 双缓冲与事件驱动:STM32L4 传感器数据采集的功耗优化

2026/6/20 23:57:23 查看详情
WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

2026/6/21 0:01:30 查看详情
GameServerManager:游戏服务器管理的终极解决方案

GameServerManager:游戏服务器管理的终极解决方案

2026/6/21 0:01:30 查看详情
实验室无尘室设计规范解析——华川洁净 - 华川洁净

实验室无尘室设计规范解析——华川洁净 - 华川洁净

2026/6/21 0:01:30 查看详情
WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

WSL2下部署Openclaw:Windows开发者高效落地AI智能体的实践指南

2026/6/21 0:01:30 查看详情
GameServerManager:游戏服务器管理的终极解决方案

GameServerManager:游戏服务器管理的终极解决方案

2026/6/21 0:01:30 查看详情
实验室无尘室设计规范解析——华川洁净 - 华川洁净

实验室无尘室设计规范解析——华川洁净 - 华川洁净

2026/6/21 0:01:30 查看详情
YOLOv11涨点改进| CVPR 2026 | 独家创新首发、特征融合改进篇| 引入CMGF 引导特征融合机制,实现对不同模态特征的自适应增强与高效融合,助力多模态目标检测,小目标检测或分割有效涨点

YOLOv11涨点改进| CVPR 2026 | 独家创新首发、特征融合改进篇| 引入CMGF 引导特征融合机制,实现对不同模态特征的自适应增强与高效融合,助力多模态目标检测,小目标检测或分割有效涨点

2026/6/19 22:53:17 查看详情
E-E-A-T 成第一权重:2027 年无经验内容将被彻底淘汰

E-E-A-T 成第一权重:2027 年无经验内容将被彻底淘汰

2026/6/20 4:40:29 查看详情
深圳福田园岭老小区搬家公司推荐 经验足师傅高效搬运攻略 - 从来都是英雄出少年

深圳福田园岭老小区搬家公司推荐 经验足师傅高效搬运攻略 - 从来都是英雄出少年

2026/6/20 22:03:27 查看详情

关于尧图

立足北京本地的一站式网站建设服务与设计教学平台,深耕企业网站定制开发、全网 SEO 优化及网络推广服务。

快速链接

  • 关于我们
  • 建站服务
  • 案例展示
  • 资讯中心

服务项目

  • 企业官网定制
  • UI 界面设计
  • SEO 优化推广
  • 移动端适配

联系方式

电话:400-XXX-XXXX

邮箱:info@zskr.cn

地址:北京市朝阳区 XXX 路 XX 号

© 2026 尧图网络科技 版权所有 | 京 ICP 备 XXXXXXXX 号