AI项目也有生命周期,也需要监测其运行状态,也需要维护
所有的输入,输出,记录日志,并可以提取 分析日志 看一看线上真实的输入与原来的数据集差在哪里 结果有多大的差别
大概率会发生的事情: - 训练用的数据集与真实的输入数据有很大的差别,跟预想的完全不一样 - 这时就要不断地分析用户的真实输入 规定规范,引导业务开发行为,以便生成更适合模型的输入 - 图像上画框,明确规定要要包括额头,耳朵 - 规范用户的输入
日志记录内容
数据输入,模型输入 模型输出 推理性能,响应时间
后继就是一边分析日志,一边找出容易优化的点, 优化,训练,再分析日志
已有一个可疑的样本向量,从其他数据或过往可疑样本中,寻找与该样本最相似的样本 import numpy as np import pandas as pd from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.metrics.pairwise import cosine_similarity # 加载乳腺癌数据集 data = load_breast_cancer() X = data.data y = data.target # 随机拆分为两份 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42) X_train类比当前数据 X_test类比相同模型下以往某个批次的数据,即同类型数据 # 标准化特征 scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test) sample类比当前案件,这里随便取一个样本举例,比如第一个 # 从第一份中取出一个样本 sample_index = 0 # 你可以随机选择或指定索引 sample = X_train[sample_index].reshape(1, -1) cosine_similarity(sample, X_test), - 计算sample样本与X_test一批样本中每个样本之间的相似度 - 其中的最大值就是最相似的样本 # 遍历第二份中的样本,计算余弦相似度 similarities = cosine_similarity(sample, X_test) similarities.shape # (1, 285) 返回的是2维数据,每个样本与另外一批的每个样本都有一个相似度 # 找到相似度最高的样本索引 most_similar_index = np.argmax(similarities) most_similar_sample = X_test[most_similar_index] most_similar_label = y_test[most_similar_index] # 打印结果 print(f"选择的样本索引: {sample_index}") print(f"相似度最高的样本索引: {most_similar_index}") print(f"相似度最高的样本特征: {most_similar_sample}") print(f"相似度最高的样本标签: {most_similar_label}") print(f"最高相似度: {similarities[0, most_similar_index]}") 选择的样本索引: 0 相似度最高的样本索引: 177 相似度最高的样本特征: [ 0.16915303 -0.84923298 0.1491141 0.0100683 -0.92939218 0.08477422 -0.32941936 -0.32572933 0.25662039 -0.47823615 -0.58870204 -1.3292939 -0.294134 -0.41798423 -0.90113974 0.36383613 0.17244221 -0.09037304 -0.79518225 -0.2279226 -0.01585764 -1.01712787 0.16303099 -0.16499284 -0.81581744 0.75229458 0.33349632 0.33825268 0.10255576 0.0260603 ] 相似度最高的样本标签: 1 最高相似度: 0.735111515925659 |
|
|
|
|