From 9eaf4188a50e498797890df430b599565d2532c1 Mon Sep 17 00:00:00 2001 From: yutsuryo Date: Tue, 27 May 2025 20:15:40 +0900 Subject: [PATCH 1/3] =?UTF-8?q?csv=E8=AA=AD=E3=81=BF=E8=BE=BC=E3=81=BF?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "day5/\346\274\224\347\277\2222/main.py" | 30 +++++++++++++++++++----- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git "a/day5/\346\274\224\347\277\2222/main.py" "b/day5/\346\274\224\347\277\2222/main.py" index 4867ecce7..468f9f714 100644 --- "a/day5/\346\274\224\347\277\2222/main.py" +++ "b/day5/\346\274\224\347\277\2222/main.py" @@ -19,13 +19,31 @@ class DataLoader: def load_titanic_data(path=None): """Titanicデータセットを読み込む""" if path: - return pd.read_csv(path) + # 引数にパスが指定された場合はそれを優先 + if os.path.exists(path): + return pd.read_csv(path) + else: + print(f"Error: Specified path '{path}' does not exist.") + return None else: - # ローカルのファイル - local_path = "/Users/yutsudoryo/Documents/AIE/lecture-ai-engineering/day5/演習2/data/Titanic.csv" - if os.path.exists(local_path): - return pd.read_csv(local_path) - + # 引数が指定されない場合、現在のスクリプトからの相対パスを試す + # スクリプトがあるディレクトリの絶対パスを取得 + script_dir = os.path.dirname(__file__) + # 'data'ディレクトリがスクリプトの隣にあると仮定 + relative_path = os.path.join(script_dir, "data", "Titanic.csv") + + # または、より上位の 'lecture-ai-engineering' ディレクトリ直下に 'data' がある場合 + # project_root = os.path.abspath(os.path.join(script_dir, '..', '..')) # day5/演習2 から2つ上に上がる + # relative_path = os.path.join(project_root, "data", "Titanic.csv") + + + if os.path.exists(relative_path): + print(f"Loading data from: {relative_path}") # デバッグ用 + return pd.read_csv(relative_path) + else: + print(f"Error: Data file not found at local path '{relative_path}'.") + # ここでエラーを発生させるか、Noneを返すかを決める + return None # Noneを返すと、その後の処理でNoneTypeエラーが発生する可能性がある @staticmethod def preprocess_titanic_data(data): """Titanicデータを前処理する""" From 357f7b5ae0f0799edf7fd8bbd89337d284b69a44 Mon Sep 17 00:00:00 2001 From: yutsuryo Date: Tue, 27 May 2025 20:18:01 +0900 Subject: [PATCH 2/3] =?UTF-8?q?black=E5=AE=9F=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "day5/\346\274\224\347\277\2222/main.py" | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git "a/day5/\346\274\224\347\277\2222/main.py" "b/day5/\346\274\224\347\277\2222/main.py" index 468f9f714..79a4fd590 100644 --- "a/day5/\346\274\224\347\277\2222/main.py" +++ "b/day5/\346\274\224\347\277\2222/main.py" @@ -31,19 +31,19 @@ def load_titanic_data(path=None): script_dir = os.path.dirname(__file__) # 'data'ディレクトリがスクリプトの隣にあると仮定 relative_path = os.path.join(script_dir, "data", "Titanic.csv") - + # または、より上位の 'lecture-ai-engineering' ディレクトリ直下に 'data' がある場合 # project_root = os.path.abspath(os.path.join(script_dir, '..', '..')) # day5/演習2 から2つ上に上がる # relative_path = os.path.join(project_root, "data", "Titanic.csv") - if os.path.exists(relative_path): - print(f"Loading data from: {relative_path}") # デバッグ用 + print(f"Loading data from: {relative_path}") # デバッグ用 return pd.read_csv(relative_path) else: print(f"Error: Data file not found at local path '{relative_path}'.") # ここでエラーを発生させるか、Noneを返すかを決める - return None # Noneを返すと、その後の処理でNoneTypeエラーが発生する可能性がある + return None # Noneを返すと、その後の処理でNoneTypeエラーが発生する可能性がある + @staticmethod def preprocess_titanic_data(data): """Titanicデータを前処理する""" From 066cc0fb795cd986a484658f2ec932f9499087b5 Mon Sep 17 00:00:00 2001 From: yutsuryo Date: Tue, 27 May 2025 20:23:55 +0900 Subject: [PATCH 3/3] =?UTF-8?q?test.yml=E3=82=92=E7=B7=A8=E9=9B=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/test.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index eec5b9fe5..a3e0fc3ee 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,6 +39,10 @@ jobs: # - name: Run model tests # run: | # pytest day5/演習2/tests/test_model.py -v + - name: Run main.py + run: | + python day5/演習2/main.py -v + - name: Run pytest on main.py run: | pytest day5/演習2/main.py -v \ No newline at end of file