diff --git a/Nam/Final_code 1.py b/Nam/Final_code 1.py deleted file mode 100644 index 6308ad0..0000000 --- a/Nam/Final_code 1.py +++ /dev/null @@ -1,49 +0,0 @@ - -import pandas as pd -import pickle -from tensorflow.keras.models import load_model -from sklearn.metrics import accuracy_score, f1_score, precision_score, recall_score -from url_preprocessing import preprocess_url_dataframe # 너가 만든 전처리 모듈 - -# 다시 적어서 올릴것 - - - -# 1. 원본 데이터 불러오기 -df = pd.read_csv("train.csv") # 또는 적절한 파일명으로 수정 -print("원본 데이터 불러옴") - -# 2. 전처리 적용 -df_processed = preprocess_url_dataframe(df) -print(" 전처리 완료") - -# 3. 피처/레이블 분리 -X = df_processed.drop(columns=['label', 'URL', 'URL_clean'], errors='ignore') # 'label' 없으면 자동 무시 -y = df_processed['label'] if 'label' in df_processed.columns else None - -# 4. 스케일러 불러오기 -with open("scaler.pkl", "rb") as f: - scaler = pickle.load(f) -X_scaled = scaler.transform(X) -print(" 스케일링 완료") - -# 5. 모델 불러오기 -model = load_model("best_model.h5") -print(" 모델 불러오기 완료") - -# 6. 예측 -y_pred_proba = model.predict(X_scaled).ravel() -best_threshold = 0.34 # 여기에 저장된 값이 있다면 pickle로 불러올 수 있음 - -y_pred = (y_pred_proba > best_threshold).astype(int) - -# 7. 결과 출력 -if y is not None: - print("예측 결과 (테스트셋 평가)") - print("Accuracy:", accuracy_score(y, y_pred)) - print("F1 Score:", f1_score(y, y_pred)) - print("Precision:", precision_score(y, y_pred)) - print("Recall:", recall_score(y, y_pred)) -else: - print("예측 완료! 라벨이 없어 평가 생략") - print("예측 결과 샘플:", y_pred[:10])