樸素貝葉斯算法案例演示及Python實現

目錄

      • 一、基本原理
      • 二、案例演示
        • 2.1 未平滑處理
        • 2.2 Laplace平滑處理
      • 三、Python實現

一、基本原理

樸素貝葉斯思想:依靠特征概率去預測分類,針對于代分類的樣本,會求解在該樣本出現的條件下,各個類別出現的概率,哪個類別概率最大則取哪個類別。其核心原理來自于貝葉斯公式:
P ( A ∣ B ) = P ( B ∣ A ) ? P ( A ) P ( B ) P(A|B)=\frac{P(B|A)*P(A)}{P(B)} P(AB)=P(B)P(BA)?P(A)?
其中, P ( A ) P(A) P(A)稱之為先驗概率, P ( A ∣ B ) P(A|B) P(AB)稱之為后驗概率。結合先驗和后驗概率的基本概念,可以將貝葉斯公式轉化理解為:在事件B發生之后,事件A的發生的概率將發生調整,而調整的幅度則是這個調整因子 P ( B ∣ A ) P ( B ) \frac{P(B|A)}{P(B)} P(B)P(BA)?。當這個調整因為為1時,則可以理解為事件B的發生不會對事件A造成任何影響,在統計學的角度上稱事件A和事件B相互獨立,即 P ( A B ) = P ( A ) P ( B ) P(AB)=P(A)P(B) P(AB)=P(A)P(B)

概念定義
先驗概率基于常識或認識對于某個事件A發生的概率假定
后驗概率在某個事件B發生之后,對于事件A發生概率的修正假定

接下來,以生活中的案例進一步理解先驗和后驗概率。例如,一位股市小白預測大A明天下跌的概率是50%,那么這里的50%則是先驗概率;再被多次割韭菜之后,這位小白則總結了一套規律,在得知大A今天上漲10%后,預測大A明天下跌概率為80%;那么這里的80%則為后驗概率

剛剛介紹的均是貝葉斯公式相關的內容,接下來對【樸素】這一詞進行深入說明。通常在該算法應用過程中,事件B作為特征,事件A作為類別,則可轉化為
P ( 類別 ∣ 特征 ) = P ( 特征 ∣ 類別 ) ? P ( 類別 ) P ( 特征 ) P(類別|特征)=\frac{P(特征|類別)*P(類別)}{P(特征)} P(類別特征)=P(特征)P(特征類別)?P(類別)?

實際案例中,通常特征都會有多個,這里就有個前提假設條件,也正是樸素一詞的來源,它是需要特征之間相互獨立的,上述公式即可分解為
P ( 類別 ∣ 特征 ) = P ( 特 征 1 ∣ 類別 ) ? P ( 特 征 2 ∣ 類別 ) ? . . . P ( 特 征 n ∣ 類別 ) ? P ( 類別 ) P ( 特征 ) P(類別|特征)=\frac{P(特征_{1}|類別)*P(特征_2|類別)*...P(特征_n|類別)*P(類別)}{P(特征)} P(類別特征)=P(特征)P(1?類別)?P(2?類別)?...P(n?類別)?P(類別)?

二、案例演示

以實際案例對樸素貝葉斯算法進行分類加深理解,現有一信貸用戶數據集,特征包含三個方面:信用水平、收入水平、工作穩定性。類別為是否逾期還款。現根據如下數據,預測一名用戶信用水平為Good,收入水平為Low,工作穩定性為Unstable,是否會逾期還款。數據如下所示

用戶ID信用水平收入水平工作穩定性是否逾期還款
1BadLowUnstableYes
2BadHighStableNo
3BadMediumStableYes
4GoodLowStableNo
5GoodHighUnstableYes
6MediumHighStableNo
7MediumLowUnstableYes
8GoodMediumStableNo
9MediumMediumStableYes
10BadHighUnstableNo
2.1 未平滑處理

