Python Numpy

Numpy Slice

數組的運算子:==,!=,~,&,|

數組軸對換 Axis Change

一元ufunc
abs, fabs計算絕對值 absolute value
sqrt平方根 square root
square平方
exp指數 expoent
log, log10, log2, log1p自然對數 natural logarithm 底數:e, 10, 2, (1+x)
sign各元素的正負號:1(正數), 0 (零), -1(負數)
ceil計算該值的最大整數
floor計算該值的最小整數
rint四捨五入
modf以獨立數值的方式回傳數組的小數和整數部份
isnan回傳哪些值不是Nan的Boolean數組
isfinite, isinf單傳哪些值是有限值的Boolean數組
cos, cosh, sin, sinh, tan,tanh三角函式
arccos, arccosh, arcsin, arcsinh, arctan, arctanh反三角函式
logical_not計算各元素not x的真值
add各元素相加
substract各元素相減
multiply各元素相乘
divide, floor_divide除法或丟去餘數
power求數值的N次方
maximum, fmax求數值中的最大值
minimum, fmin求數值中的最小值
mod除法的餘數
copysign將第二數組中的值符號Copy給第一數組
greater, greater_equal, less, less_equal, equal, no_equal, logical_and, logical_or, logical_xor>, >=, <, <=, =, !=, &, I, ^

Meshgrid

The purpose of meshgrid is to create a rectangular grid out of an array of x values and an array of y values.

np.where

統計方法

sum求總合
mean求平均值
std, var求標準差和方差
min, max最小值和最大值
argmin, argmax最小值的索引值和最大值的索引值
cumsum與前一欄的值累相加
cumprod與前一欄的值累相乘
分類: 未分類 | 發佈留言

Calcualte the distance of object in the image

Sensor Size:12.441 mm x 9.830 mm

Resolution: 2592 x 2048

Focal Length: 12mm

The physical size of each pixel: 

The projected width of the object:

Magnification:

Distance:

The projected width of the object:

Magnification:

Distance:

分類: 未分類 | 發佈留言

模擬不同高度量測物件尺寸

光學校正:

光學校正的步驟

  1. 校正片準備: 使用一個已知尺寸和形狀的校正片(如棋盤格、圓點陣列等)。校正片的幾何特徵應該清晰明顯,並且材質應避免反光。
  2. 拍攝校正片: 使用待校正的相機系統拍攝多張不同角度的校正片照片。確保校正片的整個區域都覆蓋在相機視野內,並從不同角度和距離進行拍攝,以獲取多樣化的校正圖像。
  3. 圖像處理: 將拍攝到的校正片照片導入圖像處理軟件(如OpenCV),自動或手動標記出校正片上的特徵點(如棋盤格的角點或圓點的中心)。
  4. 計算校正參數: 使用軟件進行內部和外部參數的校正。內部參數包括焦距、主點、畸變參數等,外部參數包括旋轉和平移矩陣。
  5. 應用校正參數: 使用計算出的校正參數來修正相機拍攝的所有圖像,以消除鏡頭的失真和其他光學偏差。

尺寸量測的步驟

  1. 修正圖像: 應用光學校正參數來校正實際拍攝的圖像。
  2. 標定參考物尺寸: 根據校正圖像中已知尺寸的物體或標記物,設定比例尺,這樣可以將圖像中的像素距離轉換為實際距離。
  3. 進行量測: 利用標定好的比例尺來量測圖像中物體的尺寸,計算長度、面積、角度等。
  4. 誤差檢查與修正: 檢查量測結果是否符合實際要求,必要時進行誤差修正。

關鍵元件:

  • 自動對焦相機
  • 光學校正片
  • 筆記本長:21公分;寬:15公分
NO規格相片
1UI-3884LEResolution:6.41 MPixOptical class:1/1.8″Pixel size:2.40 µm
26mm FL, Liquid Lens M12 LensFocal Length FL (mm): 6.0mm
3校正片7×7 12.5mm
4筆記本21 cm X 15 cm

拍攝校正片

