当前位置: 首页 > news >正文

呼和浩特网站运营公司公司网站建设工作重点

呼和浩特网站运营公司,公司网站建设工作重点,郑州做网站托管,深圳企业视频制作公司前面我们已经通过两篇文章,一起熟悉了WM-811K Wafermap 数据集,并对其中的一些数据进行了调用,生成了一些统计信息和图片。今天我们接着继续往前走。 半导体数据分析: 玩转WM-811K Wafermap 数据集(二) AI…

前面我们已经通过两篇文章,一起熟悉了WM-811K Wafermap 数据集,并对其中的一些数据进行了调用,生成了一些统计信息和图片。今天我们接着继续往前走。

半导体数据分析: 玩转WM-811K Wafermap 数据集(二) AI 机器学习_wm811k数据集-CSDN博客

半导体数据分析: 玩转WM-811K Wafermap 数据集(一) AI 机器学习_wafer dataset-CSDN博客

当我们在处理大规模的数据集的时候,很多人都会有一种束手无策的感觉,尤其是面对海量的数据和复杂的结构时,可能会感到无从下手。我的经验就是抽丝剥茧,一步步来。实际上,通过系统化的步骤和合理的策略,我们可以有效地应对这些挑战。

搞过数据分析的都知道,缺失值的检查是数据处理过程中不可忽视的一环。当我们浏览数据集时,可能会发现相当一部分数据由于缺失值而变得无用。这些缺失值可能源于数据采集过程中的误差、设备故障或其他原因。为了确保后续分析的准确性,我们需要识别并处理这些缺失值。

当然,明确分析目标也非常重要。例如,如果我们只对具有特定故障类型标签的晶圆感兴趣,那么可以删除那些没有故障类型标签的数据。这样做不仅能够减少数据集的规模,还能提高数据的质量,使分析结果更加聚焦和可靠。

下面我我们就将整个数据做一些初步的处理,我们先来处理失效形式和训练类型。

之前我们从数据集中取出过一些数据  显示如下:

其中有两项  trianTestLabel和failureType,分别代表了训练测试标签,和失效标签。

我们对这两项通过下面的代码来进行处理:

import pandas as pdmp_file = "/data_disk/public_lib/wm811k_wafer_map/in/LSWMD.pkl"
df = pd.read_pickle(mp_file)df['failureNum']=df.failureType
df['trainTestNum']=df.trianTestLabel
mapping_type={'Center':0,'Donut':1,'Edge-Loc':2,'Edge-Ring':3,'Loc':4,'Random':5,'Scratch':6,'Near-full':7,'none':8}
mapping_traintest={'Training':0,'Test':1}
df=df.replace({'failureNum':mapping_type, 'trainTestNum':mapping_traintest})
tol_wafers = df.shape[0]
tol_wafers

在上面的代码中,我们抽取了  trianTestLabel 和failureNum 两列,分别重新命名为两列failureNum和trainTestNum,并通过两个字典mapping_type 和mapping_traintest进行了映射。在df.shape[0]中 返回 df 数据框的行数,即数据集中的总晶圆数量。该值存储在变量 tol_wafers 中。

811457

总数的晶圆是811457张。

然后我们来统计一下,失效的形式:

df_withlabel = df[(df['failureNum']>=0) & (df['failureNum']<=8)]
df_withlabel =df_withlabel.reset_index()
df_withpattern = df[(df['failureNum']>=0) & (df['failureNum']<=7)]
df_withpattern = df_withpattern.reset_index()
df_nonpattern = df[(df['failureNum']==8)]
df_withlabel.shape[0], df_withpattern.shape[0], df_nonpattern.shape[0]

上面的代码列出了三种标签 全部标签(0-8),有标记的标签(0-7),和 无标记的标签(8)。

并且每次取出标签的时候,都进行了重新索引:reset_index()。 这里对这个重新索引稍微解释一下:

重置索引通常是数据处理中的一个重要步骤,特别是在筛选数据或进行某些操作后。下面是重置索引的几个常见原因:

1. 确保索引连续

