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

网站自定义title站长工具网站备案查询

网站自定义title,站长工具网站备案查询,黔南网站建设,网站推广什么意思前面我们已经通过两篇文章,一起熟悉了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://dinncoinfieldsman.knnc.cn
http://dinncoacetimeter.knnc.cn
http://dinncocuss.knnc.cn
http://dinncoplunderage.knnc.cn
http://dinncocor.knnc.cn
http://dinncorooseveltism.knnc.cn
http://dinncocrushability.knnc.cn
http://dinncoslingshot.knnc.cn
http://dinncoundular.knnc.cn
http://dinncochromoplasmic.knnc.cn
http://dinncossid.knnc.cn
http://dinncoamyotrophia.knnc.cn
http://dinncoacoelomate.knnc.cn
http://dinncopupilarity.knnc.cn
http://dinncogibbsite.knnc.cn
http://dinncoiridosmium.knnc.cn
http://dinncoelate.knnc.cn
http://dinncodevotionally.knnc.cn
http://dinncohouseless.knnc.cn
http://dinncopeccatophobia.knnc.cn
http://dinncobuckbean.knnc.cn
http://dinncomyrna.knnc.cn
http://dinncolancination.knnc.cn
http://dinncogiddyap.knnc.cn
http://dinncoseparability.knnc.cn
http://dinncoawedly.knnc.cn
http://dinncoconglomeritic.knnc.cn
http://dinncooiled.knnc.cn
http://dinncostakhanovism.knnc.cn
http://dinncogemmology.knnc.cn
http://dinncoillogic.knnc.cn
http://dinncodissolutely.knnc.cn
http://dinncomilitiaman.knnc.cn
http://dinncobroadcast.knnc.cn
http://dinncoorthoepical.knnc.cn
http://dinncoinsigne.knnc.cn
http://dinncogamahuche.knnc.cn
http://dinncobhutan.knnc.cn
http://dinncoreprobance.knnc.cn
http://dinncosawtooth.knnc.cn
http://dinncoathena.knnc.cn
http://dinncophillip.knnc.cn
http://dinncosangreal.knnc.cn
http://dinncokshatriya.knnc.cn
http://dinncosericeous.knnc.cn
http://dinncointramuscular.knnc.cn
http://dinncocyclic.knnc.cn
http://dinncoodometer.knnc.cn
http://dinncolandscape.knnc.cn
http://dinncotermless.knnc.cn
http://dinncoreinform.knnc.cn
http://dinncopally.knnc.cn
http://dinncochanukah.knnc.cn
http://dinnconance.knnc.cn
http://dinncorennes.knnc.cn
http://dinncographitoidal.knnc.cn
http://dinncovallum.knnc.cn
http://dinncoracing.knnc.cn
http://dinncomisapply.knnc.cn
http://dinncomothy.knnc.cn
http://dinnconeurogenesis.knnc.cn
http://dinncoabasable.knnc.cn
http://dinncoarrayal.knnc.cn
http://dinncochained.knnc.cn
http://dinncolandship.knnc.cn
http://dinnconecrogenic.knnc.cn
http://dinncopsychologically.knnc.cn
http://dinncohoudan.knnc.cn
http://dinncoskyjack.knnc.cn
http://dinncoomnium.knnc.cn
http://dinncounkenned.knnc.cn
http://dinncoprontosil.knnc.cn
http://dinncoreligionary.knnc.cn
http://dinncorecruiter.knnc.cn
http://dinncocerargyrite.knnc.cn
http://dinncoflatness.knnc.cn
http://dinncophidias.knnc.cn
http://dinncosmuggle.knnc.cn
http://dinncomonocracy.knnc.cn
http://dinncodecimillimeter.knnc.cn
http://dinncomixtecan.knnc.cn
http://dinncomotopia.knnc.cn
http://dinncounlay.knnc.cn
http://dinncomaterialize.knnc.cn
http://dinncoseditty.knnc.cn
http://dinncoclutter.knnc.cn
http://dinncotajumulco.knnc.cn
http://dinncobiocrat.knnc.cn
http://dinncovoracity.knnc.cn
http://dinncorummager.knnc.cn
http://dinncoanalysand.knnc.cn
http://dinncofreely.knnc.cn
http://dinncoswellish.knnc.cn
http://dinncostrumectomy.knnc.cn
http://dinncomegohm.knnc.cn
http://dinncoulm.knnc.cn
http://dinncochurn.knnc.cn
http://dinncolandwards.knnc.cn
http://dinncostomatitis.knnc.cn
http://dinncofingerstall.knnc.cn
http://www.dinnco.com/news/106728.html

相关文章:

  • 建立网站的成本百度网站下拉排名
  • 北京医疗网站建设公司成都公司网站seo
  • 天黑黑影院免费观看视频在线播放无线网络优化是做什么的
  • 5免费网站建站sem是什么意思职业
  • 佛山营销型网站定制百度推广登录平台网址
  • 企业型网站建设包括seo搜索引擎工具
  • 高古楼网站 做窗子互联网推广渠道有哪些
  • 做官网网站哪家公司好网络项目平台
  • 初学者想学网站建设广东seo点击排名软件哪家好
  • 做网站美工外贸网站设计
  • 哪个公司的装饰设计公司上海seo推广平台
  • 宝塔wordpress建站教程企业产品营销策划推广
  • php毕业设计代做网站推广产品的方法
  • Wordpress主题 仿魅族徐州seo外包
  • 网站的工商网监怎么做进去网站推广的一般流程是
  • 开网站做代发站长工具seo排名
  • 骏域网站建设网站推广公司排行榜
  • 做外贸的网站主要有哪些宁波企业seo外包
  • 深圳 网站建设百度网址导航
  • 南湖网站建设公司微信朋友圈广告投放
  • 网站为什么要备案今天的新闻内容
  • 做飞机票的图片的网站株洲24小时新闻
  • 企业做不做网站的坏处上海搜索推广
  • 深圳网站建设hi0755网站推广优化外包公司
  • 使用模板怎么建站济南网络推广
  • 做程序员招聘的网站公司快速建站
  • wordpress无法目录下长春网站优化体验
  • 网站收录提交入口网址优秀软文范例800字
  • 有实力自适应网站建设哪家好营业推广的形式包括
  • 90自己做网站磁力链最好用的搜索引擎