(1)計算先驗概率
P ( 是否逾期還款 = Y e s ) = 5 / 10 = 0.5 P ( 是否逾期還款 = N o ) = 5 / 10 = 0.5 P(是否逾期還款=Yes)=5/10=0.5\\ P(是否逾期還款=No)=5/10=0.5 P(是否逾期還款=Yes)=5/10=0.5P(是否逾期還款=No)=5/10=0.5
(2)計算條件概率
P ( 信用水平 = G o o d ∣ 是否逾期還款 = Y e s ) = 1 / 5 P ( 收入水平 = L o w ∣ 是否逾期還款 = Y e s ) = 2 / 5 P ( 工作穩定性 = U n s t a b l e ∣ 是否逾期還款 = Y e s ) = 3 / 5 P(信用水平=Good|是否逾期還款=Yes)=1/5\\ P(收入水平=Low|是否逾期還款=Yes)=2/5\\ P(工作穩定性=Unstable|是否逾期還款=Yes)=3/5 P(信用水平=Good是否逾期還款=Yes)=1/5P(收入水平=Low是否逾期還款=Yes)=2/5P(工作穩定性=Unstable是否逾期還款=Yes)=3/5

P ( 信用水平 = G o o d ∣ 是否逾期還款 = N o ) = 2 / 5 P ( 收入水平 = L o w ∣ 是否逾期還款 = N o ) = 1 / 5 P ( 工作穩定性 = U n s t a b l e ∣ 是否逾期還款 = N o ) = 1 / 5 P(信用水平=Good|是否逾期還款=No)=2/5\\ P(收入水平=Low|是否逾期還款=No)=1/5\\ P(工作穩定性=Unstable|是否逾期還款=No)=1/5 P(信用水平=Good是否逾期還款=No)=2/5P(收入水平=Low是否逾期還款=No)=1/5P(工作穩定性=Unstable是否逾期還款=No)=1/5

(3)預測類別
考慮各特征概率不影響最終類別判斷,在此忽略各特征概率計算
P ( 是否逾期還款 = Y e s ∣ 信用水平 = G o o d , 收入水平 = L o w , 工作穩定性 = U n s t a b l e ) ≈ P ( 信用水平 = G o o d ∣ 是否逾期還款 = Y e s ) ? P ( 收入水平 = L o w ∣ 是否逾期還款 = Y e s ) ? P ( 工作穩定性 = U n s t a b l e ∣ 是否逾期還款 = Y e s ) ? P ( 是否逾期還款 = Y e s ) = 1 / 5 ? 2 / 5 ? 3 / 5 ? 1 / 2 = 0.024 P(是否逾期還款=Yes|信用水平= Good,收入水平=Low,工作穩定性=Unstable) \approx \\P(信用水平=Good|是否逾期還款=Yes) *P(收入水平=Low|是否逾期還款=Yes)*\\P(工作穩定性=Unstable|是否逾期還款=Yes)*P(是否逾期還款=Yes)=1/5*2/5*3/5*1/2=0.024 P(是否逾期還款=Yes信用水平=Good,收入水平=Low,工作穩定性=Unstable)P(信用水平=Good是否逾期還款=Yes)?P(收入水平=Low是否逾期還款=Yes)?P(工作穩定性=Unstable是否逾期還款=Yes)?P(是否逾期還款=Yes)=1/5?2/5?3/5?1/2=0.024

P ( 是否逾期還款 = N o ∣ 信用水平 = G o o d , 收入水平 = L o w , 工作穩定性 = U n s t a b l e ) ≈ P ( 信用水平 = G o o d ∣ 是否逾期還款 = N o ) ? P ( 收入水平 = L o w ∣ 是否逾期還款 = N o ) ? P ( 工作穩定性 = U n s t a b l e ∣ 是否逾期還款 = N o ) ? P ( 是否逾期還款 = N o ) = 2 / 5 ? 1 / 5 ? 1 / 5 ? 1 / 2 = 0.008 P(是否逾期還款=No|信用水平= Good,收入水平=Low,工作穩定性=Unstable) \approx \\P(信用水平=Good|是否逾期還款=No) *P(收入水平=Low|是否逾期還款=No)*\\P(工作穩定性=Unstable|是否逾期還款=No)*P(是否逾期還款=No)=2/5*1/5*1/5*1/2=0.008 P(是否逾期還款=No信用水平=Good,收入水平=Low,工作穩定性=Unstable)P(信用水平=Good是否逾期還款=No)?P(收入水平=Low是否逾期還款=No)?P(工作穩定性=Unstable是否逾期還款=No)?P(是否逾期還款=No)=2/5?1/5?1/5?1/2=0.008

標準化后,逾期概率為75%,故判斷這名用戶將會逾期還款(信用水平為Good,收入水平為Low,工作穩定性為Unstable)

