最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)數(shù)據(jù)挖掘中分箱的示例代碼

 更新時間:2024年01月02日 09:25:39   作者:python收藏家  
數(shù)據(jù)分箱(英語:Data?binning)是一種數(shù)據(jù)預(yù)處理方法,用于最大限度地減少小觀測誤差的影響,本文主要為大家介紹了python實現(xiàn)數(shù)據(jù)分箱的相關(guān)知識,感興趣的可以了解下

數(shù)據(jù)分箱(英語:Data binning)是一種數(shù)據(jù)預(yù)處理方法,用于最大限度地減少小觀測誤差的影響。原始數(shù)據(jù)值被劃分為稱為bin的小區(qū)間,然后用為該bin計算的一般值替換它們。這對輸入數(shù)據(jù)具有平滑效果,并且在小數(shù)據(jù)集的情況下還可以減少過擬合的機會。

有兩種常見方法可以將數(shù)據(jù)劃分到箱中:

等頻分箱:分箱具有相等的頻率,每個區(qū)間包含大致相等的實例數(shù)量。

等寬分箱:分箱具有等寬,每個分箱的范圍被定義為[min + w],[min +2 w], [min + n w],

其中w = (max – min)/(箱數(shù))。

示例

等頻分箱

Input:[5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] 

Output:
[5, 10, 11, 13]
[15, 35, 50, 55]
[72, 92, 204, 215]

等寬分箱

Input: [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215]

Output:
[5, 10, 11, 13, 15, 35, 50, 55, 72]
[92]
[204, 215]

分箱方法的Python實現(xiàn)

# equal frequency 
def equifreq(arr1, m):	 
	a = len(arr1) 
	n = int(a / m) 
	for i in range(0, m): 
		arr = [] 
		for j in range(i * n, (i + 1) * n): 
			if j >= a: 
				break
			arr = arr + [arr1[j]] 
		print(arr) 

# equal width 
def equiwidth(arr1, m): 
	a = len(arr1) 
	w = int((max(arr1) - min(arr1)) / m) 
	min1 = min(arr1) 
	arr = [] 
	for i in range(0, m + 1): 
		arr = arr + [min1 + w * i] 
	arri=[] 
	
	for i in range(0, m): 
		temp = [] 
		for j in arr1: 
			if j >= arr[i] and j <= arr[i+1]: 
				temp += [j] 
		arri += [temp] 
	print(arri) 

# data to be binned 
data = [5, 10, 11, 13, 15, 35, 50, 55, 72, 92, 204, 215] 

# no of bins 
m = 3

print("equal frequency binning") 
equifreq(data, m) 

print("\n\nequal width binning") 
equiwidth(data, 3) 

輸出

equal frequency binning
[5, 10, 11, 13]
[15, 35, 50, 55]
[72, 92, 204, 215]


equal width binning
[[5, 10, 11, 13, 15, 35, 50, 55, 72], [92], [204, 215]] 

優(yōu)缺點

等頻分箱

優(yōu)點:

能夠處理數(shù)據(jù)分布不均勻的情況,可以更好地利用數(shù)據(jù)的整體分布。

對于某些需要平衡數(shù)據(jù)分布的場景,等頻分箱可以更好地保證數(shù)據(jù)的代表性。

缺點:

對于某些數(shù)據(jù)范圍較大的特征,等頻分箱可能會導(dǎo)致一些箱子中的數(shù)據(jù)范圍過大或過小的問題。

等頻分箱需要更多的計算資源,因為需要對每個可能的值進行計數(shù),然后找到每個箱子中的中位數(shù)。

等寬分箱

優(yōu)點:

易于理解和實現(xiàn),根據(jù)業(yè)務(wù)理解,可快速對數(shù)據(jù)進行初步的劃分。

對于異常值,等寬分箱可以將其放入單獨的箱子,從而更好地保護數(shù)據(jù)隱私。

缺點:

對于數(shù)據(jù)分布不均勻的情況,可能會存在數(shù)據(jù)分布過于傾斜,導(dǎo)致某些箱子中的數(shù)據(jù)過多或過少的問題。

這種方法忽略了數(shù)據(jù)的具體取值范圍,可能導(dǎo)致一些重要的細節(jié)被忽略。

總的來說,選擇等頻分箱還是等寬分箱,需要根據(jù)實際的數(shù)據(jù)分布和業(yè)務(wù)需求來決定。

到此這篇關(guān)于python實現(xiàn)數(shù)據(jù)挖掘中分箱的示例代碼的文章就介紹到這了,更多相關(guān)python數(shù)據(jù)分箱內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Django實現(xiàn)支付寶付款和微信支付的示例代碼

    Django實現(xiàn)支付寶付款和微信支付的示例代碼

    支付寶支付和微信支付是當(dāng)今互聯(lián)網(wǎng)產(chǎn)品常用的功能,這篇文章主要介紹了Django實現(xiàn)支付寶付款和微信支付的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Python實現(xiàn)一鍵摳圖的示例代碼

    Python實現(xiàn)一鍵摳圖的示例代碼

    在日常的工作和生活中,我們經(jīng)常會遇到需要摳圖的場景,即便是只有一張圖片需要摳,也會摳得我們不耐煩。本文將為大家分享一個Python實現(xiàn)一鍵摳圖的示例代碼,需要的可以參考一下
    2022-08-08
  • 最新評論

    都江堰市| 洪泽县| 长丰县| 科尔| 河曲县| 全州县| 罗山县| 余江县| 新野县| 信阳市| 凌海市| 延边| 大英县| 洞口县| 于都县| 融水| 临湘市| 牡丹江市| 庄河市| 拉孜县| 屯昌县| 庆安县| 错那县| 营口市| 万州区| 南和县| 津市市| 凤山市| 林口县| 怀化市| 大埔区| 杭州市| 泌阳县| 府谷县| 盐山县| 垦利县| 田林县| 澄城县| 江城| 文登市| 丹江口市|