相機內參矩陣[[2234.9151650412764, 0.0, 1613.33369580123],                    [0.0, 2245.021094475966, 1096.3297700427615],                    [0.0, 0.0, 1.0]]
畸變係數[[-0.27468132182099425, 0.19905562857571302, -0.002831944837372181, -0.01046052609357293, -0.1759195932009981]]
旋轉向量[[-0.01961335538368109], [-0.064561685464345], [-0.048599163141283534]]
平移向量[[-245.4462037894694], [-234.68707345975994], [589.3447597554461]]
旋轉矩陣[[0.9967368360429331, 0.04917594469298315, -0.06401098451575252], [-0.04791040290857523, 0.9986275099612804, 0.02115867769193121], [0.06496362804109107, -0.01802284139878348, 0.9977248639878897]]

情境一:

  1. 自動對焦:焦距數值 54
  2. 相機與量測的平面距離 73公分
  3. 拍攝光學校正片
  4. 計算校正參數:得到相機內參矩陣、旋轉矩陣、平移向量。
    • 相機內參矩陣描述了相機的內部參數,如焦距、光學中心和像素偏斜。它定義了如何將相機坐標系中的三維點映射到影像平面上的二維點。
    • 旋轉矩陣是一個3×3矩陣,用來描述相機坐標系與世界坐標系之間的旋轉關係。它將世界坐標系中的點旋轉到相機坐標系中。
    • 平移向量是一個3×1的向量,用來描述相機坐標系相對於世界坐標系的位移。它將世界坐標系中的點平移到相機坐標系中。
  5. 標記筆記本的長寬座標點:
    • 左上角座標 1327, 479
    • 左下角座標1243, 1035
    • 右上角座標 2091, 611
  6. 將影像座標轉換成實際座標:
    • 左上角世界座標:165.4430781105949, 78.0959286673178
    • 左下角世界座標:136.3602638761044, 225.29850326645803
    • 右上角世界座標:371.385150277364, 120.49460679088405
  7. 影像量測到筆記本的長、寬:
    • 長:210.26123036586773 mm
    • 寬:150.04801915524686 mm

情境一:

  1. 自動對焦:焦距數值 42
  2. 相機與量測的平面距離 90公分
  3. 拍攝光學校正片
  4. 計算校正參數:得到相機內參矩陣、旋轉矩陣、平移向量。
    • 相機內參矩陣描述了相機的內部參數,如焦距、光學中心和像素偏斜。它定義了如何將相機坐標系中的三維點映射到影像平面上的二維點。
    • 旋轉矩陣是一個3×3矩陣,用來描述相機坐標系與世界坐標系之間的旋轉關係。它將世界坐標系中的點旋轉到相機坐標系中。
    • 平移向量是一個3×1的向量,用來描述相機坐標系相對於世界坐標系的位移。它將世界坐標系中的點平移到相機坐標系中。
  5. 標記筆記本的長寬座標點:
    • 左上角座標 1060, 450
    • 左下角座標1042, 914
    • 右上角座標 1712, 473
  6. 將影像座標轉換成實際座標:
    • 左上角世界座標:95.74517669315097,116.92161043618675
    • 左下角世界座標:97.79422061504047, 265.3536817958457
    • 右上角世界座標:305.8426560794244, 109.68540108000529
  7. 影像量測到筆記本的長、寬:
    • 長:210.22205776348036 mm
    • 寬:148.4462137917728 mm

量測邏輯實作(A):

不同高度,不同的葉子堆疊個數(B):

A 所得到的葉面積 X B 依距對焦數值來決定葉子堆疊的倍率= C 得到預估的葉面積

假設: A 的數值為 100,B的數值為10 故預估的葉面積為100 X 10 = 1000

系統會提供一個實際調校功能,當使用者判斷實際面積為 800時,系統會根據800的數值去調校不同對焦數值的倍率。之後會跟據調校後的倍率來計算面積。

每一個拍攝的視野範圍有多個株植栽

目前系統只能以計算出來的總面積來等分有多少植栽

分類: 未分類 | 發佈留言

砂石比例檢測

篩網砂石視覺檢測系統

鴻博資訊有限公司

公司簡介:

我們是一家於2015年成立的公司,專注於客製化視覺系統的開發。在成立前也從事視覺檢測相關領域的研究開發,憑藉著十幾年的豐富經驗,我們致力於提供高品質的視覺檢測解決方案。