2.2 Laplace平滑處理

當預測樣本出現了訓練集未曾出現的特征組合時,那么在計算特征概率時,數值直接為0,直接影響最終分類識別。例如,如果訓練集中無信用水平為Good+逾期為Yes的樣本,則P(Good|Yes)=0,導致所有信用水平為Good的逾期樣本將無法識別。此時,就需要對計算概率進行修正,修正方式如下:
P s m o o t h ( x i ∣ y ) = c o u n t ( x i , y ) + α c o u n t ( y ) + K ? α P_{smooth}(x_i|y)=\frac{count(x_i,y)+\alpha}{count(y)+K*\alpha} Psmooth?(xi?y)=count(y)+K?αcount(xi?,y)+α?
其中, α \alpha α為平滑參數,通常取1; K為當前特征的數量(例如信用水平有Bad/Good/Medium,則K=3)

(1) 平滑處理后的條件概率
P ( 信用水平 = G o o d ∣ 是否逾期還款 = Y e s ) = ( 1 + 1 ) / ( 3 + 5 ) = 1 / 4 P ( 收入水平 = L o w ∣ 是否逾期還款 = Y e s ) = ( 2 + 1 ) / ( 3 + 5 ) = 3 / 8 P ( 工作穩定性 = U n s t a b l e ∣ 是否逾期還款 = Y e s ) = ( 3 + 1 ) / ( 2 + 5 ) = 4 / 7 P(信用水平=Good|是否逾期還款=Yes)=(1+1)/(3+5)=1/4\\ P(收入水平=Low|是否逾期還款=Yes)=(2+1)/(3+5)=3/8\\ P(工作穩定性=Unstable|是否逾期還款=Yes)=(3+1)/(2+5)=4/7 P(信用水平=Good是否逾期還款=Yes)=(1+1)/(3+5)=1/4P(收入水平=Low是否逾期還款=Yes)=(2+1)/(3+5)=3/8P(工作穩定性=Unstable是否逾期還款=Yes)=(3+1)/(2+5)=4/7

P ( 信用水平 = G o o d ∣ 是否逾期還款 = N o ) = ( 1 + 2 ) / ( 3 + 5 ) = 3 / 8 P ( 收入水平 = L o w ∣ 是否逾期還款 = N o ) = ( 1 + 1 ) / ( 3 + 5 ) = 1 / 4 P ( 工作穩定性 = U n s t a b l e ∣ 是否逾期還款 = N o ) = ( 1 + 1 ) / ( 2 + 5 ) = 2 / 7 P(信用水平=Good|是否逾期還款=No)=(1+2)/(3+5)=3/8\\ P(收入水平=Low|是否逾期還款=No)=(1+1)/(3+5)=1/4\\ P(工作穩定性=Unstable|是否逾期還款=No)=(1+1)/(2+5)=2/7 P(信用水平=Good是否逾期還款=No)=(1+2)/(3+5)=3/8P(收入水平=Low是否逾期還款=No)=(1+1)/(3+5)=1/4P(工作穩定性=Unstable是否逾期還款=No)=(1+1)/(2+5)=2/7

(2) 平滑處理預測

P ( 是否逾期還款 = Y e s ∣ 信用水平 = G o o d , 收入水平 = L o w , 工作穩定性 = U n s t a b l e ) ≈ P ( 信用水平 = G o o d ∣ 是否逾期還款 = Y e s ) ? P ( 收入水平 = L o w ∣ 是否逾期還款 = Y e s ) ? P ( 工作穩定性 = U n s t a b l e ∣ 是否逾期還款 = Y e s ) ? P ( 是否逾期還款 = Y e s ) = 1 / 4 ? 3 / 8 ? 4 / 7 ? 1 / 2 ≈ 0.0268 P(是否逾期還款=Yes|信用水平= Good,收入水平=Low,工作穩定性=Unstable) \approx \\P(信用水平=Good|是否逾期還款=Yes) *P(收入水平=Low|是否逾期還款=Yes)*\\P(工作穩定性=Unstable|是否逾期還款=Yes)*P(是否逾期還款=Yes)=1/4*3/8*4/7*1/2\approx0.0268 P(是否逾期還款=Yes信用水平=Good,收入水平=Low,工作穩定性=Unstable)P(信用水平=Good是否逾期還款=Yes)?P(收入水平=Low是否逾期還款=Yes)?P(工作穩定性=Unstable是否逾期還款=Yes)?P(是否逾期還款=Yes)=1/4?3/8?4/7?1/20.0268

