cs3319-project2 / figures_v2 /README_FIGURES.md
NLP-beginner's picture
CS3319 Project 2 final deliverable (public F1 = 0.96626)
f28d994
|
Raw
History Blame Contribute Delete
8.65 kB

figures_v2 outputs

Generated by figures_v2/scripts/make_all_figures.py.

Run:

python figures_v2/scripts/make_all_figures.py --package-root .

Use PDF files in ACM LaTeX for vector output; PNG files are 300 dpi previews.

fig1_task_graph

Figure ID: fig1_task_graph Output files: figures_v2/pdf/fig1_task_graph.pdf, figures_v2/png/fig1_task_graph.png, figures_v2/svg/fig1_task_graph.svg Data source: schematic; README.md; data_and_docs/dataset.md Purpose in paper: Define author-paper link prediction on the heterogeneous academic graph. Caption draft: Heterogeneous author-paper graph and link-prediction task. Authors, papers, historical author-paper interactions, coauthor links, and directed paper-paper citations define the observed graph; each test author-paper pair is ranked for a binary recommendation decision. Known limitations: None.

fig2_dataset_sparsity

Figure ID: fig2_dataset_sparsity Output files: figures_v2/pdf/fig2_dataset_sparsity.pdf, figures_v2/png/fig2_dataset_sparsity.png, figures_v2/svg/fig2_dataset_sparsity.svg Data source: data_and_docs/author_file_ann.txt; data_and_docs/paper_file_ann.txt; data_and_docs/bipartite_train_ann.txt Purpose in paper: Show sparsity, long tails, and cold-start pressure in the official graph. Caption draft: Dataset sparsity and long-tail structure. Log-log CCDFs show heavy-tailed coauthor, citation, and author-paper degrees, while the low-degree panel shows the mass of cold-start nodes that motivates structural and high-order features. Known limitations: None.

fig3_performance_evolution

