202 lines
4.9 KiB
Plaintext
202 lines
4.9 KiB
Plaintext
# Feature Explanations
|
||
|
||
## Core Climb Attributes
|
||
|
||
**angle**
|
||
Board angle in degrees. Higher angles correspond to steeper (more overhanging) climbs, which generally increase difficulty.
|
||
|
||
**angle_squared**
|
||
Square of the board angle. Captures nonlinear effects of steepness (difficulty often increases faster at higher angles).
|
||
|
||
**display_difficulty**
|
||
Target variable: the climb’s difficulty rating provided by the dataset.
|
||
|
||
**angle_x_holds**
|
||
Interaction between angle and number of holds. Captures how steepness and hold count jointly affect difficulty (e.g., many holds on steep terrain vs few holds on slab).
|
||
|
||
---
|
||
|
||
## Hold Counts / Composition
|
||
|
||
**total_holds**
|
||
Total number of holds used in the climb.
|
||
|
||
**hand_holds**
|
||
Number of holds intended for hands.
|
||
|
||
**foot_holds**
|
||
Number of holds intended for feet.
|
||
|
||
**start_holds**
|
||
Number of starting holds.
|
||
|
||
**finish_holds**
|
||
Number of finishing holds.
|
||
|
||
**middle_holds**
|
||
Number of intermediate (non-start, non-finish) holds.
|
||
|
||
**is_nomatch**
|
||
Binary indicator for whether matching hands on holds is disallowed. No-match climbs tend to be more difficult due to restricted movement options.
|
||
|
||
---
|
||
|
||
## Spatial Position (Raw Coordinates)
|
||
|
||
**mean_y**
|
||
Average vertical position of all holds. Higher values indicate climbs concentrated toward the top of the board.
|
||
|
||
**std_x**
|
||
Standard deviation of horizontal hold positions. Measures left-right spread.
|
||
|
||
**std_y**
|
||
Standard deviation of vertical hold positions. Measures vertical dispersion.
|
||
|
||
**range_x**
|
||
Horizontal range (max − min x). Indicates how wide the climb is.
|
||
|
||
**range_y**
|
||
Vertical range (max − min y). Indicates how tall the climb is.
|
||
|
||
**min_y**
|
||
Lowest hold position.
|
||
|
||
**max_y**
|
||
Highest hold position.
|
||
|
||
**height_gained**
|
||
Total vertical distance covered by the climb.
|
||
|
||
**height_gained_start_finish**
|
||
Vertical distance between average start and finish holds.
|
||
|
||
---
|
||
|
||
## Density / Coverage
|
||
|
||
**bbox_area**
|
||
Area of the bounding box containing all holds.
|
||
|
||
**hold_density**
|
||
Number of holds per unit area. Higher density often means more options and potentially easier climbing.
|
||
|
||
**holds_per_vertical_foot**
|
||
Number of holds per unit vertical distance. Captures how “ladder-like” a climb is.
|
||
|
||
---
|
||
|
||
## Symmetry / Balance
|
||
|
||
**left_ratio**
|
||
Proportion of holds on the left side of the board.
|
||
|
||
**symmetry_score**
|
||
How balanced the climb is left-to-right (1 = perfectly balanced, 0 = fully one-sided).
|
||
|
||
**upper_ratio**
|
||
Fraction of holds located above the median vertical position. Indicates whether the climb is top-heavy.
|
||
|
||
---
|
||
|
||
## Hand Geometry (Reach / Movement)
|
||
|
||
**mean_hand_reach**
|
||
Average distance between pairs of hand holds. Proxy for typical move size.
|
||
|
||
**max_hand_reach**
|
||
Maximum distance between hand holds. Captures hardest reach or span.
|
||
|
||
**std_hand_reach**
|
||
Variation in hand distances. Measures consistency vs variability of moves.
|
||
|
||
**hand_spread_x**
|
||
Horizontal spread of hand holds.
|
||
|
||
**hand_spread_y**
|
||
Vertical spread of hand holds.
|
||
|
||
---
|
||
|
||
## Hand–Foot Interaction
|
||
|
||
**min_hand_to_foot**
|
||
Minimum distance between any hand and foot hold. Indicates tight body positioning.
|
||
|
||
**mean_hand_to_foot**
|
||
Average distance between hands and feet. Proxy for body extension requirements.
|
||
|
||
**std_hand_to_foot**
|
||
Variation in hand-foot distances. Measures consistency of body positioning.
|
||
|
||
---
|
||
|
||
## Global Geometry
|
||
|
||
**convex_hull_area**
|
||
Area of the convex hull enclosing all holds. Measures overall spatial footprint.
|
||
|
||
**hull_area_to_bbox_ratio**
|
||
Ratio of convex hull area to bounding box area. Indicates how “filled” or “sparse” the hold distribution is.
|
||
|
||
**mean_pairwise_distance**
|
||
Average distance between all pairs of holds. Global spacing measure.
|
||
|
||
**std_pairwise_distance**
|
||
Variation in distances between holds. Captures clustering vs spread.
|
||
|
||
---
|
||
|
||
## Path / Flow
|
||
|
||
**path_length_vertical**
|
||
Approximate total path length when moving from bottom to top (based on sorted vertical positions).
|
||
|
||
**path_efficiency**
|
||
Ratio of vertical gain to path length. Higher values indicate more direct movement; lower values indicate more traversing or inefficiency.
|
||
|
||
---
|
||
|
||
## Normalized / Relative Position
|
||
|
||
**mean_y_normalized**
|
||
Average vertical position scaled to board height (0–1).
|
||
|
||
**start_height_normalized**
|
||
Start hold height relative to board height.
|
||
|
||
**finish_height_normalized**
|
||
Finish hold height relative to board height.
|
||
|
||
**mean_y_relative_to_start**
|
||
Average hold height relative to starting position.
|
||
|
||
**spread_x_normalized**
|
||
Horizontal spread normalized by board width.
|
||
|
||
**spread_y_normalized**
|
||
Vertical spread normalized by board height.
|
||
|
||
---
|
||
|
||
## Distribution Features
|
||
|
||
**y_q75**
|
||
75th percentile of hold heights. Indicates where upper holds are concentrated.
|
||
|
||
**y_iqr**
|
||
Interquartile range (75th − 25th percentile) of hold heights. Measures vertical spread excluding extremes.
|
||
|
||
---
|
||
|
||
## Engineered Feature
|
||
|
||
**complexity_score**
|
||
Composite feature combining:
|
||
|
||
* hand reach (movement difficulty),
|
||
* number of holds (sequence length),
|
||
* hold density (spacing).
|
||
|
||
Designed to capture overall climb complexity in a single metric.
|
||
|