我們的優勢:

  • 豐富的經驗:我們在視覺檢測領域擁有超過十幾年的豐富經驗,累積了豐富的專業知識和技術。
  • 多領域應用:我們曾為各行各業提供視覺檢測服務,包括但不限於螺絲檢測、手機鋁殼檢測、氣壓原件檢測、車燈檢測、農產品檢測、半導體製造漏液檢測等。
  • 專業技術:我們具有獨特的技術優勢,能夠應對不同行業的各種檢測需求,並提供有效的解決方案。

我們的服務範圍包括3D資料處理、高光譜資料分析、熱影像檢測等。無論您的應用場景是什麼,我們都能夠提供專業的視覺檢測解決方案,以滿足您的需求。

我們引以為傲的是與日商睿怡科技股份公司的深度合作。通過與睿怡科技股份公司的合作,我們得以獲取最新的自動化技術和解決方案,並將其應用於我們的視覺系統開發中,以提供客戶更高效、更精準的解決方案。

我們的目標是繼續專注於創新和技術發展,為客戶提供最優質的產品和服務。如需進一步了解我們的產品和服務,請訪問我們的官方網站或通過以下方式聯繫我們

  • 官網:https://www.winerva.com/portfolio/
  • 電話:0927-377-741
  • 電子郵件:fluber@winerva.com

謝謝您對我們公司的關注,我們期待與您合作!

視覺檢測系統硬體架構

NO項目備註
1TOSHIBA Teli USB3 Camera BU040MCG日本製
2Raspberry PI 5 Model B 8G英國製
3Myutron MV0813 8mm Len日本製
427W Type C Power Supply
5USB 3.0 3M

TOSHIBA Teli USB3 Camera BU040MCG

Raspberry PI 5 Model B 8G

Myutron MV0813 8mm Len

27W Type C Power Supply

USB 3.0 3M

視覺檢測軟體運行畫面

樹梅派電腦的網路孔需先接線連上網路後再送電,在送後會執行系統開機,當系統完成開機後,視覺檢測軟體會自動啟動。以下會啟動畫面,約運行5~10秒的時間。

註:網路必需先接再開機,這樣才不會造成Modbus通訊異常,執行執行異常。

程式主畫面

上方資訊列所呈現的資訊:像素總量、目標像素量、像素比例

右側功能按鈕:組態、啟動(停止)、手動測試、離開

像素總量:指整張影像的像素的數量

目標像素量:指紅圈內的影像,符合設定值的像素數量

像素比例:目標像素量 / 像素總量

像素比例顏色Modbus 通訊
超出上限規範內超出下限
超出設定比例紅色100
符合設定比例綠色010
不足設定比例藍色001

組態

開啟相機:按下此鈕,程式即連接相機取像,即可在影像視窗看到即時影像。

關閉相機:按下此鈕,程式即斷開相機。

影像視窗:用於顯示即時影像

紅色ROI:可以用滑鼠拖拉位置及改變大小,紅色ROI內即為檢測區域。

影像灰階值設定

影像由暗到亮,以數值來表現,0為最暗,255為最亮,上面數值 177~255的設定,可以從下列圖形來看黑白的變化。

彩色影像可以轉換成黑白影像,實際砂子可能有不同顏色,為了簡少設定,影像程式是將彩色影像轉成黑白影像,如果想挑出深紅色的區域,以黑白影像來看就是挑出比較暗的區域。

沙子比例設定

剛才「影像灰階值設定」設定後所得到的影像如下,可以看出白色區佔檢測區域的比例為何?此時設定52% ~ 79% 為規範內。

設定相機的曝光時間:這個設定會決定影像的明暗效果。

白平衡:簡單說,當我們設定了一組情境,如當我們設定為鎢絲燈,鎢絲燈對應的K值約為 3200K 左右,我們看圖 03 可以看的出來,3200K 的色溫偏橘紅,當我們設定在 3200K 左右,相機會自動幫我們「填加補色」在相片裡頭加以平衡色溫,拍出自然色。

儲存設定:會將設定參數存入設定檔並將相機曝光、白平衡設定存入相機中。

程式主畫面

遠端人機可以控制視覺檢測程式

