簡體   English   中英

在 Python 中對一系列數據進行分類的最佳方法

[英]Best way to classify a series of data in Python

我一直在研究圖像處理問題,並預處理了一堆圖像以找到這些圖像中最突出的水平線。 根據這些數據,我想對圖像的透視角度好還是角度不好進行分類。

數據點是我能夠在一系列圖像中檢測到的線的角度。 基於圖像的視角,我知道這些數據有時代表“好角度”圖像,而在其他一些情況下,它代表“壞角度”圖像。

我嘗試了 np.polyfit,找到直線的斜率,找到斜率的導數,以及其他幾種方法,但無法通過查看這些數據找到一個如此明顯的簡單度量。

這些是“好角度”的例子。 您可以注意到它們從正面開始,然后是負面。

角度數據不錯

[7.97, 7.99, 9.01, 5.07, 5.01, 14.81, 8.86, -2.11, -0.86, 1.06, 0.86, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.97, 0.92, -0.95, -2.05, -2.2, -2.78, -2.93, -2.8, -2.99, -2.88, -2.94, -2.81, -3.04, -3.07, -3.0]

[3.96, 4.12, 6.04, 6.03, 6.08, 5.99, 6.99, 6.81, 6.81, 6.1, 6.1, 4.06, 3.98, 4.03, 3.92, 3.95, 3.84, 3.94, 4.07, 3.95, 3.87, 2.65, 1.88, 0.0, 0.0, -0.94, -1.06, -1.81, -1.81, -3.95, -4.09, -4.0, -3.93]

[8.75, 10.06, 9.02, 9.96, 9.89, 10.08, 9.99, 10.0, 10.02, 9.95, 4.04, 4.03, 3.93, -1.18, -0.95, -1.12, -1.02, -1.76, -1.92, -2.06, -5.99, -5.83, -6.01, -4.96, -7.84, -7.67]

這些是“壞角度”圖像的示例。 你可以注意到它們從負數開始,后面的都是正數。 您還可以注意到,這些數字明顯大於 0。

壞角度數據

[-13.92, -14.93, -4.11, -4.04, -2.18, 17.12, 18.01, 16.91, 15.95, 16.75, 14.16, 14.04]

[-14.93, -14.93, -7.92, -4.04, -5.91, -4.98, 16.08, 16.26, 16.24]

[11.81, -9.77, -10.2, -9.96, -10.09, -6.81, 2.13, 3.02, 2.77, 3.01, 2.78, 5.92, 5.96, 5.93, 2.96, 3.06, 1.03, 2.94, 6.2, 5.81, 5.04, 7.13, 5.89, 5.09, 4.89, 3.91, 4.15, 17.99, 6.04, 5.67, 7.24, 16.34, 17.02, 16.92, 15.99, 16.93, 15.76]

由於這是基於從真實圖像中捕獲的數據,我們在數據集中確實存在一些不規則性。 我想避免任何故障並使用可以將我的陣列分類為好角度或壞角度的指標。

如果您有足夠的數據,最簡單的方法是比較二進制Scikit-learn分類器,然后選擇訓練分數收斂最好的分類器。

如果我的假設是真的,我看不出任何復雜分類器的原因。 我只是檢查角度是否總是變大或總是變小。 每次遵循此規則時,您都會向質量計數器加 1。 如果規則被破壞,您將質量計數器減 1。最后,您將質量計數器除以測量角度的總數 -> 然后確定一個良好質量比率的閾值。

對不起,如果我不能更好地理解這個問題 - 一個實際的圖像可能會有很大幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM