# TCBA台湾上市企业破产分析

**TCBA（Taiwan Corporate Bankruptcy Analysis）**

*Bankruptcy Analysis Based on Financial Data of Taiwanese Listed Companies (TCBA Model)*

---

基于台湾地区上市公司财务指标数据，构建**企业破产风险预测模型**的机器学习实战案例。针对财务数据普遍存在的**类别不平衡**问题，采用 **SMOTE 过采样** 与多种分类模型对比建模，并用 **ROC/AUC、混淆矩阵、分类报告** 评估模型效果。

## 📁 项目结构

```text
7.基于台湾上市公司财务数据的破产分析/
├── data.csv                                      # 台湾上市公司财务指标原始数据（含破产标签）
├── 基于台湾上市公司财务数据的破产分析.ipynb      # 完整分析 Notebook
├── README.md                                     # 本文件
├── requirements.txt                              # Python 依赖清单
└── .gitignore                                    # Git 忽略规则
```

## 🚀 快速开始

### 1. 环境准备（Python 3.9+）

```bash
python -m venv .venv
.venv\Scripts\activate        # Windows
# source .venv/bin/activate  # macOS / Linux

pip install -r requirements.txt
```

### 2. 运行分析

```bash
jupyter notebook 基于台湾上市公司财务数据的破产分析.ipynb
# 或
jupyter lab
```

## 📊 数据说明

- **数据文件**：`data.csv`（约 11.4 MB，台湾上市公司财务指标样本）
- **任务类型**：二分类（是否破产）
- **关键问题**：破产样本占比极低，存在严重的类别不平衡，需先做不平衡处理再建模

## 🛠️ 技术要点

| 环节 | 方法 |
|------|------|
| 数据处理 | pandas 清洗与特征处理 |
| 类别不平衡处理 | **SMOTE** 过采样（imblearn） |
| 建模方法 | Logistic Regression、Decision Tree、Random Forest |
| 超参数调优 | RandomizedSearchCV |
| 模型评估 | train/test 划分、KFold 交叉验证、accuracy、classification_report、confusion_matrix、**ROC/AUC** |
| 可视化 | matplotlib、seaborn |

## 📦 依赖

核心依赖见 `requirements.txt`：pandas、numpy、scikit-learn、imbalanced-learn、matplotlib、seaborn。

> `imbalanced-learn` 的 pip 包名为 `imbalanced-learn`，代码中 `import imblearn`。

## 📄 License

数据与代码版权归原作者所有，仅供学习研究使用。