P ( 是否逾期還款 = N o ∣ 信用水平 = G o o d , 收入水平 = L o w , 工作穩定性 = U n s t a b l e ) ≈ P ( 信用水平 = G o o d ∣ 是否逾期還款 = N o ) ? P ( 收入水平 = L o w ∣ 是否逾期還款 = N o ) ? P ( 工作穩定性 = U n s t a b l e ∣ 是否逾期還款 = N o ) ? P ( 是否逾期還款 = N o ) = 3 / 8 ? 1 / 4 ? 2 / 7 ? 1 / 2 ≈ 0.0133 P(是否逾期還款=No|信用水平= Good,收入水平=Low,工作穩定性=Unstable) \approx \\P(信用水平=Good|是否逾期還款=No) *P(收入水平=Low|是否逾期還款=No)*\\P(工作穩定性=Unstable|是否逾期還款=No)*P(是否逾期還款=No)=3/8*1/4*2/7*1/2\approx0.0133 P(是否逾期還款=No信用水平=Good,收入水平=Low,工作穩定性=Unstable)P(信用水平=Good是否逾期還款=No)?P(收入水平=Low是否逾期還款=No)?P(工作穩定性=Unstable是否逾期還款=No)?P(是否逾期還款=No)=3/8?1/4?2/7?1/20.0133

標準化后,逾期概率為66.7%,故仍判斷這名用戶還是會逾期還款

三、Python實現

接下來以Python的方式實現上述2種處理方式

# 樸素貝葉斯
import numpy as np
import pandas as pd
data = pd.DataFrame({'credit_history':['Bad','Bad','Bad','Good','Good','Medium','Medium','Good','Medium','Bad'],'income_level':['Low','High','Medium','Low','High','High','Low','Medium','Medium','High'],'job_stablity':['Unstable','Stable','Stable','Stable','Unstable','Stable','Unstable','Stable','Stable','Unstable'],'is_delay':['Yes','No','Yes','No','Yes','No','Yes','No','Yes','No']})def cal_prob(data_list,label_list,alpha):all_label       = set(np.unique(label_list))category,counts = np.unique(data_list,return_counts=True)retain_label    = all_label.difference(category)n = len(all_label)count_dict = dict(zip(category,counts))for label in retain_label:if count_dict.get(label) is None:count_dict[label]=0prob_dict = {key:(value+alpha)/(sum(count_dict.values())+alpha*n) for key,value in count_dict.items()}return prob_dictdelay_prob       = cal_prob(data['is_delay'],[],0)# 不使用拉普拉斯平滑處理
credict_yes_prob = cal_prob(data[data['is_delay']=='Yes']['credit_history'],[],0)
income_yes_prob  = cal_prob(data[data['is_delay']=='Yes']['income_level'],[],0)
job_yes_stablity = cal_prob(data[data['is_delay']=='Yes']['job_stablity'],[],0)credict_no_prob = cal_prob(data[data['is_delay']=='No']['credit_history'],[],0)
income_no_prob  = cal_prob(data[data['is_delay']=='No']['income_level'],[],0)
job_no_stablity = cal_prob(data[data['is_delay']=='No']['job_stablity'],[],0)credict_yes_prob_smooth = cal_prob(data[data['is_delay']=='Yes']['credit_history'],data['credit_history'],1)
income_yes_prob_smooth  = cal_prob(data[data['is_delay']=='Yes']['income_level'],data['income_level'],1)
job_yes_stablity_smooth = cal_prob(data[data['is_delay']=='Yes']['job_stablity'],data['job_stablity'],1)credict_no_prob_smooth = cal_prob(data[data['is_delay']=='No']['credit_history'],data['credit_history'],1)
income_no_prob_smooth  = cal_prob(data[data['is_delay']=='No']['income_level'],data['income_level'],1)
job_no_stablity_smooth = cal_prob(data[data['is_delay']=='No']['job_stablity'],data['job_stablity'],1)# 未平滑處理:推測一個人信用GOOD,收入水平Low,工作Unstable 情況下是否會逾期還款
predict_yes_delay = delay_prob['Yes']*credict_yes_prob['Good']*income_yes_prob['Low']*job_yes_stablity['Unstable']
predict_no_delay = delay_prob['No']*credict_no_prob['Good']*income_no_prob['Low']*job_no_stablity['Unstable']# 拉普拉斯平滑處理:推測一個人信用GOOD,收入水平Low,工作Unstable 情況下是否會逾期還款
predict_yes_delay_smooth = delay_prob['Yes']*credict_yes_prob_smooth['Good']*income_yes_prob_smooth['Low']*job_yes_stablity_smooth['Unstable']
predict_no_delay_smooth = delay_prob['No']*credict_no_prob_smooth['Good']*income_no_prob_smooth['Low']*job_no_stablity_smooth['Unstable']print('未平滑處理,標準化逾期概率:{}%'.format(round(100*predict_yes_delay/(predict_yes_delay+predict_no_delay),2)))
print('平滑處理,標準化逾期概率:{}%'.format(round(100*predict_yes_delay_smooth/(predict_yes_delay_smooth+predict_no_delay_smooth),2)))

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/912890.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/912890.shtml
英文地址,請注明出處:http://en.pswp.cn/news/912890.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RAG從入門到高階(二):Retrieve-and-Rerank

