keras中sample_weight的使用
百度了好久,沒有找到與sample_weight相關(guān)的博客,于是自己摸索一下。
sample_weight是keras中的fit的參數(shù),中文文檔介紹如下:
簡(jiǎn)單點(diǎn)的解釋如下:參考https://blog.csdn.net/weixin_40755306/article/details/82290033#commentBox
sample_weight的作用就是為數(shù)據(jù)集中的數(shù)據(jù)分配不同的權(quán)重。
我的例子是要將數(shù)據(jù)集的數(shù)據(jù)分為三類,用0,1,2代表這三類,我這里想為0分配權(quán)重0.3,為1分配權(quán)重1,為2分配權(quán)重2.。
我的數(shù)據(jù)是存儲(chǔ)在csv文件中的,我提取出標(biāo)簽列表,標(biāo)簽列表的內(nèi)容是0,1,2的集合,列表名稱為y_train。我用下面代碼生成一個(gè)權(quán)重的列表:
當(dāng)標(biāo)簽為0時(shí), sample_weights添加0.3,當(dāng)標(biāo)簽為1時(shí), sample_weights添加1,當(dāng)標(biāo)簽為2時(shí), sample_weights添加2。
這里記得不要漏了最后一行,將列表轉(zhuǎn)化為numpy數(shù)組。因?yàn)閟ample_weight只能是numpy數(shù)組。
創(chuàng)建好數(shù)組之后,下一步是要在compile中添加一個(gè)參數(shù),先看看是添加哪個(gè)參數(shù):
這里的sample_weight_mode分為兩種形式,如果你的權(quán)重形式是像我這樣的,就是1D,那sample_weight_mode就設(shè)置為None。2D的形式還沒試過,但如果用2D形式,那sample_weight_mode就要設(shè)置為sample_weight_mode=‘temporal’ 。
compile設(shè)置完就要設(shè)置fit了,我的模型有兩個(gè)輸出,但是我只想設(shè)置分類輸出,我這里的分類輸出層命名為’classifier’。那就在fit中添加一個(gè)參數(shù):
sample_weight={'classifier' : sample_weights}sample_weights是我們上面定義的數(shù)組。
這樣便可簡(jiǎn)單實(shí)現(xiàn)對(duì)數(shù)據(jù)的加權(quán)。
總結(jié)
以上是生活随笔為你收集整理的keras中sample_weight的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 综述(十)北京在安全测试示范区上的政策与
- 下一篇: colorsys模块(RGB/HSV/H