Modbus
位址功能交握方向
100最大灰階值AOI <<<<<<>>>>>> 人機
101最小灰階值AOI <<<<<<>>>>>> 人機
102最大比例AOI <<<<<<>>>>>> 人機
103最小比例AOI <<<<<<>>>>>> 人機
104機台運行狀態:0: IDLE,1: RUN,2: TECHAOI <<<<<<>>>>>> 人機
105相機觸發訊號AOI <<<<<<<<<<<<人機
106超出上限AOI >>>>>>>>>>>>人機
107規範內AOI >>>>>>>>>>>>人機
108超出下限AOI >>>>>>>>>>>>人機
109異常AOI <<<<<<>>>>>> 人機

操作人員可以按下「啟動」鈕進行檢測,也可以透過人機從遠端啟動檢測。

操作人圓可以按下「手動測試」鈕觸發拍照,也可以透過人機從遠端觸發拍照。

分類: 未分類 | 發佈留言

滅菌倉植物分株專案規劃

滅菌倉植物分株專案規劃

硬體規劃

前視

上視

側視

實際影像示意

主要硬體

電腦放置位置

軟體規劃

使用案例

類別圖

使用者操作界面

分類: AOI | 標籤: | 發佈留言

受限架設空間的尺寸量測

進料   出料

機台允許的檢測空間,只能從機台的下方空間找位置進行相機的架設。

架設要求,相機與紙張Z軸需要盡量平行,不要有傾斜角度(這個會大副度影像精度)

實驗 (Z軸與相機需平行,傾斜情況越大誤差越大)

左側  右側

左側情況先進行光學校正。

左側實際量測出來為199.2136 mm 誤差0.7864mm

右側實際量測出來為198.7449 mm 誤差1.2551mm

分類: 未分類 | 發佈留言

鏡架螺絲有無檢測

鏡架螺絲有無檢測

影像檢測手法的基礎觀念

影像直方圖

直方圖表示影像中像素強度(無論是彩色或灰階)的分佈。它可以視覺化為圖表(或繪圖),可以直觀地了解強度(像素值)分佈。在此範例中,我們將假設 RGB 色彩空間,因此這些像素值將在 0 到 255 的範圍內。

繪製直方圖時,x 軸充當我們的「箱」。如果我們用 256 建構一個直方圖

bin,那麼我們就可以有效地計算每個像素值出現的次數。

相反,如果我們只使用 2

(等距)容器,然後我們計算像素在 [0, 128] 或 [128, 255] 範圍內的次數。

然後將與 x 軸值合併的像素數繪製在 y 軸上。

讓我們看一個範例圖像以使這一點更清楚:

我們繪製了一個直方圖,其中 x 軸上有 256 個 bin,y 軸上落入給定 bin 的像素百分比。檢查直方圖,請注意存在三個主峰。

直方圖中的第一個峰值位於 x=65 附近,我們看到像素數量急劇上升 – 顯然影像中存在某種具有非常暗值的物件。

然後,我們在直方圖中看到一個緩慢得多的上升峰值,在 x=100 附近開始上升,最後在 x=150 附近結束下降。該區域可能指的是影像的背景區域。

最後,我們看到 x=150 到 x=175 範圍內有大量像素。很難確切地說這個區域是什麼,但它肯定佔據了圖像的很大一部分。

影像直方圖的相似度

直方圖的分佈極為相似意味著兩幅圖像在灰度級別分佈上非常接近或相同,則代表影像內容有相似的內容或場場。

客戶需求:檢測鏡架上的螺絲是否有鎖附上?

實驗一

是否鎖附螺絲直方圖相似度
0.90
0.35

實驗二

是否鎖附螺絲直方圖相似度
0.95
0.21

實驗三

是否鎖附螺絲直方圖相似度
0.93
0.50

實驗四

是否鎖附螺絲直方圖相似度
0.83
0.48

實驗五

是否鎖附螺絲直方圖相似度
0.97
0.13

實驗六

是否鎖附螺絲直方圖相似度
0.94
0.25

從上面六個實驗可以得知,透過直方圖相似度的比對,可以有效的判斷是否有鎖附螺絲。

光學架設規格

光學系統硬體規格

