step_geodist()
創建配方步驟的規範,該步驟將計算Map上的點與參考位置之間的距離。
用法
step_geodist(
recipe,
lat = NULL,
lon = NULL,
role = "predictor",
trained = FALSE,
ref_lat = NULL,
ref_lon = NULL,
is_lat_lon = TRUE,
log = FALSE,
name = "geo_dist",
columns = NULL,
keep_original_cols = TRUE,
skip = FALSE,
id = rand_id("geodist")
)
參數
- recipe
-
一個菜譜對象。該步驟將添加到此配方的操作序列中。
- lon, lat
-
選擇器函數用於選擇步驟使用哪些變量。有關更多詳細信息,請參閱
selections()
。 - role
-
對於此步驟創建的模型項,應為其分配什麽分析角色?默認情況下,此步驟根據原始變量創建的新列將用作模型中的預測變量。
- trained
-
指示預處理數量是否已估計的邏輯。
- ref_lon, ref_lat
-
參考點位置的單個數值。
- is_lat_lon
-
邏輯:坐標是緯度和經度嗎?如果
TRUE
使用Haversine公式,返回結果為米。如果FALSE
使用畢達哥拉斯公式。默認值為TRUE
,對於從以前版本的配方創建的配方,使用值FALSE
。 - log
-
邏輯:距離應該通過自然對數函數轉換嗎?
- name
-
用於新預測變量列的單個字符值。如果存在具有該名稱的列,則會發出錯誤。
- columns
-
所選變量名稱的字符串。該字段是一個占位符,一旦使用
prep()
就會被填充。 - keep_original_cols
-
將原始變量保留在輸出中的邏輯。默認為
FALSE
。 - skip
-
一個合乎邏輯的。當
bake()
烘焙食譜時是否應該跳過此步驟?雖然所有操作都是在prep()
運行時烘焙的,但某些操作可能無法對新數據進行(例如處理結果變量)。使用skip = TRUE
時應小心,因為它可能會影響後續操作的計算。 - id
-
該步驟特有的字符串,用於標識它。
細節
如果 is_lat_lon
為 FALSE,step_geodist
使用畢達哥拉斯定理計算歐幾裏德距離。如果 is_lat_lon
為 TRUE,則使用半正弦公式計算 great-circle 距離(以米為單位)。
整理
當您 tidy()
此步驟時,將返回一個 tibble,其列回顯 lat
、 lon
、 ref_lat
、 ref_lon
、 is_lat_lon
、 name
和 id
的值。
也可以看看
其他多元變換步驟:step_classdist_shrunken()
, step_classdist()
, step_depth()
, step_ica()
, step_isomap()
, step_kpca_poly()
, step_kpca_rbf()
, step_kpca()
, step_mutate_at()
, step_nnmf_sparse()
, step_nnmf()
, step_pca()
, step_pls()
, step_ratio()
, step_spatialsign()
例子
data(Smithsonian, package = "modeldata")
# How close are the museums to Union Station?
near_station <- recipe(~., data = Smithsonian) %>%
update_role(name, new_role = "location") %>%
step_geodist(
lat = latitude, lon = longitude, log = FALSE,
ref_lat = 38.8986312, ref_lon = -77.0062457,
is_lat_lon = TRUE
) %>%
prep(training = Smithsonian)
bake(near_station, new_data = NULL) %>%
arrange(geo_dist)
#> # A tibble: 20 × 4
#> name latitude longitude geo_dist
#> <fct> <dbl> <dbl> <dbl>
#> 1 National Postal Museum 38.9 -77.0 367.
#> 2 Renwick Gallery 38.9 -77.0 932.
#> 3 National Museum of the American Indian 38.9 -77.0 1571.
#> 4 Smithsonian American Art Museum 38.9 -77.0 1636.
#> 5 National Portrait Gallery 38.9 -77.0 1646.
#> 6 National Air and Space Museum 38.9 -77.0 1796.
#> 7 Hirshhorn Museum and Sculpture Garden 38.9 -77.0 2008.
#> 8 National Museum of Natural History 38.9 -77.0 2073.
#> 9 Arthur M. Sackler Gallery 38.9 -77.0 2108.
#> 10 Arts and Industries Building 38.9 -77.0 2124.
#> 11 Smithsonian Institution Building 38.9 -77.0 2193.
#> 12 National Museum of African Art 38.9 -77.0 2202.
#> 13 Freer Gallery of Art 38.9 -77.0 2266.
#> 14 National Museum of American History 38.9 -77.0 2393.
#> 15 National Museum of African American Histor… 38.9 -77.0 2611.
#> 16 National Zoological Park 38.9 -77.1 5246.
#> 17 Anacostia Community Museum 38.9 -77.0 5332.
#> 18 Steven F. Udvar-Hazy Center 38.9 -77.4 38111.
#> 19 George Gustav Heye Center 40.7 -74.0 324871.
#> 20 Cooper Hewitt, Smithsonian Design Museum 40.8 -74.0 334041.
tidy(near_station, number = 1)
#> # A tibble: 1 × 7
#> latitude longitude ref_latitude ref_longitude is_lat_lon name id
#> <chr> <chr> <dbl> <dbl> <lgl> <chr> <chr>
#> 1 latitude longitude 38.9 -77.0 TRUE geo_dist geodi…
相關用法
- R recipes step_unknown 將缺失的類別分配給“未知”
- R recipes step_relu 應用(平滑)修正線性變換
- R recipes step_poly_bernstein 廣義伯恩斯坦多項式基
- R recipes step_impute_knn 通過 k 最近鄰進行插補
- R recipes step_impute_mean 使用平均值估算數值數據
- R recipes step_inverse 逆變換
- R recipes step_pls 偏最小二乘特征提取
- R recipes step_ratio 比率變量創建
- R recipes step_nzv 近零方差濾波器
- R recipes step_nnmf 非負矩陣分解信號提取
- R recipes step_normalize 中心和比例數值數據
- R recipes step_depth 數據深度
- R recipes step_other 折疊一些分類級別
- R recipes step_harmonic 添加正弦和餘弦項以進行諧波分析
- R recipes step_corr 高相關濾波器
- R recipes step_novel 新因子水平的簡單賦值
- R recipes step_select 使用 dplyr 選擇變量
- R recipes step_regex 檢測正則表達式
- R recipes step_spline_b 基礎樣條
- R recipes step_window 移動窗口函數
- R recipes step_ica ICA 信號提取
- R recipes step_discretize 離散數值變量
- R recipes step_dummy_multi_choice 一起處理多個預測變量的水平
- R recipes step_lincomb 線性組合濾波器
- R recipes step_filter_missing 缺失值列過濾器
注:本文由純淨天空篩選整理自Max Kuhn等大神的英文原創作品 Distance between two locations。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。