当你对 DataFrame 进行筛选或过滤后,原始数据的索引可能会变得不连续。例如,假设你从一个 DataFrame 中删除了一些行,结果就是剩余的行的索引会留下“空隙”。重置索引可以让你重新生成连续的索引,通常是从 0 开始递增的整数。

2. 方便后续操作

使用连续的整数索引使得后续的操作更简单。例如,在进一步分析或可视化数据时,连续的索引能避免因为跳跃的索引导致的潜在错误。它还可以帮助在合并(merge)或连接(concat)时避免索引冲突。

3. 删除旧的索引列

在使用 reset_index() 时,如果你不指定参数,原来的索引会被添加为一个新列。例如,如果你过滤掉了 DataFrame 的一些行,原索引列可能仍然包含那些被删除行的索引。重置索引不仅让索引连续,而且会去掉原始的索引列(除非你选择保留它)。

4. 避免潜在的错误

如果后续的操作需要基于索引进行一些处理(比如索引与行数的关联),不连续的索引可能会导致逻辑错误或不一致。重置索引确保了数据的索引一致性,减少了潜在的错误发生。

5. 保持代码整洁

有时,重置索引是为了保证代码简洁和易于阅读。尤其是当数据已经过多次筛选、过滤、分组等操作后,重新整洁的索引可以让分析过程更加清晰,避免在后续处理中迷失。

6. 去除层次索引(如果有)

如果在处理过程中曾经使用过多级索引(MultiIndex),可以通过 reset_index() 来降级到简单的单级索引,使得数据的访问和管理更为直观。

pandas 中,重新索引(reset index) 的主要目的是为数据框的索引(下标)重新分配连续的整数值,同时可以选择是否保留旧索引作为新列。

上面代码的最终运行结果是:

(172950, 25519, 147431)

这意味着172950片晶圆有标签,其中25519片晶圆被标记了失效形式,147431片晶圆没有标记失效形式。这个统计数据对我们后面用ai进行数据分析有参考作用。

然后我们来做一个统计图:

#创建图形和子图:
fig = plt.figure(figsize=(20, 4.5)) 
gs = gridspec.GridSpec(1, 2, width_ratios=[1, 2.5]) 
ax1 = plt.subplot(gs[0])
ax2 = plt.subplot(gs[1])#饼图:展示晶圆的标签分类
no_wafers = [tol_wafers - df_withlabel.shape[0], df_withpattern.shape[0], df_nonpattern.shape[0]]colors = ['silver', 'orange', 'gold']
explode = (0.1, 0, 0) 
labels = ['no-label', 'label&pattern', 'label&non-pattern']
ax1.pie(no_wafers, explode=explode, labels=labels, colors=colors, autopct='%1.1f%%', shadow=True, startangle=140)#条形图:显示不同故障类型的分布
uni_pattern = np.unique(df_withpattern.failureNum, return_counts=True)
labels2 = ['', 'Center', 'Donut', 'Edge-Loc', 'Edge-Ring', 'Loc', 'Random', 'Scratch', 'Near-full']ax2.bar(uni_pattern[0], uni_pattern[1] / df_withpattern.shape[0], color='gold', align='center', alpha=0.9)
ax2.set_title("Failure Type Frequency")
ax2.set_ylabel("% of Pattern Wafers")plt.show()

 运行结果如下:

根据failureType变量过滤,172950片晶圆有标签,而78.7%的晶圆没有标签。在贴有标签的晶圆片中,只有3.1%(25,519片)的晶圆片存在真正的失效模式,而147,431片晶圆片仍贴有“无”标签。因此,我们只关注这25,519个实例,这大大减少了我们工作的计算量。从上面的第二张图中,数据集显示出,失效形式呈现出了高度的不平衡分布。

图片展示数据是一种最佳数据展示的方式之一,因此观察原始数据的最好方法是进行数据可视化。接下来我们用数据集中标记的模式显示前100个样本。 