No.品項數量備註
1工業相機:USB 3.0, 1.2MP, Mono4
2工業鏡頭:f 50mm, F1.8, C Mount, ⅔”4
3USB 3.0, 3M4
4光學檢測主機1
5光源 2待定
分類: AOI | 標籤: | 發佈留言

鐵條計數

鐵條計數

傳統影像處理

較佳的影像呈現效果

  • 鐵條垂直鍛面與凹槽處影有明顯對比
  • 鐵條鄰近間隔凹槽處極黑

較差的影像呈現效果

  • 照到鐵條側邊
  • 鐵條鄰近間隔凹槽處不清楚

使用面掃描的相機取像的問題

  • 鐵條
    • 檢測範圍大為360mm X 360mm見方
    • 鐵條最小直徑為13mm
  • 角度問題
    • 影像外圍部部會拍到鐵條側邊
    • 凹槽處不明顯

必需使用線掃描的影像處理才能得到最佳影像

  • 使用Line Scan相機
  • 手臂水平移動每5mm送出拍照訊號
  • Line Scan相機進行拍照得到5mm的影像
  • 手臂接序移動整個鐵條的檢測範圍
  • Line Scan相機最後得到整合完整的影像

理想的影像

分析後得到數量39

電腦視覺軟硬體架構
NO品項預估金額
1工業電腦
2線掃描相機
3線掃描相機鏡頭
4線掃描光源
5線掃描光源控制器
6AOI軟體
分類: AOI | 標籤: | 發佈留言

大尺寸紙張量測

紙張尺寸量測

方案一  

A4  紙張 寬x高 210mm x 297mm

使用「校正塊」,校正塊的直徑為31mm

使用工業相機拍攝校正塊

 使用AOI程式檢測校正塊

校正塊寬度為248像素

計算「像素 VS 實際尺寸」轉換比例

31 mm / 248 = 0.125 mm

使用工業相機拍A4紙張

使用AOI程式量測A4紙張

A4紙張量測寬度為1680.06像素

AOI量測像素 X 轉換比例 = 實際尺寸

1680.06 X 0.125 mm = 210.0075 mm

檢測流程

方案二

紙張 寬 1500mm 

使用「校正塊」,校正塊的直徑為31mm

使用工業相機拍攝校正塊

 使用AOI程式檢測校正塊

校正塊寬度為724像素

計算「像素 VS 實際尺寸」轉換比例

31 mm / 724 = 0.042817 mm

左側相機影像 (W=2448 pixel)

紙張寬度 2448 – 742.385 = 1705.615 (pixel)

1705.615 X 0.042817 mm = 73.029 mm

右側相機影像(W=2448 pixel)

紙張寬度 1511.82 (pixel)

1511.82 X 0.042817 mm = 64.7315 mm

已知紙張寬度1500mm

AOI 程式可以在教導時得到

  • 左側紙張寬度73.029 mm
  • 右側紙張寬度64.7315 mm
  • 中間段影像沒有照到處的補償值為 1500 mm – 73.029 mm – 64.7315 mm = 1362.2395 mm

檢測流程

分類: AOI, 未分類 | 標籤: | 發佈留言

Seaborn + SKlearn 資料分析

Seaborn資料分析 + Sklearn

Seaborn 資料集中的 “tips” 是一個包含餐廳小費資料的資料集。這個資料集通常用於示範 Seaborn 中的數據可視化功能和統計分析。

“tips” 資料集包含了餐廳服務員收到的小費金額以及與小費相關的一些額外信息,例如顧客人數、就餐日期和時間、就餐者的性別、是否是吸煙區域、就餐的星期幾等等。這些信息可以用於探索性數據分析、統計分析以及建模工作。

這個資料集的結構通常包含以下幾個欄位:

  • total_bill:總消費金額(含小費)。
  • tip:小費金額。
  • sex:就餐者的性別。
  • smoker:是否吸煙。
  • day:就餐的星期幾。
  • time:就餐的時間(午餐或晚餐)。
  • size:就餐者的人數。

這個資料集是 Seaborn 中內建的範例資料集之一,通常用於示範 Seaborn 中各種圖表的繪製和數據分析。

Seaborn 資料集中的 “diamonds” 是一個包含鑽石價格和屬性的資料集。這個資料集通常用於示範 Seaborn 中的數據可視化功能和統計分析。

