欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)曲線(xiàn)的肘部點(diǎn)檢測(cè)詳解

 更新時(shí)間:2023年02月28日 09:48:20   作者:mantoureganmian  
肘部法則是經(jīng)常使用的法則。很多時(shí)候,可以憑人工經(jīng)驗(yàn)去找最優(yōu)拐點(diǎn),但有時(shí)需要自動(dòng)尋找拐點(diǎn)。本文為大家介紹了Python實(shí)現(xiàn)曲線(xiàn)的肘部點(diǎn)檢測(cè)的方法,希望對(duì)大家有所幫助

肘部法則是經(jīng)常使用的法則。很多時(shí)候,可以憑人工經(jīng)驗(yàn)去找最優(yōu)拐點(diǎn),但有時(shí)需要自動(dòng)尋找拐點(diǎn)。最近解決了一下這個(gè)問(wèn)題,希望對(duì)各位有用。

一. 術(shù)語(yǔ)解釋

**肘形曲線(xiàn)(elbow curve)**類(lèi)似人胳膊狀的曲線(xiàn),拐點(diǎn)在肘部。**膝形曲線(xiàn)(knee curve)人腿形的曲線(xiàn),拐點(diǎn)在膝蓋。這類(lèi)曲線(xiàn)和二八原則(即帕托累法則)**不謀而合,做決策時(shí),自然選擇肘點(diǎn)或膝點(diǎn)做參考。按照拐點(diǎn)在左還是右側(cè)來(lái)分,細(xì)分為:左膝點(diǎn)曲線(xiàn),右膝點(diǎn)曲線(xiàn),左肘點(diǎn)曲線(xiàn),右肘點(diǎn)曲線(xiàn)。

曲線(xiàn)示意圖如下:

左膝點(diǎn)曲線(xiàn)膝點(diǎn)在左邊的曲線(xiàn)(術(shù)語(yǔ)是我自己起的,明白意思就好,膝點(diǎn)在左邊)如下:

從形狀上,四種曲線(xiàn)沒(méi)有大的區(qū)別,可以相互轉(zhuǎn)化:

肘曲線(xiàn)與膝曲線(xiàn)相互轉(zhuǎn)化,用曲線(xiàn)最大值減去曲線(xiàn)各點(diǎn)值即可。同類(lèi)型曲線(xiàn),左右拐點(diǎn)轉(zhuǎn)化,就是切換升序降序排序即可。

它們都可以計(jì)算拐點(diǎn),其中以左膝點(diǎn)曲線(xiàn)(見(jiàn)下圖)計(jì)算拐點(diǎn)最簡(jiǎn)單,所以以其為標(biāo)準(zhǔn)曲線(xiàn)。

二. 拐點(diǎn)檢測(cè)

左膝點(diǎn)曲線(xiàn),原理是其二次曲線(xiàn)導(dǎo)數(shù)最大點(diǎn),如下:

對(duì)于離散序列來(lái)說(shuō),當(dāng)x軸差為1時(shí),二次曲線(xiàn)計(jì)算公式為:

f′′(xi?)=f(xi−1?)+f(xi+1?)−2*f(xi?)

推薦一個(gè)簡(jiǎn)單的包:kneed Github地址

支持:Python 3.7, 3.8, 3.9, and 3.10. 安裝如下:

$ conda install -c conda-forge kneed
# 或者
$ pip install kneed # To install only knee-detection algorithm
$ pip install kneed[plot] # To also install plotting functions for quick 

使用如下:

from kneed import DataGenerator, KneeLocator

x, y = DataGenerator.figure2()

print([round(i, 3) for i in x])
print([round(i, 3) for i in y])

# out: [0.0, 0.111, 0.222, 0.333, 0.444, 0.556, 0.667, 0.778, 0.889, 1.0]
# out: [-5.0, 0.263, 1.897, 2.692, 3.163, 3.475, 3.696, 3.861, 3.989, 4.091]

kneedle = KneeLocator(x, y, S=1.0, curve="concave", direction="increasing")

print(round(kneedle.knee, 3))
# out: 0.222

print(round(kneedle.elbow, 3))
# out: 0.222

到此這篇關(guān)于Python實(shí)現(xiàn)曲線(xiàn)的肘部點(diǎn)檢測(cè)詳解的文章就介紹到這了,更多相關(guān)Python曲線(xiàn)肘部點(diǎn)檢測(cè)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pyMySQL SQL語(yǔ)句傳參問(wèn)題,單個(gè)參數(shù)或多個(gè)參數(shù)說(shuō)明

    pyMySQL SQL語(yǔ)句傳參問(wèn)題,單個(gè)參數(shù)或多個(gè)參數(shù)說(shuō)明

    這篇文章主要介紹了pyMySQL SQL語(yǔ)句傳參問(wèn)題,單個(gè)參數(shù)或多個(gè)參數(shù)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • python:動(dòng)態(tài)路由的Flask程序代碼

    python:動(dòng)態(tài)路由的Flask程序代碼

    今天小編就為大家分享一篇python:動(dòng)態(tài)路由的Flask程序代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • Python集成開(kāi)發(fā)環(huán)境pycharm配置git的實(shí)現(xiàn)步驟

    Python集成開(kāi)發(fā)環(huán)境pycharm配置git的實(shí)現(xiàn)步驟

    本文主要介紹了Python集成開(kāi)發(fā)環(huán)境pycharm配置git的實(shí)現(xiàn)步驟,文中通過(guò)圖文的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • 詳解Python圖像形態(tài)學(xué)處理(開(kāi)運(yùn)算,閉運(yùn)算,梯度運(yùn)算)

    詳解Python圖像形態(tài)學(xué)處理(開(kāi)運(yùn)算,閉運(yùn)算,梯度運(yùn)算)

    數(shù)學(xué)形態(tài)學(xué)(Mathematical Morphology)是一種應(yīng)用于圖像處理和模式識(shí)別領(lǐng)域的新方法。本文將為大家介紹Python圖像形態(tài)學(xué)處理中的開(kāi)運(yùn)算、閉運(yùn)算和梯度運(yùn)算,感興趣的可以了解一下
    2022-06-06
  • Python中處理unchecked未捕獲異常實(shí)例

    Python中處理unchecked未捕獲異常實(shí)例

    這篇文章主要介紹了Python中處理unchecked未捕獲異常實(shí)例,本文講解使用回調(diào)或者是鉤子來(lái)處理unchecked異常,需要的朋友可以參考下
    2015-01-01
  • Python實(shí)現(xiàn)pdf轉(zhuǎn)word詳細(xì)代碼

    Python實(shí)現(xiàn)pdf轉(zhuǎn)word詳細(xì)代碼

    在日常工作中,我們經(jīng)常會(huì)遇到需要將PDF文件轉(zhuǎn)換成Word文件的需求。雖然市面上有許多PDF轉(zhuǎn)Word的工具,但是它們通常需要付費(fèi)或者有轉(zhuǎn)換后的格式問(wèn)題,這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)pdf轉(zhuǎn)word的相關(guān)資料,需要的朋友可以參考下
    2023-09-09
  • 為什么說(shuō)python更適合樹(shù)莓派編程

    為什么說(shuō)python更適合樹(shù)莓派編程

    在本篇文章里小編給大家整理的是關(guān)于為什么說(shuō)python更適合樹(shù)莓派編程的相關(guān)文章,需要的朋友們可以參考學(xué)習(xí)下。
    2020-07-07
  • 在python中畫(huà)正態(tài)分布圖像的實(shí)例

    在python中畫(huà)正態(tài)分布圖像的實(shí)例

    今天小編就為大家分享一篇在python中畫(huà)正態(tài)分布圖像的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • python中的裝飾器該如何使用

    python中的裝飾器該如何使用

    裝飾器經(jīng)常被用于有切面需求的場(chǎng)景,較為經(jīng)典的有插入日志、性能測(cè)試、事務(wù)處理等。裝飾器是解決這類(lèi)問(wèn)題的絕佳設(shè)計(jì),有了裝飾器,我們就可以抽離出大量函數(shù)中與函數(shù)功能本身無(wú)關(guān)的雷同代碼并繼續(xù)重用。裝飾器的作用就是為已經(jīng)存在的對(duì)象添加額外的功能。
    2021-06-06
  • 詳細(xì)聊聊為什么Python中0.2+0.1不等于0.3

    詳細(xì)聊聊為什么Python中0.2+0.1不等于0.3

    最近在學(xué)習(xí)過(guò)程中發(fā)現(xiàn)在計(jì)算機(jī)JS時(shí)發(fā)現(xiàn)了一個(gè)非常有意思事,0.1+0.2的結(jié)果不是0.3,而是0.30000000000000004,下面這篇文章主要給大家介紹了關(guān)于為什么Python中0.2+0.1不等于0.3的相關(guān)資料,需要的朋友可以參考下
    2022-12-12

最新評(píng)論