11 KiB
slug | sidebar_position | sidebar_label |
---|---|---|
/ja/sql-reference/functions/distance-functions | 55 | 距離 |
距離関数
L1Norm
ベクトルの絶対値の合計を計算します。
構文
L1Norm(vector)
別名: normL1
.
引数
返される値
例
クエリ:
SELECT L1Norm((1, 2));
結果:
┌─L1Norm((1, 2))─┐
│ 3 │
└────────────────┘
L2Norm
ベクトル値の平方和の平方根を計算します。
構文
L2Norm(vector)
別名: normL2
.
引数
返される値
例
クエリ:
SELECT L2Norm((1, 2));
結果:
┌───L2Norm((1, 2))─┐
│ 2.23606797749979 │
└──────────────────┘
L2SquaredNorm
ベクトル値の平方和の平方根(L2Norm)の平方を計算します。
構文
L2SquaredNorm(vector)
別名: normL2Squared
.
*引数
返される値
- L2-ノルムの平方。Float。
例
クエリ:
SELECT L2SquaredNorm((1, 2));
結果:
┌─L2SquaredNorm((1, 2))─┐
│ 5 │
└───────────────────────┘
LinfNorm
ベクトルの絶対値の最大値を計算します。
構文
LinfNorm(vector)
別名: normLinf
.
引数
返される値
- Linf-ノルムまたは絶対値の最大値。Float。
例
クエリ:
SELECT LinfNorm((1, -2));
結果:
┌─LinfNorm((1, -2))─┐
│ 2 │
└───────────────────┘
LpNorm
ベクトル内の絶対値の合計を p
乗したものの p
乗根を計算します。
構文
LpNorm(vector, p)
別名: normLp
.
引数
返される値
例
クエリ:
SELECT LpNorm((1, -2), 2);
結果:
┌─LpNorm((1, -2), 2)─┐
│ 2.23606797749979 │
└────────────────────┘
L1Distance
2点間の距離を L1
空間(1-ノルム、タクシー幾何学距離)で計算します。
構文
L1Distance(vector1, vector2)
別名: distanceL1
.
引数
返される値
- 1-ノルム距離。Float。
例
クエリ:
SELECT L1Distance((1, 2), (2, 3));
結果:
┌─L1Distance((1, 2), (2, 3))─┐
│ 2 │
└────────────────────────────┘
L2Distance
2点間の距離をユークリッド空間(ユークリッド距離)で計算します。
構文
L2Distance(vector1, vector2)
別名: distanceL2
.
引数
返される値
- 2-ノルム距離。Float。
例
クエリ:
SELECT L2Distance((1, 2), (2, 3));
結果:
┌─L2Distance((1, 2), (2, 3))─┐
│ 1.4142135623730951 │
└────────────────────────────┘
L2SquaredDistance
2つのベクトルの対応する要素間の差の平方和を計算します。
構文
L2SquaredDistance(vector1, vector2)
別名: distanceL2Squared
.
引数
返される値
- 2つのベクトルの対応する要素間の差の平方和。Float。
例
クエリ:
SELECT L2SquaredDistance([1, 2, 3], [0, 0, 0])
結果:
┌─L2SquaredDistance([1, 2, 3], [0, 0, 0])─┐
│ 14 │
└─────────────────────────────────────────┘
LinfDistance
2点間の距離を L_{inf}
空間([最大ノルム](https://en.wikipedia.org/wiki/Norm_(mathematics)#Maximum_norm_(special_case_of:_infinity_norm,_uniform_norm,_or_supremum_norm)))で計算します。
構文
LinfDistance(vector1, vector2)
別名: distanceLinf
.
引数
返される値
- 無限ノルム距離。Float。
例
クエリ:
SELECT LinfDistance((1, 2), (2, 3));
結果:
┌─LinfDistance((1, 2), (2, 3))─┐
│ 1 │
└──────────────────────────────┘
LpDistance
2点間の距離を Lp
空間(p-ノルム距離)で計算します。
構文
LpDistance(vector1, vector2, p)
別名: distanceLp
.
引数
vector1
— 第1ベクトル。Tuple または Array。vector2
— 第2ベクトル。Tuple または Array。p
— 指数。可能な値: [1;inf) の範囲の任意の数。UInt または Float。
返される値
- p-ノルム距離。Float。
例
クエリ:
SELECT LpDistance((1, 2), (2, 3), 3);
結果:
┌─LpDistance((1, 2), (2, 3), 3)─┐
│ 1.2599210498948732 │
└───────────────────────────────┘
L1Normalize
指定されたベクトルの単位ベクトルを L1
空間(タクシー幾何学)で計算します。
構文
L1Normalize(tuple)
別名: normalizeL1
.
引数
tuple
— Tuple。
返される値
例
クエリ:
SELECT L1Normalize((1, 2));
結果:
┌─L1Normalize((1, 2))─────────────────────┐
│ (0.3333333333333333,0.6666666666666666) │
└─────────────────────────────────────────┘
L2Normalize
指定されたベクトルの単位ベクトルをユークリッド空間(ユークリッド距離を使用)で計算します。
構文
L2Normalize(tuple)
別名: normalizeL1
.
引数
tuple
— Tuple。
返される値
例
クエリ:
SELECT L2Normalize((3, 4));
結果:
┌─L2Normalize((3, 4))─┐
│ (0.6,0.8) │
└─────────────────────┘
LinfNormalize
指定されたベクトルの単位ベクトルを L_{inf}
空間([最大ノルム](https://en.wikipedia.org/wiki/Norm_(mathematics)#Maximum_norm_(special_case_of:_infinity_norm,_uniform_norm,_or_supremum_norm)を使用)で計算します。
構文
LinfNormalize(tuple)
別名: normalizeLinf
.
引数
tuple
— Tuple。
返される値
例
クエリ:
SELECT LinfNormalize((3, 4));
結果:
┌─LinfNormalize((3, 4))─┐
│ (0.75,1) │
└───────────────────────┘
LpNormalize
指定されたベクトルの単位ベクトルを Lp
空間(p-ノルムを使用)で計算します。
構文
LpNormalize(tuple, p)
別名: normalizeLp
.
引数
返される値
例
クエリ:
SELECT LpNormalize((3, 4),5);
結果:
┌─LpNormalize((3, 4), 5)──────────────────┐
│ (0.7187302630182624,0.9583070173576831) │
└─────────────────────────────────────────┘
cosineDistance
2つのベクトル間のコサイン距離を計算します(タプルの値は座標です)。返される値が小さいほど、ベクトルは類似しています。
構文
cosineDistance(vector1, vector2)
引数
返される値
- 2つのベクトル間の角度の余弦を1から減じたもの。Float。
例
クエリ:
SELECT cosineDistance((1, 2), (2, 3));
結果:
┌─cosineDistance((1, 2), (2, 3))─┐
│ 0.007722123286332261 │
└────────────────────────────────┘