“diamonds” 資料集包含了各種鑽石的屬性和價格信息。這些屬性包括鑽石的重量(克拉)、切工、顏色、淨度等,而價格則是以美元為單位。

這個資料集的結構通常包含以下幾個欄位:

  • carat:鑽石的重量(克拉)。
  • cut:鑽石的切工質量,包括 Fair、Good、Very Good、Premium 和 Ideal 等級。
  • color:鑽石的顏色,從 J(最差)到 D(最好)。
  • clarity:鑽石的淨度,包括 I1、SI2、SI1、VS2、VS1、VVS2、VVS1 和 IF 等級。
  • depth:鑽石的深度比例(百分比)。
  • table:鑽石的平頂比例(百分比)。
  • price:鑽石的價格(美元)。
  • x、y、z:鑽石的長寬高尺寸(毫米)。

這個資料集通常用於示範 Seaborn 中的散點圖、直方圖、盒圖等圖表的繪製,以及數據探索和統計分析。

Categorical Feature

在機器學習和統計建模中,Categorical Feature(分類特徵)是指具有有限數量可能值的特徵或變量。這些可能的值是離散的並且不具有順序關係。分類特徵通常描述了特定的類別、類型或類別,而不是數值或連續性數據。

例如,在一個房地產數據集中,”地區”可以是一個分類特徵,因為它可以被劃分為有限的類別,如 “市中心”、”市郊” 和 “郊區”。又或者在一個網站用戶行為數據集中,”瀏覽器類型” 可能是一個分類特徵,因為它可以被劃分為類別,如 “Chrome”、”Firefox” 和 “Safari”。

處理分類特徵的一種常見方法是對其進行One-Hot Encoding(一位有效編碼)。這將把分類特徵轉換為二進制向量,使其適合於機器學習算法的輸入。另一種方法是將分類特徵轉換為整數編碼,即將每個可能的類別映射到一個整數值。這兩種方法都可以將分類特徵轉換為數值表示形式,從而使其適用於機器學習算法。

Ordinal Encoding

Ordinal Encoding(序數編碼)是一種將分類特徵轉換為數值表示形式的技術,其中每個類別都被映射到一個整數值。與 One-Hot Encoding 不同,序數編碼將類別映射到整數值,而不是創建二進制向量。這種方法適用於那些具有順序關係的類別,即類別之間存在某種自然的順序。

例如,假設有一個類別特徵 “教育程度”,其可能的值包括 “高中”、”大學” 和 “碩士”。這些值之間存在一種自然的順序,因為 “碩士” 學位通常高於 “大學” 學位,而 “大學” 學位又高於 “高中” 學歷。在這種情況下,可以將 “高中”、”大學” 和 “碩士” 分別映射到整數值 0、1 和 2。

序數編碼通常用於處理具有順序關係的分類特徵,以便將它們轉換為數值表示形式,使其適合於機器學習算法的輸入。然而,需要注意的是,使用序數編碼時,應該確保所選擇的整數值能夠準確地反映類別之間的相對順序,以避免對模型的影響產生不良影響。

One-Hot Encoding

One-Hot Encoding(一位有效編碼)是一種在機器學習和數據處理中常用的技術,用於將分類變量表示為二進制向量。它將分類變量轉換為一種形式,可以提供給機器學習算法,以改善模型的性能和準確性。

在 One-Hot Encoding 中,每個類別被表示為一個二進制向量,其中除了對應於該類別的一個元素被設置為 1 之外,所有元素都是零。這樣就創建了分類變量的二進制表示,使其適用於期望數值輸入的機器學習算法。

以下是一個例子來說明 One-Hot Encoding:

假設我們有一個分類變量 “顏色”,有三個類別:紅色、綠色和藍色。使用 One-Hot Encoding,我們可以將這些類別表示為二進制向量:

  • 紅色:[1, 0, 0]
  • 綠色:[0, 1, 0]
  • 藍色:[0, 0, 1]

現在,每個類別都被表示為一個二進制向量,其中一個元素設置為 1,對應於該類別。

One-Hot Encoding 在各種機器學習任務中廣泛使用,例如分類和回歸,當處理分類變量時。它有助於防止模型錯誤地假設類別之間的有序關係,並允許模型有效地從分類數據中學習。

