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