Numpy 功能十分強(qiáng)大,很多我們想要的復(fù)雜操作都有實(shí)現(xiàn)。今天分享幾個(gè)數(shù)據(jù)分析中經(jīng)常需要用到的重要函數(shù)。掌握這些函數(shù)可以幫助我們保持代碼整潔并且避免重復(fù)造輪子。
準(zhǔn)備工作
導(dǎo)入numpy
import numpy as np
示例數(shù)據(jù)
本文以二分類任務(wù)為例,通常我們的model會(huì)輸出預(yù)測的概率,得到概率后需要進(jìn)行后續(xù)的處理,比如:
?根據(jù)閾值,將概率大于某個(gè)閾值的label設(shè)置為1,小于閾值的設(shè)置為0?在模型診斷過程中,找出滿足某些條件的樣本
本文使用的示例數(shù)據(jù)如下:
predict_prob = np.array([0.1,0.3,0.7,0.4,0.9])
where()
np.where() 方法可以幫助我們找到array中滿足條件的元素的位置。現(xiàn)在我們可以使用np.where()找出所有預(yù)測概率大于0.5的的元素了:
predict_prob = np.array([0.1,0.3,0.7,0.4,0.9])np.where(predict_prob > 0.5)# output:array([2, 4]),)
如果我們想將所有概率大于0.5的元素替換為1,否則替換為0,該怎么做呢?
一個(gè)簡單粗暴的方式是先用上面的方法分別找出array中概率大于或者小于0.5的索引,然后再對這些位置的元素重新賦值。
其實(shí),np.where() 一個(gè)函數(shù)就能完成所有的操作,只需要添加兩個(gè)參數(shù):
?第一個(gè)參數(shù)是滿足條件替換的值?第二個(gè)參數(shù)是不滿足條件替換的值
predict_prob = np.array([0.1,0.3,0.7,0.4,0.9])np.where(predict_prob > 0.5, 1, 0)# output: array([0, 0, 1, 0, 1])
argmin()、argmax()、argsort()
np.argmin()、np.argmax()方法會(huì)返回array中最小或最大的元素索引,對示例數(shù)據(jù)運(yùn)行結(jié)果如下:
predict_prob = np.array([0.1,0.3,0.7,0.4,0.9]) np.argmax(predict_prob)# output: 4np.argmin(predict_prob)# output: 0
我們成功找到了array中最大最小的元素索引,那怎樣找到前n個(gè)最大的或最小的值呢?
現(xiàn)在該輪到np.sort()上場了
predict_prob = np.array([0.1,0.3,0.7,0.4,0.9])np.argsort(predict_prob)# output: array([0, 1, 3, 2, 4])
np.argsort()方法還支持多維數(shù)據(jù)的排序,感興趣的可以自行查看Numpy官方文檔[1]
intersect1d()
intersect1d()要做的是,它會(huì)找出兩個(gè)array中的交集,這個(gè)函數(shù)和前面的幾個(gè)函數(shù)不同,返回的不是索引位置,而是array中的實(shí)際值。
本函數(shù)我們使用新的示例數(shù)據(jù):
arr1 = np.array([1,2,4,4,6])arr2 = np.array([2,3,4,5,6])
現(xiàn)在,我們可以使用intersect1d()找出兩個(gè)數(shù)組共同的元素了:
np.intersect1d(arr1, arr2)# output: array([2, 4, 6])
-
閾值
+關(guān)注
關(guān)注
0文章
124瀏覽量
18957 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4417瀏覽量
67509 -
數(shù)據(jù)分析
+關(guān)注
關(guān)注
2文章
1516瀏覽量
36217
原文標(biāo)題:Numpy 中不得不知的4個(gè)重要函數(shù)
文章出處:【微信號(hào):AI_shequ,微信公眾號(hào):人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
API數(shù)據(jù)分析:淘寶流量來源分析,渠道優(yōu)化!
利用拼多多用戶API進(jìn)行粉絲數(shù)據(jù)分析,有效提升用戶粘性
經(jīng)營數(shù)據(jù)分析可以通過哪些方式
誰有3566+電池+POE充電的方案,有個(gè)項(xiàng)目需要用該功能的主板
軟件設(shè)計(jì)及串口相關(guān)函數(shù)介紹
漢思新材料:無人機(jī)哪些部件需要用到環(huán)氧固定膠
機(jī)床數(shù)據(jù)采集需要用到協(xié)議轉(zhuǎn)換網(wǎng)關(guān)嗎
如何通過數(shù)據(jù)分析識(shí)別設(shè)備故障模式?
哪些工程中需要用到多向應(yīng)變計(jì)組?
構(gòu)建自定義電商數(shù)據(jù)分析API
AI數(shù)據(jù)分析儀設(shè)計(jì)原理圖:RapidIO信號(hào)接入 平板AI數(shù)據(jù)分析儀
企業(yè)數(shù)字化改造需要用到哪些平臺(tái)
PD3173放電正常;充電無法帶電池,沒有充電電流,是否需要用MCU通過IIC設(shè)置相關(guān)參數(shù),如何設(shè)置?
電力|智能配電房需要用到哪些設(shè)備?
降本增效Modbustcp轉(zhuǎn)Devicenet網(wǎng)關(guān)的高效應(yīng)用
幾個(gè)數(shù)據(jù)分析中經(jīng)常需要用到的重要函數(shù)
評論