Ordinal Encoding vs One-Hot Encoding

當碰到分類特徵時,建議根據數據的特性和機器學習模型的需求來選擇是使用Ordinal Encoding還是One-Hot Encoding進行轉換。

Ordinal Encoding 的優缺點:

優點:

  1. 保留了類別之間的順序關係,對於有序分類特徵來說更符合直覺。
  2. 生成的特徵維度較低,節省了數據空間。
  3. 在某些情況下,可以提供更好的解釋性,因為整數編碼可以直接反映不同類別之間的相對關係。

缺點:

  1. 可能會引入錯誤的順序假設,對於沒有明確順序的分類特徵可能不適用。
  2. 數值之間的差異可能被模型誤解為具有固定的大小或間隔,導致模型偏差。
  3. 如果特徵的數量很大,而其中的類別數量較少,則可能浪費了大量的內存空間。

One-Hot Encoding 的優缺點:

優點:

  1. 不會引入任何錯誤的順序假設,適用於沒有明確順序的分類特徵。
  2. 每個類別都是獨立的二進制變量,避免了將類別解釋為具有固定大小或間隔的風險。
  3. 可以避免在特徵數量較大時導致的內存浪費。

缺點:

  1. 生成的特徵維度較高,可能會導致所謂的維度災難,增加模型的計算成本和複雜性。
  2. 無法保留類別之間的順序關係,可能會丟失一些信息,特別是對於具有明確順序的分類特徵來說。

總的來說,當分類特徵具有明確的順序關係時,通常建議使用Ordinal Encoding;而當分類特徵沒有明確的順序關係時,則建議使用One-Hot Encoding。根據機器學習模型的需要以及數據的特性,選擇適合的編碼方法可以幫助提高模型的性能和準確性。

線性回歸(Linear Regression)

LinearRegression 是 scikit-learn 庫中的一個類別,用於 Python 編程語言,用於線性回歸任務。它是一種最簡單的線性模型,用於建模自變量和因變量之間的線性關係。

以下是關於 LinearRegression 的意義及用途的說明:

  1. 意義:LinearRegression 用於建立自變量(特徵)與因變量之間的線性關係模型。它的基本假設是,因變量與自變量之間存在線性關係,可以用一條直線(在一維情況下)或者一個超平面(在高維情況下)來描述這種關係。
  2. 用途:
    • 預測任務:LinearRegression 主要用於預測任務,其中目標是根據輸入特徵來預測連續型的因變量。例如,根據房屋的各種特徵(如面積、臥室數量、地理位置等),預測房屋的價格。
    • 關聯性分析:線性回歸也用於分析自變量與因變量之間的關聯性。通過模型的係數,可以了解每個自變量對因變量的影響程度,以及它們之間的方向關係(正相關或負相關)。
    • 參數估計:線性回歸還可以用於估計模型中的參數,如斜率和截距。這些參數對於理解模型的行為和做出預測是非常重要的。
    • 模型評估:除了預測和關聯性分析,線性回歸還可以用於評估模型的性能。通過比較預測值與實際觀測值之間的差異,可以評估模型的擬合優度。

總之,LinearRegression 是一個簡單但非常有用的線性模型,適用於許多回歸任務,特別是在數據集具有線性結構且特徵空間不太複雜的情況下。

KNeighborsRegressor

KNeighborsRegressor 是 scikit-learn 庫中的一個類別,用於 Python 編程語言,用於回歸任務。它屬於基於鄰近的學習方法,通常用於建模連續型的因變量和一個或多個自變量之間的關係。

