1. 程式人生 > >hadoop原始碼中實現權重0.75(Volum選擇中的演算法)

hadoop原始碼中實現權重0.75(Volum選擇中的演算法)

這個演算法簡單

float preferencePercentScaler =
    (highAvailableVolumes.size() * balancedPreferencePercent) +
    (lowAvailableVolumes.size() * (1 - balancedPreferencePercent));
float scaledPreferencePercent =
    (highAvailableVolumes.size() * balancedPreferencePercent) /
    preferencePercentScaler;
...
random
.nextFloat() < scaledPreferencePercent)

其中 highAvailableVolumes.size() 理解為事件A出現X1次, lowAvailableVolumes.size()理解為事件B出現X2

balancedPreferencePercent  是給事件A權重

期望值值 E(x)=ixip(xi) (程式碼中preferencePercentScaler就是期望值)

scaledPreferencePercent變數X1在期望值中所佔的比例,scaledPreferencePercent實際上才是事件A被選中的概率

scaledPreferencePercent值隨X1的出現而變大

歡迎提問

相關推薦

hadoop原始碼實現權重0.75(Volum選擇演算法)

這個演算法簡單float preferencePercentScaler = (highAvailableVolumes.size() * balancedPreferencePercent) + (lowAvailableVolumes.size() * (

MATLAB實現資料 [0,1] 歸一化

記錄一下,在做機器學習時,資料處理部分要花很多精力。資料處理的方式有很多種,今天記錄的是[0,1]歸一化,該法可以避免在較大數值範圍內的特性凌駕於較小數值範圍內的特性,先看下原理。 設序列代表特性A,對它們進行變換 則得到的新序列 下面看程式碼: clc clear all %

java實現簡單的二叉樹排序演算法

package testProject; public class BinaryTreeDemo { public static void main(String[] args) { BinaryTree bt = new Binar

Python實現驗證資料庫redis 和 mysql 的賬號密碼

# _*_ coding:utf-8 _*_ import sys import pymysql import redis def con_mysql(sql): db = pymysql.connect( host='127.0.

在Windows實現sudo命令——命令列環境獲取管理員許可權

【說明】         Windows系統從 Vista 版本開始加入了 UAC 機制,這導致沒有足夠許可權的程式無法獲取到一些關鍵資源。在 Linux 下我們可以使用 sudo 命令方便地提升當前程式的執行許可權,但在 Windows 中卻通常只能右鍵單擊程式圖示,再選

js實現子頁面向父頁面賦值

父頁面: <input id="input1" type="text" /> <ahref="javascript:GetReturnValue();void(0)">彈出新的模態子視窗</a> <script type="text/javascript" langu

深度 | 機器學習的模型評價、模型選擇演算法選擇

作者:Sebastian Raschka翻譯:reason_W編輯:周翔簡介正確使用模型評估、模

vue2.0實現首字母大寫的過濾器

過濾器1:實現一個首字母大寫的過濾器(vue2.0中已經去除了內置的過濾器)過濾器本身就是一個函數vue2.0中實現首字母大寫的過濾器

netty原始碼解解析(4.0)-3 Channel的抽象實現

AbstractChannel和AbstractUnsafe抽象類 io.netty.channel.AbstractChannel 從本章開始,會有大量的篇幅涉及到程式碼分析。為了能夠清晰簡潔的地說明程式碼的結構和功能,我會用程式碼註釋+獨立段落的方式加以呈現。 所以,為你能更好地理解程

【Java】 劍指offer(53-2) 0到n-1缺失的數字 《劍指Offer》Java實現合集 《劍指Offer》Java實現合集

  本文參考自《劍指offer》一書,程式碼採用Java語言。 更多:《劍指Offer》Java實現合集   題目   一個長度為n-1的遞增排序陣列中的所有數字都是唯一的,並且每個數字都在範圍0到n-1之內。在範圍0到n-1的n個數字中有且只有一個數字不在該陣列中,請找

[原始碼分享]基於Python的Pygame庫實現的仿微信遊戲的飛機大戰小遊戲

不知大家是否還記得當時微信上風靡一時的打飛機小遊戲,通過控制我方飛機的上下左右移動,發射子彈來擊毀敵機,增加得分。這是一款簡單操作易上手又很有趣味性的遊戲,我使用python作為基本語言,利用pygame仿照微信版本完成了這款低配版飛機大戰遊戲。   我方飛機會按時的不斷髮射子彈,玩家通過上下左

[原始碼和文件分享]基於Python的Pygame庫實現的仿微信遊戲的飛機大戰小遊戲

不知大家是否還記得當時微信上風靡一時的打飛機小遊戲,通過控制我方飛機的上下左右移動,發射子彈來擊毀敵機,增加得分。這是一款簡單操作易上手又很有趣味性的遊戲,我使用python作為基本語言,利用pygame仿照微信版本完成了這款低配版飛機大戰遊戲。 我方飛機會按時的不斷髮射子彈,玩家通過上下左右的方向鍵來躲避

netty原始碼解解析(4.0)-6 執行緒模型-IO執行緒EventLoopGroup和NIO實現(一)

介面定義 io.netty.channel.EventLoopGroup extends EventExecutorGroup 方法 說明

netty原始碼解解析(4.0)-7 執行緒模型-IO執行緒EventLoopGroup和NIO實現(二)

把NIO事件轉換成對channel unsafe的呼叫或NioTask的呼叫 processSelectedKeys()方法是處理NIO事件的入口: private void processSelectedKeys() { if (selectedKeys != null) {

idea編譯spring5.0原始碼

一.安裝gradle 由於spring是使用gradle構建的,所以首先安裝gradle,安裝比較簡單,百度即可,不做過多贅述。 二.下載spring5.0原始碼 2.將下載後的原始碼壓縮包解壓後匯入idea 3. 點選finish後進行依賴jar包的下載,這

實現VUE2.0props資料雙向繫結的一種方案

問題描述 在vue2.0中,我們通過props方法來接受父元件所傳過來的值,但是這個過程是單項的,父元件可以改變傳給子元件的值,但是如果子元件想改變所接受的值並傳給父元件是不可以的,會報以下的錯誤。 該錯誤的意思的是:避免直接更改一個PROP,因為每當父元件重新呈現時

win7原始碼編譯hadoop-eclipse-plugin-2.7.0.jar

當你厭煩了本地編碼,打包,部署到遠端伺服器,然後通過hadoop jar xxx.jar wordcount /input /output的方式執行mapreduce程式,那麼可以考慮本地編譯一個合適的hadoop-eclipse-plugin外掛,進行本地執行遠端mapre

netty原始碼解解析(4.0)-10 ChannelPipleline的預設實現--事件傳遞及處理 netty原始碼解解析(4.0)-2 Chanel的介面設計 netty原始碼解解析(4.0)-8 ChannelPipeline的設計

  事件觸發、傳遞、處理是DefaultChannelPipleline實現的另一個核心能力。在前面在章節中粗略地講過了事件的處理流程,本章將會詳細地分析其中的所有關鍵細節。這些關鍵點包括: 事件觸發介面和對應的ChannelHandler處理方法。 inbound事件的傳遞。  outbou

iOS開發之OC與swift開發混編教程,代理的相互呼叫,block的實現。OC呼叫Swift的代理, OC呼叫Swift的Block 閉包,swift 3.0

最新一些學妹問起,所以抽點時間來寫的,適合入門級別的swift 與 OC 混編 的程式猿。   本文章將從兩個方向分別介紹 OC 與 swift 混編   1. 第一個方向從 swift工程 中引入 oc類      1. 1 如何在swift的類中使用oc類     1

即時通訊系統實現聊天訊息加密,讓通訊更安全【低調贈送:C#開源即時通訊系統(支援廣域網)——GGTalk4.5 最新原始碼

  在即時通訊系統(IM)中,加密重要的通訊訊息,是一個常見的需求。尤其在一些政府部門的即時通訊軟體中(如稅務系統),對即時聊天訊息進行加密是非常重要的一個功能,因為談話中可能會涉及到機密的資料。我在最新的GG 4.5中,增加了對即時聊天訊息進行加密的功能,但這一功能並不是強制的,可以通過開關來進行控制。本文