Spaces:
Sleeping
Sleeping
pannman
commited on
Commit
·
07be191
1
Parent(s):
61ffc70
Update Readme
Browse files- .gitignore +1 -0
- README.md +6 -76
- data/README.md +93 -0
- work/README.md +90 -0
.gitignore
CHANGED
@@ -170,6 +170,7 @@ cython_debug/
|
|
170 |
/data/**
|
171 |
!/data/**/
|
172 |
!/data/**/.gitkeep
|
|
|
173 |
|
174 |
.bash_history
|
175 |
|
|
|
170 |
/data/**
|
171 |
!/data/**/
|
172 |
!/data/**/.gitkeep
|
173 |
+
!/data/**/README.md
|
174 |
|
175 |
.bash_history
|
176 |
|
README.md
CHANGED
@@ -17,16 +17,6 @@
|
|
17 |
- [主要ディレクトリの説明](#主要ディレクトリの説明)
|
18 |
- [`work/`](#work)
|
19 |
- [`data/`](#data)
|
20 |
-
- [`work/` ディレクトリ](#work-ディレクトリ)
|
21 |
-
- [`example/`](#example)
|
22 |
-
- [`experiments/`](#experiments)
|
23 |
-
- [`src/`](#src)
|
24 |
-
- [`tests/`](#tests)
|
25 |
-
- [`data/` ディレクトリ](#data-ディレクトリ)
|
26 |
-
- [`models/`](#models)
|
27 |
-
- [`preprocessed/`](#preprocessed)
|
28 |
-
- [`raw/`](#raw)
|
29 |
-
- [`results/`](#results)
|
30 |
- [VSCode上での作業(Dev container)](#vscode上での作業dev-container)
|
31 |
- [前提条件](#前提条件-1)
|
32 |
- [🔧 セットアップ手順](#-セットアップ手順)
|
@@ -104,8 +94,11 @@ Poetryを使用してパッケージを管理します。
|
|
104 |
```bash
|
105 |
poetry remove [パッケージ名]
|
106 |
```
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
109 |
|
110 |
## 🔄 開発の手順
|
111 |
|
@@ -203,70 +196,7 @@ root/
|
|
203 |
- **raw/**: 元データ(提供されたExcelファイルなど)
|
204 |
- **results/**: 各タスクの出力結果
|
205 |
|
206 |
-
|
207 |
-
|
208 |
-
### `work/` ディレクトリ
|
209 |
-
|
210 |
-
`work/` ディレクトリは、プロジェクトの主要なコードベースを含みます。各サブディレクトリの詳細は以下の通りです:
|
211 |
-
|
212 |
-
#### `example/`
|
213 |
-
- **目的**: デモンストレーションやサンプルコードの保管
|
214 |
-
- **内容**:
|
215 |
-
- クリーンで理解しやすいコード例
|
216 |
-
- Hugging Face Spacesのデモスクリプト
|
217 |
-
- クライアントへの提示用コードサンプル
|
218 |
-
|
219 |
-
#### `experiments/`
|
220 |
-
- **目的**: 実験的なコードや一時的なスクリプトの保管
|
221 |
-
- **内容**:
|
222 |
-
- 新しいアルゴリズムの試験実装
|
223 |
-
- パラメータチューニングスクリプト
|
224 |
-
- プロジェクト固有のプロンプトやコンフィグ
|
225 |
-
|
226 |
-
#### `src/`
|
227 |
-
- **目的**: 再利用可能な共通コンポーネントの保管
|
228 |
-
- **内容**:
|
229 |
-
- プロジェクト間で共有できる基本クラス
|
230 |
-
- ユーティリティ関数
|
231 |
-
- データ処理パイプライン
|
232 |
-
|
233 |
-
#### `tests/`
|
234 |
-
- **目的**: 単体テストとその関連ファイルの保管
|
235 |
-
- **内容**:
|
236 |
-
- 各モジュールの単体テスト
|
237 |
-
|
238 |
-
### `data/` ディレクトリ
|
239 |
-
|
240 |
-
`data/` ディレクトリは、プロジェクトで使用する様々なデータを保管します。
|
241 |
-
#### `models/`
|
242 |
-
- **目的**: 学習済みモデルの保存
|
243 |
-
- **内容**:
|
244 |
-
- PyTorchモデル(.pthファイル)
|
245 |
-
- TensorFlowモデル(.h5ファイル)
|
246 |
-
- その他の機械学習モデル
|
247 |
-
|
248 |
-
#### `preprocessed/`
|
249 |
-
- **目的**: 前処理済みデータの保存
|
250 |
-
- **内容**:
|
251 |
-
- クリーニング済みCSVファイル
|
252 |
-
- トークン化されたテキストファイル
|
253 |
-
- 正規化された数値データ
|
254 |
-
|
255 |
-
#### `raw/`
|
256 |
-
- **目的**: 元データの保管
|
257 |
-
- **内容**:
|
258 |
-
- クライアントから提供された元のExcelファイル
|
259 |
-
- ウェブスクレイピングで取得した生データ
|
260 |
-
- 未処理のログファイル
|
261 |
-
|
262 |
-
#### `results/`
|
263 |
-
- **目的**: 分析結果や出力データの保存
|
264 |
-
- **内容**:
|
265 |
-
- モデルの予測結果
|
266 |
-
- 統計分析のレポート
|
267 |
-
- 生成されたグラフや図表
|
268 |
-
|
269 |
-
> ⚠️ 注意: `data/`ディレクトリの内容はGitで管理されません。重要なデータは別途バックアップを取ってください。
|
270 |
|
271 |
|
272 |
## VSCode上での作業(Dev container)
|
|
|
17 |
- [主要ディレクトリの説明](#主要ディレクトリの説明)
|
18 |
- [`work/`](#work)
|
19 |
- [`data/`](#data)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
- [VSCode上での作業(Dev container)](#vscode上での作業dev-container)
|
21 |
- [前提条件](#前提条件-1)
|
22 |
- [🔧 セットアップ手順](#-セットアップ手順)
|
|
|
94 |
```bash
|
95 |
poetry remove [パッケージ名]
|
96 |
```
|
97 |
+
- **lock fileの更新**:
|
98 |
+
```bash
|
99 |
+
poetry lock
|
100 |
+
```
|
101 |
+
> 📝 パッケージの追加や削除を行った後は必ずlock fileを更新して、poetry.lockとpyproject.tomlの差分をコミットしてください
|
102 |
|
103 |
## 🔄 開発の手順
|
104 |
|
|
|
196 |
- **raw/**: 元データ(提供されたExcelファイルなど)
|
197 |
- **results/**: 各タスクの出力結果
|
198 |
|
199 |
+
> ⚠️ 注意: `data/`ディレクトリの内容はGitで管理されません。dataディレクトリからdata.zipファイルに圧縮しgoogledriveにて保管してください。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
|
201 |
|
202 |
## VSCode上での作業(Dev container)
|
data/README.md
ADDED
@@ -0,0 +1,93 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# 📊 data ディレクトリ概要
|
2 |
+
|
3 |
+
`data/` ディレクトリは、プロジェクトの心臓部とも言える重要なデータを管理します。各サブディレクトリは特定の目的を持ち、プロジェクトのデータフローを効率化します。
|
4 |
+
|
5 |
+
---
|
6 |
+
|
7 |
+
### 📂 ディレクトリ構造
|
8 |
+
|
9 |
+
```
|
10 |
+
data/
|
11 |
+
├── models/
|
12 |
+
├── preprocessed/
|
13 |
+
├── raw/
|
14 |
+
└── results/
|
15 |
+
```
|
16 |
+
|
17 |
+
---
|
18 |
+
|
19 |
+
## 📁 詳細説明
|
20 |
+
|
21 |
+
### 🧠 `models/`
|
22 |
+
|
23 |
+
**目的**: 学習済みモデルの保存と版管理
|
24 |
+
|
25 |
+
| 内容 | 説明 |
|
26 |
+
| -------- | ---------------------- |
|
27 |
+
| 📄 `.pth` | PyTorchモデル |
|
28 |
+
| 📄 `.pd` | TensorFlowモデル |
|
29 |
+
| 📄 その他 | scikit-learnモデルなど |
|
30 |
+
|
31 |
+
➡️ **使用例**:
|
32 |
+
```python
|
33 |
+
model = torch.load('data/models/bert_classifier_v2.1.pth')
|
34 |
+
```
|
35 |
+
|
36 |
+
---
|
37 |
+
|
38 |
+
### 🔧 `preprocessed/`
|
39 |
+
|
40 |
+
**目的**: 前処理済みデータの保存と再利用
|
41 |
+
|
42 |
+
| 内容 | 説明 |
|
43 |
+
| --------------------- | -------------------------- |
|
44 |
+
| 📊 クリーニング済みCSV | 整形されたデータセット |
|
45 |
+
| 📝 トークン化テキスト | NLP用処理済みテキスト |
|
46 |
+
| 📈 正規化データ | スケーリング済み数値データ |
|
47 |
+
|
48 |
+
➡️ **使用例**:
|
49 |
+
```python
|
50 |
+
df = pd.read_csv('data/preprocessed/customer_data_2024Q1.csv')
|
51 |
+
```
|
52 |
+
|
53 |
+
---
|
54 |
+
|
55 |
+
### 📦 `raw/`
|
56 |
+
|
57 |
+
**目的**: 元データの保管
|
58 |
+
|
59 |
+
| 内容 | 説明 |
|
60 |
+
| ---------------------- | ---------------------- |
|
61 |
+
| 📑 Excelファイル | クライアント提供データ |
|
62 |
+
| 🌐 スクレイピングデータ | Web収集の生データ |
|
63 |
+
| 📜 ログファイル | システムログなど |
|
64 |
+
|
65 |
+
⚠️ **注意**: このディレクトリは読み取り専用として扱い、データの整合性を保護すること。
|
66 |
+
|
67 |
+
---
|
68 |
+
|
69 |
+
### 📊 `results/`
|
70 |
+
|
71 |
+
**目的**: 分析結果や出力データの保存と共有
|
72 |
+
|
73 |
+
| 内容 | 説明 |
|
74 |
+
| -------------- | -------------------- |
|
75 |
+
| 📉 予測結果 | モデルのアウトプット |
|
76 |
+
| 📃 分析レポート | 統計解析のサマリー |
|
77 |
+
| 🖼️ グラフ・図表 | 可視化結果 |
|
78 |
+
|
79 |
+
➡️ **使用例**:
|
80 |
+
```python
|
81 |
+
plt.savefig('data/results/sales_forecast_2024Q2.png', dpi=300)
|
82 |
+
```
|
83 |
+
|
84 |
+
---
|
85 |
+
### 🚨 注意事項
|
86 |
+
|
87 |
+
1. **🔒 管理方法**:
|
88 |
+
- `data/` は基本的にGit管理外。
|
89 |
+
- dataディレクトリからdata.zipファイルに圧縮しgoogledriveにて保管してください。
|
90 |
+
- 大容量ファイルはGit LFSの使用を検討。
|
91 |
+
---
|
92 |
+
> 💡 **Tip**: このディレクトリ構造を効果的に活用することで、データ管理の効率性が向上し、プロジェクトの再現性と品質が確保されます。
|
93 |
+
|
work/README.md
ADDED
@@ -0,0 +1,90 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# 🚀 プロジェクト構造
|
2 |
+
|
3 |
+
## 📁 ディレクトリ構成例
|
4 |
+
|
5 |
+
```
|
6 |
+
work/
|
7 |
+
├── example/
|
8 |
+
├── experiments/
|
9 |
+
│ ├── task_1/
|
10 |
+
│ ├── task_2/
|
11 |
+
│ └── ...
|
12 |
+
├── src/
|
13 |
+
│ ├── components/
|
14 |
+
│ ├── utils/
|
15 |
+
│ └── pipelines/
|
16 |
+
└── tests/
|
17 |
+
```
|
18 |
+
|
19 |
+
## 📂 ディレクトリ詳細
|
20 |
+
|
21 |
+
### 🎯 `example/`
|
22 |
+
|
23 |
+
**目的**: デモンストレーションとサンプルコードの提供
|
24 |
+
|
25 |
+
| 内容 | 特徴 |
|
26 |
+
| ------------------------------------------------------------------------------- | -------------------------------------------------------------- |
|
27 |
+
| • Hugging Face Spacesのデモスクリプト<br>• クライアント共有用の整形されたコード | • クリーンで再利用可能なコード<br>• 明確なドキュメンテーション |
|
28 |
+
|
29 |
+
---
|
30 |
+
|
31 |
+
### 🧪 `experiments/`
|
32 |
+
|
33 |
+
**目的**:
|
34 |
+
- 実験的コードの開発
|
35 |
+
- PoCの主要作業場所
|
36 |
+
|
37 |
+
**使用方法**:
|
38 |
+
1. タスク単位でディレクトリを作成
|
39 |
+
2. 各タスクディレクトリ内で実験的コードを記述
|
40 |
+
3. クライアント共有前にコードをリファクタリングし、`example/`に移動
|
41 |
+
|
42 |
+
**構造例**:
|
43 |
+
```
|
44 |
+
experiments/
|
45 |
+
├── task_1/
|
46 |
+
├── task_2/
|
47 |
+
└── ...
|
48 |
+
```
|
49 |
+
|
50 |
+
---
|
51 |
+
|
52 |
+
### 🛠 `src/`
|
53 |
+
|
54 |
+
**目的**:
|
55 |
+
- プロジェクト非依存の主要コンポーネントとユーティリティクラスの保管
|
56 |
+
- 他プロジェクトでの再利用を可能にする
|
57 |
+
|
58 |
+
> 💡 **ヒント**: プロジェクト終了時に、全体のコードをリファクタリングし、再利用可能な部分を`src/`に移動させましょう。
|
59 |
+
|
60 |
+
**構造例**:
|
61 |
+
```
|
62 |
+
src/
|
63 |
+
├── utils/
|
64 |
+
├── components/
|
65 |
+
├── pipelines/
|
66 |
+
└── ...
|
67 |
+
```
|
68 |
+
|
69 |
+
---
|
70 |
+
|
71 |
+
### 🧪 `tests/`
|
72 |
+
|
73 |
+
**目的**: プロジェクトの品質保証
|
74 |
+
|
75 |
+
**構造**:
|
76 |
+
- `unit/`: 単体テスト
|
77 |
+
- `src/`の各モジュールに対応
|
78 |
+
- 命名規則: `test_*.py`
|
79 |
+
- 例: `src/utils/data_loader.py` → `tests/utils/test_data_loader.py`
|
80 |
+
|
81 |
+
**テストの実行方法**:
|
82 |
+
|
83 |
+
| コマンド | 説明 |
|
84 |
+
| --------------------------------------------- | ------------------------------ |
|
85 |
+
| `pytest tests/unit` | 全ての単体テストを実行 |
|
86 |
+
| `pytest tests/unit/utils/test_data_loader.py` | 特定のモジュールのテストを実行 |
|
87 |
+
| `pytest tests/unit -v` | 詳細なテスト結果を表示 |
|
88 |
+
|
89 |
+
> ⚠️ **注意**: テスト実行前に、必要な依存関係がインストールされていることを確認してください。
|
90 |
+
|