title: “PHAN TRINH BAY”
author: “VO DUC DUY”
date: “2025-10-31”
output: html_document

Cài đặt và gọi các thư viện cần thiết (chỉ chạy lần đầu)

install.packages(c(“caret”, “dplyr”))

library(caret) library(dplyr)

—————– 1. ĐỌC DỮ LIỆU & XỬ LÝ BIẾN —————–

Đọc file CSV

Nếu file nằm ở thư mục khác, bạn cần thay đổi đường dẫn (ví dụ: “D:/Data/concrete.csv”)

df <- read.csv(“concrete.csv”)

Tạo biến W/C Ratio và Biến Mục tiêu Y (Làm lại để đảm bảo tính độc lập)

df <- df %>% mutate( wc_ratio = water / cement, # strength_class = 1 nếu cường độ >= 30 Mpa, 0 nếu ngược lại strength_class = ifelse(strength >= 30, 1, 0) )

Chuyển biến mục tiêu thành dạng Factor

Rất quan trọng cho hồi quy Logistic/Phân loại

df\(strength_class <- factor(df\)strength_class, levels = c(0, 1))

—————– 2. XÂY DỰNG MÔ HÌNH 1 (MODEL 1) —————–

Chia tập dữ liệu Train/Test (70% Train, 30% Test)

set.seed(42) # Phân chia dữ liệu dựa trên biến mục tiêu (stratified sampling) trainIndex <- createDataPartition(df$strength_class, p = 0.7, list = FALSE) train_data <- df[trainIndex, ] test_data <- df[-trainIndex, ]

Xây dựng Mô hình Hồi quy Logistic (Full Model)

3. KẾT QUẢ VÀ CHUYỂN GIAO

summary(model_1)

Lưu Model Object và các tập dữ liệu để B2 sử dụng

Ghi lại file RData để B2 có thể load trực tiếp các objects này

save(model_1, train_data, test_data, file = “logistic_model_data.RData”)

print(“Đã tạo model_1 và lưu các objects cần thiết vào file logistic_model_data.RData”)