在上一篇教程中,我們了解了 Naive RAG 的基本原理和實現。它就像一個剛剛學會查找資料的新手,雖然能找到一些信息,但有時候找到的并不夠精準,甚至會有一些無關的干擾。 今天,我們將介紹 Retrieve-and-Rerank RAG&…

【腳本】Linux磁盤目錄掛載腳本(不分區)

以下是一個不帶分區,直接掛載整個磁盤到指定目錄的腳本。該腳本會檢查磁盤是否已掛載,自動創建文件系統(可選),并配置開機自動掛載: #!/bin/bash# 磁盤直接掛載腳本(不分區) # 使用…

壁紙網站分享

壁紙網站鏈接: 1.Microsoft Design - Wallpapers:https://wallpapers.microsoft.design/?refwww.8kmm.com 2.哲風壁紙:https://haowallpaper.com/wallpaperForum 3.壁紙湖:https://bizihu.com/ 4.極簡壁紙:https://bz…

XILINX FPGA如何做時序分析和時序優化?

時序分析和時序優化是FPGA開發流程中關鍵步驟,確保設計在目標時鐘頻率下正確運行,避免時序違例(如建立時間或保持時間不足)。以下以Xilinx Kintex-7系列FPGA為例,詳細介紹時序分析和時序優化的方法、工具、流程及實用技…

linux screen輕松管理長時間運行的任務

以下是針對 Alpine Linux 環境下 screen 的安裝與使用指南,結合遷移數據場景的具體操作步驟: 1. 安裝 screen? 在 Alpine Linux 中需通過 apk 安裝(非默認預裝): apk add screen 驗證安裝: screen --…

VR制作公司業務范圍

VR制作公司概念、能力與服務范圍 虛擬現實(Virtual Reality, VR)技術,作為當代科技的前沿領域,通過計算機技術模擬出真實或虛構的世界環境,使用戶能夠沉浸其中并進行交互體驗。VR制作公司,是這一領域的專業…

STM32之28BYJ-48步進電機驅動

目錄 一、引言 二、28BYJ-48步進電機簡介 2.1 基本特性 2.2 內部結構 2.3 工作模式 2.4 驅動原理 2.5 性能特點 2.6 驅動方案 2.7 使用注意事項 三、ULN2003驅動板簡介 3.1 基本概述 3.2 電路結構 3.3 驅動原理 3.4 接口定義 3.5 使用注意事項 四、…

TDSQL如何查出某一列中的逗號數量

在 TDSQL 中,要統計某一列里逗號的數量,可借助字符串函數來實現。下面為你介紹具體的實現方法: sql SELECT your_column,LENGTH(your_column) - LENGTH(REPLACE(your_column, ,, )) AS comma_count FROM your_table;下面對這段 SQL 進行詳細…

如何避免服務器出現故障情況?

服務器作為存儲數據信息的重要網絡設備,能夠保護企業重要數據的安全性,但是隨著網絡攻擊的不斷拓展,各個行業中的服務器也會遭受到不同類型的網絡攻擊,嚴重的會導致服務器業務中斷出現故障,給企業帶來巨大的經濟損失。…