以下是關於 KNeighborsRegressor 的意義及用途的說明:

  1. 意義:KNeighborsRegressor 使用基於鄰居的方法來進行回歸預測。它的基本思想是:對於一個新的數據點,通過查找與該點最近的 K 個鄰居的目標值(因變量值),然後利用這些鄰居的目標值來進行預測。具體來說,預測值通常是這些鄰居目標值的平均值或加權平均值。
  2. 用途:
    • 預測任務:KNeighborsRegressor 通常用於預測任務,其中目標是根據輸入特徵來預測連續型的因變量。例如,根據房屋的各種特徵(如面積、臥室數量、地理位置等),預測房屋的價格。
    • 探索性數據分析:通過查看數據點的近鄰,可以幫助了解數據的分佈和結構。這對於探索性數據分析非常有用,可以幫助發現數據中的模式和趨勢。
    • 回歸模型的基準測試:KNeighborsRegressor 可以用作其他回歸模型的基準測試,以幫助評估更複雜模型的性能。尤其是對於數據較少或者特徵空間較小的情況下,它可以作為一個簡單但有效的基準模型。
  3. 注意事項:
    • 參數選擇:在使用 KNeighborsRegressor 時,需要選擇適當的參數,特別是鄰居數量 n_neighbors。選擇合適的鄰居數量對於模型的性能至關重要。
    • 數據預處理:與大多數機器學習算法一樣,數據預處理也很重要。在使用 KNeighborsRegressor 之前,需要對數據進行特徵縮放和處理缺失值等預處理步驟。

總之,KNeighborsRegressor 是一個簡單而有效的回歸模型,適用於許多回歸任務,特別是在數據集較小、特徵空間較小或需要進行探索性數據分析時。

RandomForestRegressor

RandomForestRegressor 是 scikit-learn 中的一個類別,用於 Python 程式語言,用於回歸任務。它屬於集成學習中的一種方法,基於隨機森林算法。

以下是關於 RandomForestRegressor 的意義及用途的說明:

  1. 意義:RandomForestRegressor 用於建立多個決策樹的集成模型,通過結合這些決策樹的預測結果來進行回歸預測。每個決策樹都是基於隨機樣本和隨機特徵進行構建,因此具有一定的隨機性,這有助於減少過擬合和提高模型的泛化能力。
  2. 用途:
    • 預測任務:RandomForestRegressor 主要用於預測連續型的因變量。它可以應用於各種領域,如金融、醫療、零售等,用於預測股票價格、疾病發生率、銷售量等連續型數據。
    • 特徵重要性分析:隨機森林可以計算每個特徵的重要性,這有助於了解哪些特徵對於模型的預測能力最為重要。這對於特徵選擇和模型解釋非常有用。
    • 處理大型數據集:由於隨機森林的並行性和可擴展性,它們通常能夠有效處理大型數據集,包括高維數據和大量樣本。
    • 抗過擬合能力:由於隨機森林的隨機性特性,它們通常對於過擬合具有較強的抗性。因此,即使在較少的數據量下,隨機森林也能夠產生良好的預測結果。

總之,RandomForestRegressor 是一種強大且靈活的機器學習模型,適用於各種回歸任務,並且通常能夠產生準確且穩健的預測結果。

SVM

支持向量機(Support Vector Machine,SVM)是一種用於監督式學習的機器學習模型。它的主要目標是找到一個最佳的超平面來區分不同類別的數據點。以下是關於 SVM 的意義及用途的說明:

  1. 意義:SVM 的核心概念是將數據映射到高維空間,從而使得數據在這個空間中可以被一個超平面有效地分割。這個超平面可以最大化類別之間的邊際(margin),從而提高模型的泛化能力。
  2. 用途:
    • 分類任務:SVM 主要用於二元分類任務,即將數據分成兩個類別。通過找到一個最佳的超平面,SVM 可以有效地區分不同類別的數據點。此外,SVM 也可以通過使用多個二元 SVM 構建多類別分類器。
    • 回歸任務:除了分類,SVM 還可以用於回歸任務。支持向量回歸(Support Vector Regression,SVR)通過找到一個最佳的超平面來進行連續型目標變量的預測。
    • 特徵空間映射:SVM 可以使用不同的核函數來將數據映射到高維空間,從而實現非線性分類。這使得 SVM 在處理非線性問題時非常有效。
    • 異常檢測:由於 SVM 能夠找到最佳的分割超平面,因此它也常被用於異常檢測任務中,即識別數據中的異常或極端值。
    • 文本分類:SVM 在文本分類任務中也經常被使用,例如垃圾郵件檢測、情感分析等。

總之,SVM 是一個多功能的機器學習模型,廣泛應用於分類、回歸、特徵空間映射、異常檢測等各種任務中。它以其優秀的泛化能力和有效的非線性分類能力而聞名。

分類: AI | 標籤: , | 發佈留言