Project Dự Đoán Năng Suất 50.000 Con Bò Sữa Bằng Data Science

blogcole

Thành viên thân thiết
Thành viên thân thiết
Tham gia
19/9/2024
Bài viết
133
Ứng dụng Khoa học Dữ liệu (Data Science) và Trí tuệ Nhân tạo (AI) trong Nông nghiệp Thông minh (Smart Agriculture) đang tạo nên một cuộc cách mạng thực sự. Tại Việt Nam, việc thực hiện dự đoán năng suất sữa bò bằng Data Science cho các đại trang trại quy mô hàng chục nghìn con đòi hỏi sự hỗ trợ đắc lực từ bài toán phân tích Big Data.

Trong buổi báo cáo đồ án khóa học Data Science tại COLE, học viên là Trưởng phòng Công nghệ Thông tin tại cụm trang trại bò sữa TH True Milk Nghĩa Đàn (Nghệ An) – thuộc Tập đoàn TH – đã trình bày đề tài ứng dụng dự đoán năng suất sữa bò bằng Data Science để phân tích tác động của thời tiết (nhiệt độ, độ ẩm) và lượng thức ăn tới sản lượng thực tế. Đây là minh chứng rõ nét cho việc kết hợp giữa công nghệ hiện đại và chuyên môn chăn nuôi thực tế.

1. BÀI TOÁN PHÂN TÍCH DỮ LIỆU TẠI TRANG TRẠI BÒ SỮA TH TRUE MILK​

Với quy mô riêng tại Nghệ An lên tới hơn 50.000 con bò, khối lượng dữ liệu thu thập được hàng ngày là cực kỳ khổng lồ. Việc phân tích kho dữ liệu này đóng vai trò sống còn giúp Ban quản lý đưa ra các quyết định chính xác nhằm nâng cao sản lượng sữa trên từng con bò, đồng thời làm cơ sở so sánh hiệu quả vận hành giữa các trang trại trên toàn quốc (như Phú Yên, An Giang, Cao Bằng, Đà Lạt...).

Mục tiêu cốt lõi của bài toán dự đoán năng suất sữa bò bằng Data Science là tìm ra mối quan hệ giữa các yếu tố môi trường (Nhiệt độ, Độ ẩm), Dinh dưỡng (Lượng thức ăn tiêu thụ) đến Năng suất sữa trung bình. Qua đó, trang trại có thể tiên đoán trước sản lượng theo mùa và chủ động đưa ra giải pháp kỹ thuật (như thông gió, phun sương làm mát, điều chỉnh khẩu phần ăn).

  • Yếu tố Môi trường: Thu thập dữ liệu cảm biến tự động về Nhiệt độ trung bình và Độ ẩm trung bình theo ngày tại khu vực chuồng nuôi.
  • Chế độ Dinh dưỡng: Ghi nhận lượng thu thập thức ăn trung bình cùng thời điểm được cấp cho đàn bò để theo dõi sức ăn thực tế.
  • Năng suất Sữa (Biến mục tiêu/Target): Sản lượng sữa trung bình thực tế thu hoạch, phân biệt rõ giữa tổng đàn bò và đàn bò đang trong chu kỳ vắt sữa.

2. CHI TIẾT QUY TRÌNH XỬ LÝ DỮ LIỆU & HƯỚNG DẪN CODE PYTHON​

Trong video báo cáo, tác giả đã trình bày chi tiết từng bước xây dựng bài toán dự đoán năng suất sữa bò bằng Data Science chuẩn chỉnh bằng ngôn ngữ Python:

2.1. Khai báo thư viện và kết nối dữ liệu​

Chương trình khởi tạo với việc khai báo các thư viện phân tích dữ liệu và học máy quen thuộc trong Python. Dữ liệu sau đó được kết nối và nạp vào tập dữ liệu (DataFrame).

<span># 1. Khai báo các thư viện hỗ trợ phân tích và mô hình hóa</span><br><span>import</span> pandas <span>as</span> pd<br><span>import</span> numpy <span>as</span> np<br><span>import</span> matplotlib.pyplot <span>as</span> plt<br><span>import</span> seaborn <span>as</span> sns<br><br><span>from</span> sklearn.model_selection <span>import</span> train_test_split<br><span>from</span> sklearn.linear_model <span>import</span> LinearRegression<br><span>from</span> sklearn.ensemble <span>import</span> RandomForestRegressor<br><span>from</span> sklearn.metrics <span>import</span> mean_squared_error, r2_score<br><br><span># 2. Kết nối và đọc file dữ liệu từ trang trại</span><br>df = pd.read_csv(<span>'th_farm_milk_production.csv'</span>)<br>

2.2. Khám phá và làm sạch dữ liệu (Data Cleaning)​

  • Cấu trúc cột dữ liệu: Dữ liệu chứa các cột thông tin chính bao gồm Nhiệt độ trung bình, Độ ẩm trung bình, Sản lượng sữa trung bình trên toàn đàn và Sản lượng sữa trung bình trên số lượng bò vắt sữa thực tế. Bò sữa có chu kỳ khai thác (thường vắt 8 tháng rồi dừng nghỉ - bò khô sữa), do đó số liệu trên đầu bò vắt sữa sẽ phản ánh chính xác năng suất hơn.
  • Kiểm tra dữ liệu trống và trùng lặp: Do dữ liệu được ghi nhận tự động bằng thiết bị cảm biến chuyên dụng tại trang trại, kết quả kiểm tra cho thấy dữ liệu rất sạch và không chứa giá trị bị khuyết.
  • Xử lý giá trị ngoại lệ (Outlier): Khi trực quan hóa bằng biểu đồ hộp (Boxplot), tác giả phát hiện một số giá trị ngoại lệ ở chỉ số độ ẩm (Humidity) bị kéo xuống thấp. Tác giả giải thích đây là do thao tác chuẩn hóa băm giảm dữ liệu trước khi trích xuất ra bên ngoài xử lý, đảm bảo dữ liệu gốc đo đạc thực tế vẫn hoàn toàn chính xác.
<span># Kiểm tra tổng quan dữ liệu và giá trị khuyết</span><br>print(df.info())<br>print(df.isnull().sum())<br><br><span># Kiểm tra dữ liệu trùng lặp</span><br>print(<span>"Số dòng trùng lặp:"</span>, df.duplicated().sum())<br><br><span># Vẽ biểu đồ Boxplot kiểm tra Outlier cho độ ẩm</span><br>plt.figure(figsize=(<span>8</span>, <span>4</span>))<br>sns.boxplot(x=df[<span>'humidity'</span>])<br>plt.title(<span>'Kiểm tra Outliers của Độ ẩm'</span>)<br>plt.show()<br>

1Hk7PJamkujRAuoPIn3vNB1GxLhNmxq6FUkQ0WgJ


2.3. Phân tích tương quan và Trực quan hóa dữ liệu (EDA)​


Xem thêm tại: Dự Án Data Science

Khóa học Data Science: Nhận Lộ trình!
 
Quay lại
Top Bottom