Галт тэрэгний толь бичиг, тестийн багцыг Python ашиглан машин сурахад өөрийн K хамгийн ойрын хөрш (KNN) алгоритмыг ашиглахын тулд бид системчилсэн арга барилыг баримтлах хэрэгтэй. Энэ үйл явц нь бидний өгөгдлийг KNN алгоритм ашиглаж болох тохиромжтой формат руу хөрвүүлэх явдал юм.
Эхлээд Python хэлний толь бичгийн үндсэн ойлголтыг ойлгоцгооё. Толь бичиг нь түлхүүр тус бүр нь өвөрмөц байдаг түлхүүр-утга хосын эрэмблэгдээгүй цуглуулга юм. Машины сургалтын хүрээнд толь бичгүүдийг ихэвчлэн өгөгдлийн багцыг илэрхийлэхэд ашигладаг бөгөөд товчлуурууд нь шинж чанарууд эсвэл шинж чанаруудтай тохирч, утгууд нь харгалзах өгөгдлийн цэгүүдийг төлөөлдөг.
Галт тэрэгний толь бичиг болон тестийн багцыг бөглөхийн тулд бид дараах алхмуудыг хийх хэрэгтэй.
1. Өгөгдөл бэлтгэх: Манай машин сургалтын даалгаварт өгөгдөл цуглуулж, бэлтгэж эхэл. Энэ нь ихэвчлэн өгөгдлийг цэвэрлэх, дутуу утгыг боловсруулах, өгөгдлийг тохиромжтой формат болгон хувиргах зэрэг орно. Хяналттай сургалтын даалгаврын хувьд энэ нь нэн чухал учир өгөгдлийг зохих шошготой эсвэл ангилсан эсэхийг шалгаарай.
2. Өгөгдлийн багцыг хуваах: Дараа нь бид өгөгдлийн багцаа галт тэрэгний багц болон туршилтын багц гэсэн хоёр хэсэгт хуваах хэрэгтэй. Галт тэрэгний багцыг манай KNN алгоритмыг сургахад ашиглах бол туршилтын багц нь түүний гүйцэтгэлийг үнэлэхэд ашиглагдах болно. Энэхүү хуваалт нь бидний алгоритм үл үзэгдэх өгөгдлийг хэр сайн нэгтгэж байгааг үнэлэхэд тусалдаг.
3. Онцлогыг задлах: Өгөгдлийн багц хуваагдсаны дараа бид өгөгдлөөс холбогдох шинж чанаруудыг гаргаж аваад толь бичигт түлхүүр болгон өгөх хэрэгтэй. Онцлогууд нь бидний өгөгдлийн шинж чанараас хамааран тоон болон ангилсан байж болно. Жишээлбэл, хэрэв бид зургийн өгөгдлийн багцтай ажиллаж байгаа бол өнгөт гистограмм эсвэл бүтэц тодорхойлогч гэх мэт функцуудыг гаргаж авах боломжтой.
4. Утга оноох: Онцлогуудыг задалсны дараа бид толь бичгүүдийнхээ түлхүүр бүрт тохирох утгыг оноох хэрэгтэй. Эдгээр утгууд нь манай өгөгдлийн багц дахь бодит өгөгдлийн цэгүүд эсвэл тохиолдлуудыг илэрхийлдэг. Тохиолдол бүр өөрийн харгалзах онцлогийн утгуудтай холбоотой байх ёстой.
5. Галт тэрэгний багц толь: Галт тэрэгний багцыг төлөөлөх толь бичиг үүсгэ. Энэ толь бичгийн түлхүүрүүд нь функцууд байх ба утгууд нь галт тэрэгний багц дахь тохиолдол бүрийн харгалзах функцийн утгыг агуулсан жагсаалт эсвэл массив байх болно. Жишээлбэл, хэрэв бидэнд хоёр онцлог (нас, орлого) болон гурван тохиолдол бүхий өгөгдлийн багц байгаа бол галт тэрэгний багц толь бичиг дараах байдалтай байж болно.
галт тэрэгний багц = {'нас': [25, 30, 35], 'орлого': [50000, 60000, 70000]}
6. Тестийн багц толь бичиг: Үүний нэгэн адил тестийн багцыг төлөөлөх толь бичгийг үүсгэ. Энэ толь бичгийн түлхүүрүүд нь галт тэрэгний багцтай ижил шинж чанарууд байх бөгөөд утгууд нь туршилтын багц дахь тохиолдол бүрийн харгалзах функцийн утгыг агуулсан жагсаалт эсвэл массив байх болно. Жишээлбэл, хэрэв бидэнд хоёр тохиолдол бүхий тестийн багц байгаа бол тестийн багц толь бичиг дараах байдалтай байж болно.
test_set = {'нас': [40, 45], 'орлого': [80000, 90000]}
7. Толь бичгүүдийг ашиглах нь: Галт тэрэгний толь бичгүүд болон тестийн багцуудыг дүүргэсний дараа бид тэдгээрийг өөрийн KNN алгоритмын орц болгон ашиглаж болно. Алгоритм нь туршилтын багц дахь тохиолдлуудад таамаглал эсвэл ангилал гаргахын тулд галт тэрэгний багцын онцлог утгыг ашиглана.
Эдгээр алхмуудыг дагаснаар бид Python ашиглан машин сургалтанд өөрийн KNN алгоритмыг ашиглах хүрээнд галт тэрэгний толь бичиг, тестийн багцыг үр дүнтэй бөглөж чадна. Эдгээр толь бичгүүд нь бидний алгоритмын гүйцэтгэлийг сургах, үнэлэх үндэс суурь болдог.
Галт тэрэг болон туршилтын багцад зориулсан толь бичгүүдийг дүүргэхийн тулд бид өгөгдлийн багцыг бэлтгэж, хувааж, холбогдох шинж чанаруудыг задлан, толь бичгүүдийн харгалзах товчлууруудад функцийн утгыг оноож, эдгээр толь бичгүүдийг өөрсдийн KNN алгоритмд ашиглах хэрэгтэй.
Сүүлийн үеийн бусад асуулт, хариулт Өөрийн хамгийн ойрын хөршүүдийн алгоритмыг ашиглах:
- Бид хамгийн ойрын хөршийн K алгоритмын нарийвчлалыг хэрхэн тооцоолох вэ?
- Галт тэрэг болон туршилтын багц дахь ангиудыг төлөөлөх жагсаалт бүрийн сүүлчийн элемент нь ямар ач холбогдолтой вэ?
- Датасетийг сургалт, туршилтын багц болгон хуваахын өмнө холих зорилго нь юу вэ?
- Хамгийн ойрын хөршийн K алгоритмыг хэрэглэхээс өмнө өгөгдлийн багцыг цэвэрлэх нь яагаад чухал вэ?