Trong bối cảnh này, lĩnh vực học máytrong trí tuệ nhân tạo mở ra những giải pháp hiệu quả để dự đoán năng suất câytrồng thông qua xây dựng mô hình và thuật toán.Bài báo cáo này sẽ khám p
tổng quan về đề tài
Lý do chọn đề tài
Bài báo cáo này tập trung vào thách thức quan trọng của an ninh lương thực trong thế giới ngày nay, với sự nhấn mạnh vào vai trò quan trọng của ngành nông nghiệp trong việc đảm bảo cung ứng thức ăn và góp phần vào GDP của nhiều quốc gia Trong bối cảnh sự tiến bộ công nghệ, chúng ta đã nhận thấy những cơ hội đáng kể để tối ưu hóa ngành nông nghiệp, từ đó tăng cường sản xuất và năng suất.
Quyết định chọn đề tài dựa trên sự áp dụng học máy, đặc biệt là kỹ thuật K- nearest neighbors (KNN), nhằm mục tiêu nâng cao hiệu suất nông nghiệp thông qua khả năng dự đoán năng suất cây trồng Việc chọn mô hình KNN được lựa chọn do khả năng linh hoạt và khả năng xử lý dữ liệu phức tạp, đồng thời giảm áp lực về thông tin và kinh nghiệm chi tiết từ phía người nông dân
Bài báo cáo sẽ trình bày cách mà học máy, đặc biệt là KNN, có thể hỗ trợ nông dân trong việc đưa ra quyết định thông minh về chăm sóc cây trồng, giảm thiểu lỗ hại và nâng cao hiệu suất nông nghiệp Ngoài ra, chúng ta sẽ tập trung vào lợi ích của việc tiết kiệm thời gian và công sức thông qua tự động hóa quy trình dự đoán, giúp người nông dân tập trung mạnh mẽ hơn vào các khía cạnh quản lý quan trọng khác.
Bài báo cáo cũng sẽ đề cập đến khả năng tối ưu hóa quản lý và sử dụng tài nguyên thông qua thông tin chính xác về năng suất cây trồng, từ đó mang lại sự bền vững cho sản xuất nông nghiệp Cuối cùng, đề tài không chỉ đặt ra những thách thức thực tế của ngành nông nghiệp mà còn đóng góp vào sự phát triển của lĩnh vực trí tuệ nhân tạo và khoa học dữ liệu thông qua quá trình nghiên cứu chi tiết.
Tính cấp thiết của đề tài
Dự đo án năng suất cây trồng là một đề tài quan trọng trong lĩnh vực nông nghiệp và nghiên cứu khoa học Việc dự đoán năng suất cây trồng có thể giúp nhà nông và các nhà nghiên cứu hiểu rõ hơn về hiệu suất cây trồng và tìm cách cải thiện năng suất Điều này có thể giúp tăng sản lượng cây trồng, cải thiện chất lượng cuộc sống và đảm bảo an ninh lương thực.
Tuy nhiên, tính cấp thiết của đề tài này phụ thuộc vào nhiều yếu tố, bao gồm:
Nhu cầu: Dự đoán năng suất cây trồng có thể giúp đáp ứng nhu cầu ngày càng tăng về lương thực cho dân số đang gia tăng.
Hiệu quả: Nếu dự đoán năng suất cây trồng có thể giúp tăng hiệu quả sản xuất, giảm thiểu lãng phí và sử dụng tài nguyên một cách bền vững, thì đề tài này sẽ có tính cấp thiết cao. Ứng dụng: Dự đoán năng suất cây trồng có thể được áp dụng trong nhiều lĩnh vực, từ quản lý nông trại đến phân tích thị trường và dự báo nguồn cung cầu. Điều này làm cho đề tài này trở nên hữu ích và có tính ứng dụng cao.
Mục tiêu nghiên cứu
Phân loại sản lượng các loại giống cây trồng theo loại cây, quốc gia, năm, nhiệt độ, lượng mưa.
Có thể dựa vào đó để thay đổi về trồng trọt, môi trường, đất,…
Tính cấp thiết của đề tài
Tăng hiệu suất nông nghiệp:
- Việc phân loại sản lượng giống cây trồng có thể giúp nông dân và nhà nghiên cứu tìm ra các giống cây có khả năng sinh trưởng tốt, chịu sâu bệnh, và mang lại sản lượng cao hơn Điều này đồng nghĩa với việc tăng cường hiệu suất nông nghiệp và cung cấp nguồn thực phẩm đáp ứng nhu cầu ngày càng tăng của dân số.
- Phân loại sản lượng giống cây trồng có thể giúp tối ưu hóa sử dụng tài nguyên như nước, phân bón và thuốc trừ sâu Các giống cây được chọn lọc có thể có khả năng thích ứng tốt với điều kiện môi trường cụ thể, giảm lãng phí và tối ưu hóa sản xuất.
Chống chọi với biến đổi khí hậu:
Biến đổi khí hậu đặt ra thách thức lớn cho nông nghiệp, gây ra nhiệt độ cao và hạn hán nghiêm trọng Phát triển các giống cây có khả năng chịu nhiệt và khắc phục tác động của các điều kiện bất lợi là cần thiết để đảm bảo an ninh lương thực trong tương lai.
Tiết kiệm thời gian và chi phí:
- Sử dụng học máy để phân loại sản lượng giống cây có thể giảm thiểu thời gian và chi phí so với việc thử nghiệm trên diện rộng trong môi trường thực tế Các mô hình máy học có thể nhanh chóng và chính xác xác định các đặc điểm quan trọng của cây mà con người có thể mất thời gian để đánh giá.
Thúc đẩy nghiên cứu và phát triển:
- Đề tài này có thể thúc đẩy hoạt động nghiên cứu và phát triển trong lĩnh vực học máy và nông nghiệp thông minh Sự tiếp cận này không chỉ mang lại lợi ích ngay lập tức mà còn góp phần vào sự tiến bộ của ngành công nghiệp nông nghiệp và giáo dục.
Phạm vi nghiên cứu
Sản lượng cây lương thực ở một số quốc gia thuộc những khu vực:
This article comprehensive list African nations: Algeria, Angola, Burkina Faso, Burundi, Cameroon, Central African Republic, Egypt, Eritrea, Ghana, Guinea, Kenya, Lesotho, Libya, Madagascar, Malawi, Mali, Mauritania, Mauritius, Morocco, Mozambique, Namibia, Niger, Nigeria, Rwanda, Senegal, South Africa, Sudan, Swaziland (Eswatini), Tanzania, Tunisia, Uganda, Zambia, and Zimbabwe.
Armenia, Azerbaijan, Bahrain, Bangladesh, India, Indonesia, Iraq, Japan, Kazakhstan, Lebanon, Malaysia, Nepal, Pakistan, Papua New Guinea, Qatar, Saudi Arabia, Sri Lanka, Tajikistan, Thailand, Turkey, United Arab Emirates, Uzbekistan.
Albania, Austria, Belarus, Belgium, Bulgaria, Croatia, Denmark, Estonia, Finland, France, Germany, Hungary, Ireland, Italy, Latvia, Lithuania, Montenegro, Netherlands, Norway, Poland, Portugal, Romania, Slovenia, Spain, Sweden, Switzerland, Ukraine, United Kingdom.
Argentina, Bahamas, Brazil, Canada, Chile, Colombia, Dominican Republic, Ecuador, El Salvador, Guyana, Haiti, Honduras, Jamaica, Mexico, Peru, Suriname, United States, Uruguay.
cơ sở lý thuyết mô hình
Học máy là gì?
Học máy (ML) là một công nghệ phát triển từ lĩnh vực trí tuệ nhân tạo Các thuật toán ML là các chương trình máy tính có khả năng học hỏi về cách hoàn thành các nhiệm vụ và cách cải thiện hiệu suất theo thời gian.
ML vẫn đòi hỏi sự đánh giá của con người trong việc tìm hiểu dữ liệu cơ sở và lựa chọn các kĩ thuật phù hợp để phân tích dữ liệu Đồng thời, trước khi sử dụng, dữ liệu phải sạch, không có sai lệch và không có dữ liệu giả.
Các mô hình ML yêu cầu lượng dữ liệu đủ lớn để "huấn luyện" và đánh giá mô hình Trước đây, các thuật toán ML thiếu quyền truy cập vào một lượng lớn dữ liệu cần thiết để mô hình hóa các mối quan hệ giữa các dữ liệu Sự tăng trưởng trong dữ liệu lớn (big data) đã cung cấp các thuật toán ML với đủ dữ liệu để cải thiện độ chính xác của mô hình và dự đoán.
Phân loại thuật toán học máy
(nguồn:https://images.app.goo.gl/hAkhq3CKdEwVgUy49)
Khi thiết kế và xây dựng hệ thống học máy cần quan tâm tới những yếu tố sau.
– Thứ nhất, kinh nghiệm hoặc dữ liệu cho học máy được cho dưới dạng nào? hình 2 1 Học Máy
Thứ hai, việc lựa chọn biểu diễn cho hàm đích có vai trò quan trọng Hàm đích có thể được biểu diễn dưới nhiều dạng khác nhau, bao gồm hàm đại số, dạng cây, dạng mạng nơ ron hoặc công thức xác suất Việc lựa chọn biểu diễn phù hợp sẽ ảnh hưởng đến hiệu quả của thuật toán học máy.
Việc sử dụng những dạng kinh nghiệm và dạng biểu diễn khác nhau dẫn tới những dạng học máy khác nhau Có ba dạng học máy chính như sau:
2.2.1 Học máy có giám sát:
Trong học có giám sát, máy tính học cách mô hình hóa các mối quan hệ dựa trên dữ liệu được gán nhãn (labeled data) Sau khi tìm hiểu cách tốt nhất để mô hình hóa các mối quan hệ cho dữ liệu được gắn nhãn, các thuật toán được huấn luyện được sử dụng cho các bộ dữ liệu mới. Ứng dụng của kĩ thuật học có giám sát: Xác định tín hiệu hay biến số tốt nhất để dự báo lợi nhuận trong tương lai của cổ phiếu hoặc dự đoán xu hướng thị trường chứng khoán.
[2] (Nguồn:https://blog.luyencode.net/hoc-co-giam-sat-la-gi/) hình 2 2 Học Máy có giám sát
2.2.2 Học máy không giám sát:
Trong học không giám sát, máy tính không được cung cấp dữ liệu được dán nhãn mà thay vào đó chỉ được cung cấp dữ liệu mà thuật toán tìm cách mô tả dữ liệu và cấu trúc của chúng. Ứng dụng của học không giám sát: Phân loại các công ty thành các nhóm công ty tương đồng dựa trên đặc điểm của chúng thay vì sử dụng tiêu chuẩn của các nhóm ngành hoặc các quốc gia.
(Nguồn:https://images.app.goo.gl/woVYnqequW9suHeT7)
2.2.3 Học máy bán giám sát (Semi-supervised Learning)
Với lượng dữ liệu không ngừng tăng nhanh chóng, không có cách nào để nó được gắn nhãn một cách kịp thời, đó là lý do chúng ta cần đến học máy bán giám sát Semi-supervised Learning là việc sử dụng cả dữ liệu đã gắn nhãn và chưa gán nhãn để huấn luyện máy tính Cụ thể trong quá trình đào tạo, chúng ta sử dụng một tập dữ liệu có nhãn nhỏ hơn để hướng dẫn phân loại và trích xuất tính năng từ một tập dữ liệu lớn mà chưa được gắn nhãn Học máy bán giám sát được sử dụng để giải quyết các tình huống không có đủ dữ liệu được gắn nhãn để đào tạo cho máy tính học tập có giám sát.
Học máy bán giám sát thường được sử dụng để nhận diện giọng nói, phân loại nội dung web, phân loại tài liệu,… hình 2 3 Học máy không giám sát
(Nguồn:https://images.app.goo.gl/xRy4yyjjTz3mnKTj6)
Học tăng cường (RL) là một kỹ thuật máy học cho phép phần mềm học cách đưa ra quyết định tối ưu bằng cách thưởng cho các hành động có lợi và phạt các hành động có hại Quá trình này mô phỏng cách con người học hỏi thông qua thử nghiệm và sai sót, cho phép phần mềm tinh chỉnh hành động của mình để đạt được mục tiêu cụ thể RL giúp phần mềm học cách tập trung vào các hành động có lợi và tránh các hành động làm xao lãng mục tiêu.
Thuật toán RL sử dụng mô hình khen thưởng và trừng phạt trong quy trình xử lý dữ liệu Các thuật toán này tiếp thu ý kiến phản hồi của từng hành động và tự khám phá ra con đường xử lý tốt nhất để thu về kết quả cuối cùng Thuật toán RL còn có khả năng trì hoãn khen thưởng Chiến lược tổng thể tốt nhất có thể đòi hỏi phải đánh đổi một vài lợi ích trước mắt, vì vậy cách tiếp cận tốt nhất mà RL khám phá ra có thể bao gồm một số trừng phạt hoặc giai đoạn quay lui RL là phương pháp hiệu suất cao giúp hệ thống trí tuệ nhân tạo (AI) đạt kết quả tối ưu trong môi trường chưa biết hình 2 5 học tăng cường
Ứng dụng của học máy
Xử lý ngôn ngữ tự nhiên (NLP): Các ứng dụng học máy trong NLP như định danh ngôn ngữ, dịch thuật tự động, phân loại văn bản, phân tích cảm xúc và chatbot.
Nhận dạng hình ảnh: Học máy được sử dụng để nhận dạng đối tượng, khuôn mặt, biển số xe, vết thương và phân tích hình ảnh y tế.
Tư vấn và gợi ý: Hệ thống tư vấn và gợi ý sử dụng học máy để cung cấp thông tin, sản phẩm hoặc nội dung phù hợp với sở thích và nhu cầu của người dùng.
Xử lý giọng nói: Các ứng dụng học máy trong xử lý giọng nói như nhận dạng giọng nói, tổng hợp giọng nói và phân tích ngữ điệu giọng nói.
Học máy được ứng dụng rộng rãi trong lĩnh vực dự đoán và dự báo Trong tài chính, học máy hỗ trợ dự đoán các biến động thị trường và xu hướng giá cả Thương mại điện tử tận dụng học máy để dự báo nhu cầu khách hàng, tối ưu hóa khuyến mãi và cá nhân hóa trải nghiệm mua sắm Trong thời tiết học, học máy giúp dự báo thời tiết chính xác hơn, hỗ trợ cảnh báo sớm về các hiện tượng thời tiết khắc nghiệt Y tế và giao thông đều sử dụng học máy để dự đoán nhu cầu dịch vụ, tối ưu hóa lịch trình và cải thiện hiệu quả hoạt động.
Tự động hóa công việc: Học máy được sử dụng để tự động hóa công việc như tổ chức và phân loại dữ liệu, quản lý hợp đồng và quản lý quy trình sản xuất.
Xác định lưu lượng mạng: Học máy được sử dụng để dự đoán lưu lượng mạng, phân tích dữ liệu và tối ưu hóa mạng.
Xác định gian lận và bảo mật: Học máy được sử dụng để phát hiện gian lận trong giao dịch tài chính và xác định các hoạt động đáng ngờ trong hệ thống bảo mật.
Tự động lái và robot: Học máy được sử dụng trong xe tự hành và robot để nhận biết môi trường, lập kế hoạch và ra quyết định.
Dự báo và quản lý dự án: Học máy được sử dụng để dự đoán và quản lý các yếu tố có thể ảnh hưởng đến dự án như thời tiết, tài nguyên và rủi ro.
(Nguồn :https://plus.vtc.edu.vn/machine-learning-la-gi)
Quy trình học máy
Thu thập dữ liệu (Data Collection) Đây là công việc quan trọng và tiêu tốn nhiều thời gian nhất trong cả quá trình Để máy móc hiểu và giải quyết vấn đề, chúng ta cần cung cấp cho chúng các tệp dữ liệu Chất lượng dữ liệu thu được sẽ ảnh hưởng trực tiếp đến kết quả của Machine Learning Vì thế dữ liệu thu được phải đảm bảo độ chính xác, mức độ đáng tin cậy cao để tránh làm kết quả dự đoán sai sót.
Về vấn đề độ tin cậy của dữ liệu, ngày nay chúng ta đã và đang triển khai công nghệ Blockchain Công nghệ này đã tạo ra bước ngoặt mới cho việc ghi và lưu trữ dữ liệu bởi bất kỳ ai cũng không thể sửa đổi hoặc tấn công Như vậy dữ liệu ghi nhận được đều có độ tin cậy cao và kết quả dự đoán của Machine Learning càng chính xác.
Tiền xử lý dữ liệu (Data Processing)
Lượng lớn dữ liệu được thu về chắc chắn sẽ có những thuộc tính không cần dùng đến, thông tin bị thiếu/ thừa,… và công việc của chúng ta là loại bỏ những thành phần này Việc chuẩn hóa dữ liệu sẽ giúp máy tính học nhanh hơn và hiệu quả học tập mang lại cao hơn, ít sai sót hơn. hình 2 6 Quy trình học máy
Huấn luyện cho mô hình (Training Model)
Sau khi có được tập dữ liệu “sạch”, chúng ta sẽ bắt đầu truyền dữ liệu cho mô hình học máy Sau quá trình học tập, kết hợp các dữ liệu, máy tính sẽ có khả năng đưa ra các dự đoán hoặc hoàn thành nhiệm vụ đã đề ra. Đánh giá mô hình (Evaluate Model)
Sau quá trình đào tạo chúng ta cần kiểm tra kết quả hiệu quả học tập của máy tính như thế nào Chúng ta có thể kiểm tra thông qua các bài toán với dữ liệu chưa từng cung cấp cho máy tính trước đó Nếu thử nghiệm được thực hiện trên cùng một dữ liệu đã được sử dụng để đào tạo, chúng ta sẽ không có được thước đo chính xác, vì mô hình có thể tìm thấy các mẫu giống nhau trong tập dữ liệu trước đây Điều này sẽ cung cấp cho chúng ta độ chính xác cao không tương xứng.
Cải thiện hiệu quả (Improve)
Quá trình đánh giá kết thúc chúng ta sẽ nhận thấy những lỗi của mô hình Ta cần tìm cách khắc phục lỗi đó bằng cách huấn luyện lại Như vậy công việc huấn luyện và đánh giá sẽ được thực hiện xoay vòng liên tục cho đến khi mô hình cho ra kết quả có độ chính xác cao.
Các mô hình học máy
2.5.1 Mô hình học máy là gì?
Mô hình học máy là thuật toán xử lý khối lượng lớn dữ liệu để tìm kiếm mẫu hình và đưa ra dự đoán Được cung cấp dữ liệu, các mô hình học máy (ML) đóng vai trò như "động cơ" toán học của trí tuệ nhân tạo Ví dụ, mô hình ML áp dụng cho thị giác máy tính có khả năng nhận dạng ô tô và người đi bộ trong video thời gian thực.
2.5.2 Phân loại các loại mô hình học máy bảng 1 mô hình học máy
2.5.3 Mô hình phân loại (Classification)
Classification là một bài toán được sử dụng vô cùng rộng rãi trong Machine Learning với các tính ứng dụng đa dạng như nhận diện khuôn mặt, phân loại video Youtube, phân loại văn bản, phân loại giọng nói, …
Có thể kể tới một vài mô hình tiêu biểu như Support Vector Machine (SVM), Logistic Regression, Decision Trees, Random Forest, XGboost, …
Dưới đây là một số metrics để đánh giá mô hình phân loại mà cole.vn sưu tầm được:
Confusion Matrix (Đây không phải là 1 metric, nhưng rất quan trọng)
Chúng ta cùng tìm hiểu một thuật ngữ cơ bản được sử dụng trong các bài toán phân loại – Confusion matrix (AKA error matrix) Nó thể hiện được có bao nhiêu điểm dữ liệu thực sự thuộc vào một class, và được dự đoán là rơi vào một class Để dễ hiểu hơn, chúng ta cùng làm một ví dụ nhé
Ví dụ một bài toán phân loại ảnh đó là mèo hay không, trong dữ liệu dự đoán có 100 ảnh là mèo, 1000 ảnh không phải là mèo Ở đây, kết quả dự đoán là như sau
Có 90 ảnh mèo được dự đoán đúng gọi là True Positive, 10 ảnh mèo dự đoán sai gọi là False Negative Trong 1000 ảnh không phải mèo, dự đoán đúng 940 ảnh.
Loại mô hình ML Các trường hợp sử dụng Phân loại / hồi quy tuyến tính Các mẫu trong dữ liệu số, chẳng hạn như bảng tính tài chính Mô hình đồ họa Phát hiện gian lận hoặc nhận thức tình cảm Cây quyết định / Rừng ngẫu nhiên Dự đoán kết quả
Mạng nơ-ron học sâu Thị giác máy tính, xử lý ngôn ngữ tự nhiên và hơn thế nữa là non-cat, được gọi là True Negative, còn 60 ảnh bị dự đoán nhầm sang cat được gọi là False Positive
Có thể tới đây nhiều người sẽ khá là lẫn lộn, “True”, “False” rồi “Positive”,
“Negative” Vậy để có một cách dễ nhớ, có một mánh nhỏ như sau
True/False ý chỉ những gì ta đã dự đoán là đúng hay chưa
Positive/Negative chỉ những gì ta dự đoán (có hoặc không) Nói cách khách, nếu thấy chữ True tức là dự đoán là đúng (là cat hay non-cat, chỉ cần đúng), còn False thì ngược lại. Đây là độ đo của bài toán phân loại mà đơn giản nhất, tính toán bằng cách lấy số dự đoán đúng chia cho toàn bộ các dự đoán Ví dụ với bài toán Cat/Non-cat như trên, độ chính xác sẽ được tính như sau:
Nhược điểm của cách đánh giá này là chỉ cho ta biết được bao nhiêu phần trăm lượng dữ liệu được phân loại đúng mà không chỉ ra được cụ thể mỗi loại được phân loại như thế nào, lớp nào được phân loại đúng nhiều nhất hay dữ liệu của lớp nào thường bị phân loại nhầm nhất vào các lớp khác.
Như đã nói phía trên, sẽ có rất nhiều trường hợp thước đo Accuracy không phản ánh đúng hiệu quả của mô hình Giả sử mô hình dự đoán tất cả 1100 ảnh là Non-cat, thì Accuracy vẫn đạt tới 1000/1100 = 90.9%, khá cao nhưng thực chất mô hình khá là tồi Vì vậy chúng ta cần một metric có thể khắc phục được những yếu điểm này Precision là một trong những metrics có thể khắc phục được, công thức như sau: Áp dụng vào bài toán Cat/Non-cat, Precision sẽ được tính như sau:
Precision(cat) = 90/(90+60) = 60% Precision(non-cat) = 940/(940+10) 98.9%
Có thể thấy việc dự đoán Cat chưa thực sự tốt nhờ phép Precision này.
Precision sẽ cho chúng ta biết thực sự có bao nhiêu dự đoán Positive là thật sự True.
Recall cũng là một metric quan trọng, nó đo lường tỷ lệ dự báo chính xác các trường hợp positive trên toàn bộ các mẫu thuộc nhóm positive Công thức của Recall như sau: Áp dụng vào bài toán Cat/Non-cat, Precision sẽ được tính như sau:
Recall cao đồng nghĩa với việc True Positive Rate cao, tức là tỷ lệ bỏ sót các điểm thực sự là positive là thấp.
Ranking được coi là một vấn đề cơ bản trong Machine Learning, nó xếp hạng một danh sách các mục dựa vào sự liên quan giữa chúng trong các bài toán cụ thể (ví dụ như xếp hạng các pages trên Google dựa vào sự liên quan với câu truy vấn tìm kiếm) Theo mình tìm hiểu được, Ranking được ứng dụng rộng rãi trong thương mại điện tử (E-commerce) và các công cụ tìm kiếm (search engines), cụ thể:
Gợi ý phim ảnh (Netflix, Youtube) Xếp hạng page của Google
Xếp hạng sản phẩm thương mại điện tử (Amazon) Tự động hoàn thiện câu truy vấn
Tìm kiếm hình ảnh (vimeo) Tìm kiếm nhà nghỉ (Expedia/Booking)
Trong bài toán xếp hạng, mô hình cố gắng dự đoán thứ hạng của một danh sách các mục đối với một nhiệm vụ cụ thể Thuật toán xếp hạng có thể được chia thành các nhóm như sau:
Point-wise models: Dự đoán một điểm số đối với từng cặp truy vấn-văn bản trong dataset, và sử dụng nó để xếp hạng các mục
Pairwise models: Học một phân loại nhị phân mà có thể trả lời rằng văn bản này có liên quan tới truy vấn này hay không?
List-wise models: Tối ưu hóa trực tiếp giá trị của một trong các thước đô đánh giá, được tính trung bình trên tất cả các truy vấn.
Trong quá trình đánh giá, dự trên thức tự thực của danh sách các mục cho một số truy vấn, chúng ta muốn biết việc dự đoán các mục đó tốt như thế nào Có khá nhiều metrics được đề xuất như MRR, Precision@K, DCG&NDCG, MAP,Kendall’s tau, …
2.5.5 Mô hình KNN a, KNN là gì
KNN (K-Nearest Neighbors) là một trong những thuật toán học có giám sát đơn giản nhất được sử dụng nhiều trong khai phá dữ liệu và học máy Ý tưởng của thuật toán này là nó không học một điều gì từ tập dữ liệu học (nên KNN được xếp vào loại lazy learning), mọi tính toán được thực hiện khi nó cần dự đoán nhãn của dữ liệu mới.
Lớp (nhãn) của một đối tượng dữ liệu mới có thể dự đoán từ các lớp (nhãn) của k hàng xóm gần nó nhất.
(nguồn : https://viblo.asia/p/knn-k-nearest-neighbors-1-djeZ14ejKWz)
Đánh giá mô hình machine learning & deep learning
Khi bạn đã xây dựng một mô hình machine learning và huấn luyện nó trên một tập dữ liệu, điều tiếp theo bạn nên làm là đánh giá hiệu năng của mô hình trên tập dữ liệu mới
Việc đánh giá mô hình giúp chúng ta giải quyết những vấn đề sau:
Mô hình đã được huấn luyện thành công hay chưa?
Mức độ thành công của mô hình tốt đến đâu?
Khi nào nên dừng quá trình huấn luyện?
Khi nào nên cập nhật mô hình?
Trả lời được 4 câu hỏi trên, chúng ta có thể quyết định mô hình này có thực sự phù hợp cho bài toán hay không. Đánh giá một mô hình có tốt hay không thường được thực hiện trên dữ liệu mà mô hình chưa được huấn luyện Tỷ lệ thường thấy của một tập dữ liệu huấn luyện so với tập dữ liệu thử nghiệm là 70% và 30%
Chúng ta sử dụng dữ liệu mới khi đánh giá mô hình nhằm giảm thiểu khả năng quá khớp (overfitting) đối với tập huấn luyện Đôi khi sẽ hữu ích khi đánh giá mô hình và cùng lúc huấn luyện nó để tìm ra các chỉ số tốt nhất của một mô hình.
Tuy nhiên, chúng ta không thể sử dụng bộ thử nghiệm để thực hiện đánh giá này.
Hoặc chúng ta sẽ phải chọn các thông số hoạt động tốt nhất trên dữ liệu thử nghiệm, nhưng có thể không phải là các tham số bao quát nhất. Đánh giá các mô hình học máy
Trong quá trình xây dựng mô hình Machine Learning, đánh giá mô hình đóng vai trò quan trọng trong việc xác định chất lượng mô hình và lựa chọn mô hình phù hợp với bài toán cụ thể Hiểu rõ bản chất, ý nghĩa và trường hợp sử dụng của các thước đo đánh giá mô hình là yếu tố cần thiết để áp dụng đúng thước đo cho từng loại mô hình, bao gồm phân loại (classification), hồi quy (regression) và xếp hạng (Ranking).
Chuẩn bị dữ liệu
Nguồn gốc dữ liệu
Bộ dữ liệu trên sử dụng được lấy từ bộ dữ liệu Crop Yield [EDA + Viz] trên trang https://www.kaggle.com/ do tác giả RISHI PATEL cập nhật vào năm 2021.
Liên kết dữ liệu: https://www.kaggle.com/code/patelris/crop-yield-eda-viz/input?select=yield_df.csv
Thu thập dữ liệu
Bộ dữ liệu Crop Yield [EDA + Viz] trên kaggle là tài liệu quý báu trong việc thực hiện phân loại năng suất giống cây trồng Bộ dữ liệu ban đầu tải về dưới dạng file zip, sau khi giải nén xuất ra file csv File csv chứa đầy đủ thông tin và nhãn.
Trong file csv chứa đầy đủ thông tin cơ bản về nông nghiệp và giống cây trồng để thực hiện chương trình như: Vùng, Loại cây trồng, Năm, Sản lượng, Nhiệt độ trung bình, Thuốc bảo vệ thực vật, Lượng mưa trung bình năm.
Quá trình thu thập dữ liệu
Tôi truy cập trang web Kaggle và đăng nhập vào tài khoản cá nhân của mình.
Sau đó, tìm kiếm dự án liên quan đến Crop Yield EDA + Viz sử dụng chức năng tìm kiếm của Kaggle
Khi tìm thấy dự án phù hợp, tôi đã tải xuống tệp dữ liệu từ trang dự án đó.
Dữ liệu về Crop Yield EDA + Viz thường được cung cấp dưới dạng tệp CSV hoặc tệp nén ZIP chứa thông tin về giống cây trồng và sản lượng Sau khi tải xuống, tôi đã kiểm tra kỹ lưỡng để đảm bảo rằng dữ liệu đúng định dạng và đầy đủ Nếu cần, tôi đã giải nén tệp để truy cập thông tin chi tiết hơn Tùy thuộc vào yêu cầu của dự án, tôi đã thực hiện các bước tiền xử lý dữ liệu như chia thành tập huấn luyện và tập kiểm tra, chuẩn hóa dữ liệu và các bước tiền xử lý khác
Cuối cùng, tôi sử dụng dữ liệu đã thu thập để nghiên cứu và phát triển mô hình phân loại sản lượng giống cây trồng, đóng góp vào sự hiểu biết sâu hơn về mảng này Luôn tuân thủ các quy định về bản quyền và điều khoản sử dụng được xác định bởi tác giả dự án trên Kaggle khi sử dụng dữ liệu.
Hiểu biết về bộ dữ liệu
bảng 2 hiểu biết dữ liệu
Year Năm hg/ha_yield Sản lượng average_rain_fall_mm_per_year Lượng mưa trung bình pesticides_tonnes Thuốc avg_temp Nhiệt độ trung bình
Mô tả dữ liệu
Bộ dữ liệu có 7 trường và có 28241 dữ liệu Trường (hg/ha_yield) là trường dãn nhãn dùng để phân tích.
Các trường (Area, Item, Year, average_rain_fall_mm_per_year, avg_temp) làm trường để phân tích dữ liệu
. hình 3 1 biến dữ liệu hình 3 2 Rows x colunms
Làm sạch dữ liệu
Lọc dữ liệu đang có, kiểm tra, kiểm thử dữ liệu.
3.6.2 Kết quả làm sạch Đã làm sạch, bộ dữ liệu đầy đủ.
Huấn luyện mô hình
Lý do chọn mô hình
Thuật toán K-Nearest Neighbors (KNN) là một trong những thuật toán phổ biến trong lĩnh vực máy học và được sử dụng rộng rãi trong các bài toán phân loại, bao gồm cả phân loại sản lượng giống cây trồng Dưới đây là một số lý do mà KNN có thể được chọn trong bài toán này: Đơn giản và Dễ hiểu: Thuật toán KNN khá đơn giản và dễ hiểu Nó không yêu cầu nhiều giả định về dữ liệu và không có quá nhiều tham số cần được điều chỉnh.
Không yêu cầu giả định về phân phối của dữ liệu: KNN không giả định về phân phối của dữ liệu, nó có thể thích ứng tốt với nhiều loại dữ liệu, kể cả khi phân phối của chúng không rõ ràng hoặc thay đổi.
Tính tương tự dựa trên khoảng cách: KNN phân loại một điểm dữ liệu bằng cách xem xét các điểm dữ liệu gần nhất trong không gian đặc trưng Việc này giúp nó làm việc tốt trong trường hợp dữ liệu có cấu trúc không gian tốt.
KNN thường phù hợp với các tập dữ liệu có kích thước nhỏ đến trung bình Lý do đằng sau điều này là vì việc tính toán khoảng cách giữa các điểm dữ liệu có thể trở nên tốn kém về mặt tính toán khi có một lượng lớn dữ liệu.
Khả năng thích nghi tốt với dữ liệu mới: KNN có khả năng thích nghi tốt với dữ liệu mới được thêm vào mà không cần huấn luyện lại toàn bộ mô hình Điều này làm cho nó hữu ích khi có sự thay đổi thường xuyên trong dữ liệu đầu vào.
Khả năng xử lý đa lớp: KNN có thể được mở rộng để xử lý các bài toán phân loại đa lớp thông qua các phương pháp như kỹ thuật "one-vs-all" hoặc "one-vs- one".
Tuy nhiên, cũng cần lưu ý rằng KNN có một số hạn chế, chẳng hạn như độ phức tạp tính toán cao khi số lượng điểm dữ liệu lớn, độ nhạy cảm đối với nhiễu và có thể không hiệu quả trong một số trường hợp với dữ liệu có số chiều cao Việc chọn thuật toán cũng phụ thuộc vào đặc tính cụ thể của dữ liệu và yêu cầu của bài toán cụ thể.
Cài đặt mô hình bằng python
4.2.1 Công cụ sử dụng: google colab 4.2.2 Cài đặt mô hình: a/ Quy trình thực hiện: Đầu tiên, cần import các thư viện cần thiết hình 4 1 import thư viện Đọc file data dùng để huấn luyện mô hình:
Thêm cột Area vào dataframe: hình 4 2 đọc file data hình 4 3 thêm cột Area vào dataframe
Chia dữ liệu để lấy tập huấn luyện và kiểm tra, thiết lập K láng giềng
Quá trình dự đoán trong thuật toán KNN diễn ra ở bước cuối cùng sau khi mô hình đã được xây dựng và dữ liệu mới đã được chuẩn bị.
Xây dựng mô hình KNN với K láng giềng đã chọn
Hàm nhập dữ liệu từ bàn phím và dự đoán thông tin mô hình KNN hình 4 4 Chia dữ liệu để lấy tập huấn luyện và kiểm tra, thiết lập K láng giềng hình 4 5 xây dựng mô hình KNN với K láng giềng đã chọn hình 4 6 hàm nhập dữ liệu từ bàn phím và dự đoán thông tin mô hình KNN
Nhập dữ liệu từ bàn phím để dự đoán thông tin mô hình KNN
Dự đoán sản lượng cho năm hiện tại
Dự đoán sản lượng cho năm tiếp theo
Vẽ biểu đồ sản lượng năm hiện tại và dự đoán cho năm tiếp theo kết hợp cột và đường thẳng hình 4 7 nhập dữ liệu dự đoán từ bàn phím hình 4 8 dự đoán sản lượng cho năm hiện tại hình 4 9 dự đoán sản lượng cho năm tiếp theo
Kết quả dự đoán in ra màn hình hình 4 11 kết quả dự đoán in ra màn hình
Biểu đồ so sánh kết quả sản lượng và dự đoán hình 4 10 vẽ biểu đồ sản lượng năm hiện tại và dự đoán cho năm tiếp theo kết hợp cột và đường thẳng hình 4 12 biểu đồ so sánh kết quả sản lượng và dự đoán