fig, ax = plt.subplots(nrows = 10, ncols = 10, figsize=(20, 20))
ax = ax.ravel(order='C')
for i in range(100):img = df_withpattern.waferMap[i]ax[i].imshow(img)ax[i].set_title(df_withpattern.failureType[i][0][0], fontsize=10)ax[i].set_xlabel(df_withpattern.index[i], fontsize=8)ax[i].set_xticks([])ax[i].set_yticks([])
plt.tight_layout()
plt.show() 

 

我们同样也可以通过失效形式分别来绘制晶圆图:

x = [0,1,2,3,4,5,6,7]
labels2 = ['Center','Donut','Edge-Loc','Edge-Ring','Loc','Random','Scratch','Near-full']for k in x:fig, ax = plt.subplots(nrows = 1, ncols = 10, figsize=(18, 12))ax = ax.ravel(order='C')for j in [k]:img = df_withpattern.waferMap[df_withpattern.failureType==labels2[j]]for i in range(10):ax[i].imshow(img[img.index[i]])ax[i].set_title(df_withpattern.failureType[img.index[i]][0][0], fontsize=10)ax[i].set_xlabel(df_withpattern.index[img.index[i]], fontsize=10)ax[i].set_xticks([])ax[i].set_yticks([])plt.tight_layout()plt.show() 

然后我们从上面选取几种来进行放大可视:

根据上面的编号选取: [12,340, 8, 14, 13, 66, 15, 189] 
x = [12, 340, 8, 14, 13, 66, 15, 189]
labels2 = ['Center','Donut','Edge-Loc','Edge-Ring','Loc','Random','Scratch','Near-full']#ind_def = {'Center': 9, 'Donut': 340, 'Edge-Loc': 3, 'Edge-Ring': 16, 'Loc': 0, 'Random': 25,  'Scratch': 84, 'Near-full': 37}
fig, ax = plt.subplots(nrows = 2, ncols = 4, figsize=(20, 10))
ax = ax.ravel(order='C')
for i in range(8):img = df_withpattern.waferMap[x[i]]ax[i].imshow(img)ax[i].set_title(df_withpattern.failureType[x[i]][0][0],fontsize=24)ax[i].set_xticks([])ax[i].set_yticks([])
plt.tight_layout()
plt.show() 

 经过上面的可视化,我们进一步加深了对这个数据集的了解,后面我们将对数据进行转换:通过使用缩放、属性分解和属性聚合的工程特征,转换为机器学习准备的预处理数据。

http://www.yayakq.cn/news/624773/

相关文章:

  • 网站建设案例教程昆明做网站软件
  • 网站开发入那个科目可以上传自己做的视频的网站
  • 邯郸做网站询安联网络企业做门户网站的重要性
  • 深圳网站建设金瓷网络源码之家的模板怎么用
  • 全国分类信息网站免费一级a做爰网站
  • 网站建设销售人才简历网站的备案的要多少钱
  • 网站升级维护要多久苗木网站模板
  • 外贸建站与推广淘宝客 wordpress网站
  • 四川成都网站优化网站改版活动
  • wordpress边下边看aso优化前景
  • 网站备案归中国建设银行网站查征信
  • 网站经营性质专业的咨询行业网站制作
  • 服装网站建设规定网站编辑工具软件
  • 博客网站怎么搭建淘宝网页版手机版
  • 免费网站推广平台软件前端开发工程师
  • 网站制作郑州网站制作一键生成app的方法
  • 网站在线推广淘宝客api同步到网站
  • 网站建设中 模版下载单页面网站有哪些
  • 怎么做自己公司的网站软件系统设计
  • 烟台seo做的好的网站商城网站结算页面怎么做
  • 网站设计基本原则网站未建设的情况说明
  • 青岛即墨网站开发wordpress新闻快讯插件
  • 网站备案去哪注销专门做美妆的网站
  • dsicuz做的网站wordpress 淘宝客源码
  • 青海公路建设信用信息服务网站房产管理系统
  • 网站建设定制公众号小程序ic外贸网站建设
  • 茂名市建设银行网站html5和h5的区别
  • 外贸网站建设 推广中国风 古典 红色 网站源代码
  • 电商设计师联盟网站搭建微信小程序多少钱
  • 哎吆嗨网站建设国内产品网站