notebooks, images, scripts
This commit is contained in:
324
data/04_climb_features/feature_explanations.txt
Normal file
324
data/04_climb_features/feature_explanations.txt
Normal file
@@ -0,0 +1,324 @@
|
||||
Tension Board 2 – Feature Engineering Explanation
|
||||
|
||||
This document explains the engineered features used for climb difficulty prediction.
|
||||
|
||||
--------------------------------------------------
|
||||
1. BASIC STRUCTURE FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
angle
|
||||
Wall angle in degrees.
|
||||
|
||||
total_holds
|
||||
Total number of holds in the climb.
|
||||
|
||||
hand_holds / foot_holds
|
||||
Number of hand vs foot holds.
|
||||
|
||||
start_holds / finish_holds / middle_holds
|
||||
Counts of hold roles.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
2. MATCHING FEATURE
|
||||
--------------------------------------------------
|
||||
|
||||
is_nomatch
|
||||
Binary feature indicating whether matching is disallowed.
|
||||
Derived from:
|
||||
- explicit flag OR
|
||||
- description text (e.g. “no match”, “no matching”)
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
3. SPATIAL FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
mean_x, mean_y
|
||||
Center of mass of all holds.
|
||||
|
||||
std_x, std_y
|
||||
Spread of holds.
|
||||
|
||||
range_x, range_y
|
||||
Width and height of climb.
|
||||
|
||||
min_y, max_y
|
||||
Lowest and highest holds.
|
||||
|
||||
height_gained
|
||||
Total vertical gain.
|
||||
|
||||
height_gained_start_finish
|
||||
Vertical gain from start to finish.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
4. START / FINISH FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
start_height, finish_height
|
||||
Average height of start/finish holds.
|
||||
|
||||
start_height_min/max, finish_height_min/max
|
||||
Range of start/finish positions.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
5. BOUNDING BOX FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
bbox_area
|
||||
Area covered by climb.
|
||||
|
||||
bbox_aspect_ratio
|
||||
Horizontal vs vertical shape.
|
||||
|
||||
bbox_normalized_area
|
||||
Relative coverage of board.
|
||||
|
||||
hold_density
|
||||
Holds per unit area.
|
||||
|
||||
holds_per_vertical_foot
|
||||
Vertical density.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
6. SYMMETRY FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
left_holds, right_holds
|
||||
Distribution across board center.
|
||||
|
||||
left_ratio
|
||||
Fraction of holds on left.
|
||||
|
||||
symmetry_score
|
||||
Symmetry measure (1 = perfectly balanced).
|
||||
|
||||
hand_left_ratio, hand_symmetry
|
||||
Same but for hand holds.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
7. VERTICAL DISTRIBUTION
|
||||
--------------------------------------------------
|
||||
|
||||
upper_holds, lower_holds
|
||||
Split around median height.
|
||||
|
||||
upper_ratio
|
||||
Proportion of upper holds.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
8. REACH / DISTANCE FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
max_hand_reach, mean_hand_reach, std_hand_reach
|
||||
Distances between hand holds.
|
||||
|
||||
hand_spread_x, hand_spread_y
|
||||
Spatial extent of hand holds.
|
||||
|
||||
max_foot_spread, mean_foot_spread
|
||||
Foot hold spacing.
|
||||
|
||||
max_hand_to_foot, mean_hand_to_foot
|
||||
Hand-foot distances.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
9. HOLD DIFFICULTY FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
mean_hold_difficulty
|
||||
Average difficulty of holds.
|
||||
|
||||
max_hold_difficulty / min_hold_difficulty
|
||||
Extremes.
|
||||
|
||||
std_hold_difficulty
|
||||
Variation.
|
||||
|
||||
median_hold_difficulty
|
||||
Central tendency.
|
||||
|
||||
difficulty_range
|
||||
Spread.
|
||||
|
||||
mean_hand_difficulty / mean_foot_difficulty
|
||||
Role-specific difficulty.
|
||||
|
||||
start_difficulty / finish_difficulty
|
||||
Entry and exit difficulty.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
10. COMBINED / INTERACTION FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
hand_foot_ratio
|
||||
Balance of hands vs feet.
|
||||
|
||||
movement_density
|
||||
Holds per vertical distance.
|
||||
|
||||
weighted_difficulty
|
||||
Height-weighted difficulty.
|
||||
|
||||
difficulty_gradient
|
||||
Difference between start and finish difficulty.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
11. SHAPE / GEOMETRY FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
convex_hull_area
|
||||
Area of convex hull around holds.
|
||||
|
||||
convex_hull_perimeter
|
||||
Perimeter.
|
||||
|
||||
hull_area_to_bbox_ratio
|
||||
Compactness.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
12. NEAREST-NEIGHBOR FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
min_nn_distance / mean_nn_distance
|
||||
Spacing between holds.
|
||||
|
||||
max_nn_distance
|
||||
Maximum separation.
|
||||
|
||||
std_nn_distance
|
||||
Spread.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
13. CLUSTERING FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
mean_neighbors_12in
|
||||
Average nearby holds within 12 inches.
|
||||
|
||||
max_neighbors_12in
|
||||
Max clustering.
|
||||
|
||||
clustering_ratio
|
||||
Normalized clustering.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
14. PATH FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
path_length_vertical
|
||||
Estimated movement path length.
|
||||
|
||||
path_efficiency
|
||||
Vertical gain vs path length.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
15. REGIONAL DIFFICULTY FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
lower_region_difficulty
|
||||
Bottom third difficulty.
|
||||
|
||||
middle_region_difficulty
|
||||
Middle third difficulty.
|
||||
|
||||
upper_region_difficulty
|
||||
Top third difficulty.
|
||||
|
||||
difficulty_progression
|
||||
Change in difficulty from bottom to top.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
16. DIFFICULTY TRANSITIONS
|
||||
--------------------------------------------------
|
||||
|
||||
max_difficulty_jump
|
||||
Largest jump between moves.
|
||||
|
||||
mean_difficulty_jump
|
||||
Average jump.
|
||||
|
||||
difficulty_weighted_reach
|
||||
Distance weighted by difficulty.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
17. NORMALIZED FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
mean_x_normalized, mean_y_normalized
|
||||
Relative board position.
|
||||
|
||||
std_x_normalized, std_y_normalized
|
||||
Normalized spread.
|
||||
|
||||
start_height_normalized, finish_height_normalized
|
||||
Relative heights.
|
||||
|
||||
spread_x_normalized, spread_y_normalized
|
||||
Coverage.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
18. RELATIVE POSITION FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
start_offset_from_typical
|
||||
Deviation from typical start height.
|
||||
|
||||
finish_offset_from_typical
|
||||
Deviation from typical finish height.
|
||||
|
||||
mean_y_relative_to_start
|
||||
Average height relative to start.
|
||||
|
||||
max_y_relative_to_start
|
||||
Highest point relative to start.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
19. DISTRIBUTION FEATURES
|
||||
--------------------------------------------------
|
||||
|
||||
y_q25, y_q50, y_q75
|
||||
Height quartiles.
|
||||
|
||||
y_iqr
|
||||
Spread.
|
||||
|
||||
holds_bottom_quartile
|
||||
Lower density.
|
||||
|
||||
holds_top_quartile
|
||||
Upper density.
|
||||
|
||||
|
||||
--------------------------------------------------
|
||||
SUMMARY
|
||||
--------------------------------------------------
|
||||
|
||||
These features capture:
|
||||
|
||||
- Geometry (shape, spread)
|
||||
- Movement (reach, density, path)
|
||||
- Difficulty (hold-based + progression)
|
||||
- Symmetry and balance
|
||||
- Spatial distribution
|
||||
|
||||
Together they allow the model to approximate both:
|
||||
- physical movement complexity
|
||||
- and hold difficulty structure of a climb.
|
||||
120
data/04_climb_features/feature_list.txt
Normal file
120
data/04_climb_features/feature_list.txt
Normal file
@@ -0,0 +1,120 @@
|
||||
angle
|
||||
total_holds
|
||||
hand_holds
|
||||
foot_holds
|
||||
start_holds
|
||||
finish_holds
|
||||
middle_holds
|
||||
is_nomatch
|
||||
mean_x
|
||||
mean_y
|
||||
std_x
|
||||
std_y
|
||||
range_x
|
||||
range_y
|
||||
min_y
|
||||
max_y
|
||||
start_height
|
||||
start_height_min
|
||||
start_height_max
|
||||
finish_height
|
||||
finish_height_min
|
||||
finish_height_max
|
||||
height_gained
|
||||
height_gained_start_finish
|
||||
bbox_area
|
||||
bbox_aspect_ratio
|
||||
bbox_normalized_area
|
||||
hold_density
|
||||
holds_per_vertical_foot
|
||||
left_holds
|
||||
right_holds
|
||||
left_ratio
|
||||
symmetry_score
|
||||
hand_left_ratio
|
||||
hand_symmetry
|
||||
upper_holds
|
||||
lower_holds
|
||||
upper_ratio
|
||||
max_hand_reach
|
||||
min_hand_reach
|
||||
mean_hand_reach
|
||||
std_hand_reach
|
||||
hand_spread_x
|
||||
hand_spread_y
|
||||
max_foot_spread
|
||||
mean_foot_spread
|
||||
foot_spread_x
|
||||
foot_spread_y
|
||||
max_hand_to_foot
|
||||
min_hand_to_foot
|
||||
mean_hand_to_foot
|
||||
std_hand_to_foot
|
||||
mean_hold_difficulty
|
||||
max_hold_difficulty
|
||||
min_hold_difficulty
|
||||
std_hold_difficulty
|
||||
median_hold_difficulty
|
||||
difficulty_range
|
||||
mean_hand_difficulty
|
||||
max_hand_difficulty
|
||||
std_hand_difficulty
|
||||
mean_foot_difficulty
|
||||
max_foot_difficulty
|
||||
std_foot_difficulty
|
||||
start_difficulty
|
||||
finish_difficulty
|
||||
hand_foot_ratio
|
||||
movement_density
|
||||
hold_com_x
|
||||
hold_com_y
|
||||
weighted_difficulty
|
||||
convex_hull_area
|
||||
convex_hull_perimeter
|
||||
hull_area_to_bbox_ratio
|
||||
min_nn_distance
|
||||
mean_nn_distance
|
||||
max_nn_distance
|
||||
std_nn_distance
|
||||
mean_neighbors_12in
|
||||
max_neighbors_12in
|
||||
clustering_ratio
|
||||
path_length_vertical
|
||||
path_efficiency
|
||||
difficulty_gradient
|
||||
lower_region_difficulty
|
||||
middle_region_difficulty
|
||||
upper_region_difficulty
|
||||
difficulty_progression
|
||||
max_difficulty_jump
|
||||
mean_difficulty_jump
|
||||
difficulty_weighted_reach
|
||||
max_weighted_reach
|
||||
mean_x_normalized
|
||||
mean_y_normalized
|
||||
std_x_normalized
|
||||
std_y_normalized
|
||||
start_height_normalized
|
||||
finish_height_normalized
|
||||
start_offset_from_typical
|
||||
finish_offset_from_typical
|
||||
mean_y_relative_to_start
|
||||
max_y_relative_to_start
|
||||
spread_x_normalized
|
||||
spread_y_normalized
|
||||
bbox_coverage_x
|
||||
bbox_coverage_y
|
||||
y_q25
|
||||
y_q50
|
||||
y_q75
|
||||
y_iqr
|
||||
holds_bottom_quartile
|
||||
holds_top_quartile
|
||||
display_difficulty
|
||||
angle_x_holds
|
||||
angle_x_difficulty
|
||||
angle_squared
|
||||
difficulty_x_height
|
||||
difficulty_x_density
|
||||
complexity_score
|
||||
hull_area_x_difficulty
|
||||
Reference in New Issue
Block a user