C++ 優先級隊列

一、引言 隊列的特性是先進先出。優先級隊列的本質是一個有序隊列,根據成員的優先級,對隊列中的成員進行排序。優先級隊列默認是大頂堆,即堆頂元素最大 二、常用函數 empty()size()top()push()emplace()pop()swap() 三、代碼示例 class …

學習筆記(27):線性回歸基礎與實戰:從原理到應用的簡易入門

線性回歸:通過擬合線性方程(如 \(y w_1x_1 w_2x_2 b\))預測房價、銷售額等連續變量,需掌握特征標準化、正則化(L1/L2)防止過擬合。應用場景:金融領域的股價預測、電商用戶消費金額預估。 線性…

kubesphere安裝openelb

kubesphere安裝openelb 1.安裝openelb 2.修改配置文件 1.命令直接修改 $ kubectl edit configmap kube-proxy -n kube-system ipvs:strictARP: truemode: "ipvs"重啟kube-proxy組件 $ kubectl rollout restart daemonset kube-proxy -n kube-system 2.通過界面去修…

數據庫10:MySQL的數據類型與約束和屬性設置,數據模式

一.數據類型 整數類型(integer types) 數據類型字節有符號范圍無符號范圍說明tinyint1-128 ~ 1270 ~ 255非常小的整數smallint2-32,768 ~ 32,7670 ~ 65,535小整數mediumint3-8,388,608 ~ 8,388,6070 ~ 16,777,215中等整數int4-2,147,483,648 ~ 2,147,4…

uniapp項目中node_modules\sass\sass.dart.js的體積過大怎么處理

用Node-Sass替代(如果適用):雖然Dart Sass是Sass的主要實現之一,但有時它可能會比Node-Sass占用更多的空間。如果你不需要Dart Sass特有的功能,可以考慮切換到Node-Sass(注意Node-Sass已停止維護&#xff0…

界面組件DevExpress WPF中文教程:Grid - 如何獲取節點?

DevExpress WPF擁有120個控件和庫,將幫助您交付滿足甚至超出企業需求的高性能業務應用程序。通過DevExpress WPF能創建有著強大互動功能的XAML基礎應用程序,這些應用程序專注于當代客戶的需求和構建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件…

Kalibr解毒填坑(一):相機標定失敗

文章目錄 ??簡介?? 解毒踩坑?? 主點錯誤??簡介 相機內參標定通常涉及確定焦距(fx, fy)、主點(cx, cy)、畸變系數(徑向和切向)等參數。Kalibr是一個開源的標定工具,支持多相機、IMU和聯合標定,適用于復雜的傳感器系統。 但kalibar標定相機內參受到數據和配置影…

Swift 的基礎設計哲學是 “通過模塊化組合實現安全與效率的平衡“,就像用標準化工業零件建造摩天大樓

一、基礎模塊:地基與鋼結構(Basic Types & Collections) 比喻:積木與工具箱,決定建筑的穩定性和容量。場景:搭建程序的基礎結構,如變量、數據類型、運算符。包含:基本語法、運算…

【RK3568+PG2L50H開發板實驗例程】Linux部分/FPGA dma_memcpy_demo 讀寫案例

本原創文章由深圳市小眼睛科技有限公司創作,版權歸本公司所有,如需轉載,需授權并注明出處(www.meyesemi.com) 1.案例簡介 案例功能描述:ARM端利用 PCIe總線對 FPGA的 DRAM執行讀寫操作。應用程序通過 ioctl函數觸發 …

7.3實驗部分

一、HDFS基礎操作 以root用戶登錄,創建如下HDFS目錄: /dw/yourname/input hadoop fs -mkdir -p /dw/zhanggengchen/input /dw/yourname/output hadoop fs -mkdir -p /dw/zhanggengchen/output 輸出結果: [rootmaster hadoop-mapreduce]# ha…

[nett5: AddressedEnvelope]-源碼解析

AddressedEnvelope AddressedEnvelope<M, A> 表示一個帶有發送者和接收者地址的消息封裝&#xff0c;常用于處理如 UDP 數據報這類含地址信息的通信場景。 public interface AddressedEnvelope<M, A extends SocketAddress> {// 實際的消息內容M content();// 消…