# topepo/fes architecture

> Architecture diagram of the GitHub repository topepo/fes, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/topepo/fes
- Repository: https://github.com/topepo/fes

## Overview

This repository is the companion code and data for *Feature Engineering and Selection*, not a single application. A reader runs chapter analysis scripts to reproduce the book’s modeling, feature-engineering, and visualization examples; the README says `Data_Sets` contains datasets used in the text. The tree shows these subject areas, but no source excerpts were provided, so specific script-to-dataset calls and runtime sequencing cannot be verified. Chapter 10 has no code, as the README notes.

Main entry points: [`Data_Sets`](https://github.com/topepo/fes/tree/master/Data_Sets) (Chapter Datasets), [`01_Introduction`](https://github.com/topepo/fes/tree/master/01_Introduction) (Intro Examples), [`02_Predicting_Risk_of_Ischemic_Stroke`](https://github.com/topepo/fes/tree/master/02_Predicting_Risk_of_Ischemic_Stroke) (Stroke Prediction), [`04_Exploratory_Visualizations`](https://github.com/topepo/fes/tree/master/04_Exploratory_Visualizations) (Exploratory Visuals)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_examples["Examples and Modeling"]
  node_intro["Intro Examples"]
  node_stroke["Stroke Prediction"]
  node_modeling["Modeling Process"]
end

subgraph group_features["Feature Engineering"]
  node_categorical["Categorical Encoding"]
  node_numeric["Numeric Engineering"]
  node_interactions["Interaction Effects"]
  node_missing["Missing Data"]
end

subgraph group_analysis["Analysis Methods"]
  node_visuals["Exploratory Visuals"]
  node_profiles["Profile Data"]
  node_greedy["Greedy Search"]
  node_global["Global Search"]
end

subgraph group_datasets["Book Data"]
  node_data[("Chapter Datasets")]
end

node_reader(("Reader"))

node_reader -->|"runs examples"| node_intro
node_reader -->|"runs analyses"| node_stroke
node_reader -->|"runs analyses"| node_modeling
node_reader -->|"runs analyses"| node_visuals
node_reader -->|"runs analyses"| node_categorical
node_reader -->|"runs analyses"| node_numeric
node_reader -->|"runs analyses"| node_interactions
node_reader -->|"runs analyses"| node_missing
node_reader -->|"runs analyses"| node_profiles
node_reader -->|"runs analyses"| node_greedy
node_reader -->|"runs analyses"| node_global
node_data -.->|"may supply data"| node_intro
node_data -.->|"may supply data"| node_stroke
node_data -.->|"may supply data"| node_visuals
node_data -.->|"may supply data"| node_profiles

click node_intro "https://github.com/topepo/fes/tree/master/01_Introduction"
click node_stroke "https://github.com/topepo/fes/tree/master/02_Predicting_Risk_of_Ischemic_Stroke"
click node_modeling "https://github.com/topepo/fes/tree/master/03_A_Review_of_the_Predictive_Modeling_Process"
click node_visuals "https://github.com/topepo/fes/tree/master/04_Exploratory_Visualizations"
click node_categorical "https://github.com/topepo/fes/tree/master/05_Encoding_Categorical_Predictors"
click node_numeric "https://github.com/topepo/fes/tree/master/06_Engineering_Numeric_Predictors"
click node_interactions "https://github.com/topepo/fes/tree/master/07_Detecting_Interaction_Effects"
click node_missing "https://github.com/topepo/fes/tree/master/08_Handling_Missing_Data"
click node_profiles "https://github.com/topepo/fes/tree/master/09_Working_with_Profile_Data"
click node_greedy "https://github.com/topepo/fes/tree/master/11_Greedy_Search_Methods"
click node_global "https://github.com/topepo/fes/tree/master/12_Global_Search"
click node_data "https://github.com/topepo/fes/tree/master/Data_Sets"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_intro,node_stroke,node_modeling toneBlue
class node_categorical,node_numeric,node_interactions,node_missing toneAmber
class node_visuals,node_profiles,node_greedy,node_global toneMint
class node_data toneRose
class node_reader toneIndigo
```

## Components

### Examples and Modeling

- [Intro Examples](https://github.com/topepo/fes/tree/master/01_Introduction): `01_Introduction`
- [Stroke Prediction](https://github.com/topepo/fes/tree/master/02_Predicting_Risk_of_Ischemic_Stroke): `02_Predicting_Risk_of_Ischemic_Stroke`
- [Modeling Process](https://github.com/topepo/fes/tree/master/03_A_Review_of_the_Predictive_Modeling_Process): `03_A_Review_of_the_Predictive_Modeling_Process`

### Feature Engineering

- [Categorical Encoding](https://github.com/topepo/fes/tree/master/05_Encoding_Categorical_Predictors): `05_Encoding_Categorical_Predictors`
- [Numeric Engineering](https://github.com/topepo/fes/tree/master/06_Engineering_Numeric_Predictors): `06_Engineering_Numeric_Predictors`
- [Interaction Effects](https://github.com/topepo/fes/tree/master/07_Detecting_Interaction_Effects): `07_Detecting_Interaction_Effects`
- [Missing Data](https://github.com/topepo/fes/tree/master/08_Handling_Missing_Data): `08_Handling_Missing_Data`

### Analysis Methods

- [Exploratory Visuals](https://github.com/topepo/fes/tree/master/04_Exploratory_Visualizations): `04_Exploratory_Visualizations`
- [Profile Data](https://github.com/topepo/fes/tree/master/09_Working_with_Profile_Data): `09_Working_with_Profile_Data`
- [Greedy Search](https://github.com/topepo/fes/tree/master/11_Greedy_Search_Methods): `11_Greedy_Search_Methods`
- [Global Search](https://github.com/topepo/fes/tree/master/12_Global_Search): `12_Global_Search`

### Book Data

- [Chapter Datasets](https://github.com/topepo/fes/tree/master/Data_Sets): `Data_Sets`

### Other components

- **Reader**

## Connections

- Reader → Intro Examples: runs examples (evidence: `README.md`)
- Reader → Stroke Prediction: runs analyses (evidence: `README.md`)
- Reader → Modeling Process: runs analyses (evidence: `README.md`)
- Reader → Exploratory Visuals: runs analyses (evidence: `README.md`)
- Reader → Categorical Encoding: runs analyses (evidence: `README.md`)
- Reader → Numeric Engineering: runs analyses (evidence: `README.md`)
- Reader → Interaction Effects: runs analyses (evidence: `README.md`)
- Reader → Missing Data: runs analyses (evidence: `README.md`)
- Reader → Profile Data: runs analyses (evidence: `README.md`)
- Reader → Greedy Search: runs analyses (evidence: `README.md`)
- Reader → Global Search: runs analyses (evidence: `README.md`)
- Chapter Datasets → Intro Examples: may supply data
- Chapter Datasets → Stroke Prediction: may supply data
- Chapter Datasets → Exploratory Visuals: may supply data
- Chapter Datasets → Profile Data: may supply data