Figure ID: fig3_performance_evolution Output files: figures_v2/pdf/fig3_performance_evolution.pdf, figures_v2/png/fig3_performance_evolution.png, figures_v2/svg/fig3_performance_evolution.svg Data source: figures_v2/data/manual_metrics.csv; README.md; reports/*.md Purpose in paper: Summarize the method evolution from LightGCN to the final high-order stack. Caption draft: Performance evolution across model stages. LightGCN provides the collaborative filtering backbone, graph/meta-path stacking supplies the largest jump, random-walk blocks add complementary high-order proximity, and citation-aware propagation gives the final lift to public F1 = 0.96626. Known limitations: None.

fig4_method_pipeline

Figure ID: fig4_method_pipeline Output files: figures_v2/pdf/fig4_method_pipeline.pdf, figures_v2/png/fig4_method_pipeline.png, figures_v2/svg/fig4_method_pipeline.svg Data source: README.md; CLAUDE.md; code/high_order_graph_stack.py Purpose in paper: Explain the final two-stage LightGBM stacking pipeline. Caption draft: Final two-stage stacking pipeline. The first stage produces collaborative, graph, content, random-walk, and citation-propagation signals; the second-stage LightGBM stacker fuses roughly 259 features and uses a rank cutoff rather than a transferred probability threshold for submission generation. Known limitations: None.

fig5_highorder_ablation

Figure ID: fig5_highorder_ablation Output files: figures_v2/pdf/fig5_highorder_ablation.pdf, figures_v2/png/fig5_highorder_ablation.png, figures_v2/svg/fig5_highorder_ablation.svg Data source: validation_runs/dynamic_seed202/high_order_graph_stack/validation_summary.csv Purpose in paper: Quantify the value of high-order citation propagation without dual axes. Caption draft: High-order propagation ablation. F1 and AUC are shown in separate panels to avoid dual-axis ambiguity. Rich content and random-walk blocks improve the stack, undirected high-order features add the largest late-stage gain, and directed citation propagation gives the final improvement. Known limitations: None.

fig6_calibration_rank_cutoff

Figure ID: fig6_calibration_rank_cutoff Output files: figures_v2/pdf/fig6_calibration_rank_cutoff.pdf, figures_v2/png/fig6_calibration_rank_cutoff.png, figures_v2/svg/fig6_calibration_rank_cutoff.svg Data source: validation_runs\stack_ratio_analysis.csv; validation_runs\dynamic_seed202\high_order_graph_stack\threshold_submission_summary.csv Purpose in paper: Explain why rank cutoff is more robust than transferring a probability threshold. Caption draft: Rank cutoff versus probability-threshold transfer. The validation split is artificially balanced, so validation probabilities are not calibrated for test; a rank cutoff keeps the predicted-positive ratio fixed while the transferred probability threshold drifts to about 0.524 on test. Known limitations: None.

figA1_lightgcn_sweep

Figure ID: figA1_lightgcn_sweep Output files: figures_v2/pdf/figA1_lightgcn_sweep.pdf, figures_v2/png/figA1_lightgcn_sweep.png, figures_v2/svg/figA1_lightgcn_sweep.svg Data source: validation_runs\dynamic_summary.csv Purpose in paper: Document the LightGCN layer/dimension sweep. Caption draft: LightGCN validation sweep over propagation depth and embedding dimension. Known limitations: None.

figA2_rw_ensemble

Figure ID: figA2_rw_ensemble Output files: figures_v2/pdf/figA2_rw_ensemble.pdf, figures_v2/png/figA2_rw_ensemble.png, figures_v2/svg/figA2_rw_ensemble.svg Data source: D:\reps\26H1_cs3319_final_deliverable\validation_runs\dynamic_seed202\randomwalk_systematic\small_ablation_table.csv; D:\reps\26H1_cs3319_final_deliverable\validation_runs\dynamic_seed202\randomwalk_systematic\ensemble_5_ablation.csv; D:\reps\26H1_cs3319_final_deliverable\validation_runs\dynamic_seed202\randomwalk_systematic\ensemble_7_ablation.csv Purpose in paper: Show random-walk ensemble-size ablation. Caption draft: Random-walk ensemble-size ablation from the best single block to 5 and 7 blocks. Known limitations: None.

figA3_feature_group_contribution

Figure ID: figA3_feature_group_contribution Output files: figures_v2/pdf/figA3_feature_group_contribution.pdf, figures_v2/png/figA3_feature_group_contribution.png, figures_v2/svg/figA3_feature_group_contribution.svg Data source: figures_v2/data/manual_metrics.csv; reports/*.md Purpose in paper: Summarize incremental feature-group contributions from recorded ablations. Caption draft: Feature-group contribution measured as recorded incremental validation-F1 gains. Known limitations: None.

figA4_error_buckets

Figure ID: figA4_error_buckets Output files: figures_v2/pdf/figA4_error_buckets.pdf, figures_v2/png/figA4_error_buckets.png, figures_v2/svg/figA4_error_buckets.svg Data source: validation_runs\dynamic_seed202\error_group_calibration\error_analysis_buckets.csv Purpose in paper: Localize remaining weak regimes without a single overlong heatmap. Caption draft: Error buckets reveal cold-start and weak-evidence regimes. The panels separate degree, rank/score, and local-evidence buckets and highlight the lowest-F1 rows. Known limitations: None.

figA5_oof_pr_score

Figure ID: figA5_oof_pr_score Output files: figures_v2/pdf/figA5_oof_pr_score.pdf, figures_v2/png/figA5_oof_pr_score.png, figures_v2/svg/figA5_oof_pr_score.svg Data source: validation_runs\dynamic_seed202\val_labels_seed202.npy; validation_runs\dynamic_seed202\dyn202_l2d512_bpr_bigbatch_more\scores\val_vanilla_ensemble_mean.npy; validation_runs\dynamic_seed202\post95_ablation\ensemble_lgcn_oof.npy; validation_runs\dynamic_seed202\node2vec_deepwalk\node2vec_stack_oof.npy; validation_runs\dynamic_seed202\high_order_graph_stack\rich_rw7_highorder_directed_oof.npy Purpose in paper: Show OOF discrimination and readable final-score distributions. Caption draft: OOF precision-recall curves and final-score ECDFs. The ECDF view avoids density spikes and makes positive/negative separation readable. Known limitations: Only aligned OOF arrays are plotted.

figA6_feature_importance

Figure ID: figA6_feature_importance Output files: skipped Data source: cached_scores/lgb_model.pkl; cached_scores/lgb_v2_model.pkl Purpose in paper: LightGBM model feature importance if model metadata is reliably loadable. Caption draft: Skipped unless LightGBM and feature names are available. Known limitations: LightGBM is not importable in this environment and reliable feature names are not available; no importance plot was generated.

LaTeX insertion

Single-column figure:

\begin{figure}
  \centering
  \includegraphics[width=\columnwidth]{figures_v2/pdf/fig2_dataset_sparsity.pdf}
  \caption{...}
\end{figure}

Double-column figure:

\begin{figure*}
  \centering
  \includegraphics[width=\textwidth]{figures_v2/pdf/fig4_method_pipeline.pdf}
  \caption{...}
\end{figure*}