Menu
CoddyTech
flag Ar iconالعربيةdown icon

مراجعة: جيران النبيذ

جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 10 من 58.

challenge icon

التحدي

سهل

ارسم خريطة مثل الخريطة الأولى في هذا الفصل، لكن للنبيذ. يقسّم الكود المبدئي 178 نوعًا من النبيذ (ميزتان، والأصناف من 0 إلى 2)، ويعرض ks ويضع تسميات على الرسم البياني.

  1. قِس المجموعتين، مع الملاءمة على أنواع النبيذ في مجموعة التدريب.
  2. اطبع قيمة k التي تحقق أفضل دقة اختبار (في الوقت الحالي: سيكون لدى الفصل 7 حكم أكثر إنصافًا).
  3. باستخدام قيمة k هذه، املأ الخريطة: شبكة xx وyy، بحجم 100 في 100، من -3 إلى 3 في كلا الاتجاهين، والنتائج في zz.
  4. اعرض أنواع النبيذ في مجموعة التدريب بعد تحجيمها فوق الخريطة، مع تسميات من names؛ وأضف وسيلة إيضاح.

باستخدام الكحول والفلافانويدات:

Best k: 13 (test accuracy 0.956)

خريطة للنبيذ باستخدام الكحول والفلافانويدات بعد تحجيمهما: منطقة برتقالية على اليسار، ومنطقة زرقاء في أعلى اليمين، ومنطقة خضراء في الأسفل، مع أنواع النبيذ في مجموعة التدريب من كل فئة فوقها ووسيلة إيضاح

يصف Coddy خريطتك.

جرّب بنفسك

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_wine
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import StandardScaler

# 178 عينة نبيذ من ثلاثة أصناف، الفئات 0، 1، 2
wine = load_wine()
# العمودان 6 و12: flavanoids وproline
X = wine.data[:, [6, 12]]
y = wine.target
names = ["cultivar A", "cultivar B", "cultivar C"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
ks = range(1, 32, 2)  # k = 1, 3, 5, ..., 31

fig, ax = plt.subplots()
ax.set_title("Wine Neighbors")
ax.set_xlabel("flavanoids (scaled)")
ax.set_ylabel("proline (scaled)")

# اكتب الكود الخاص بك أدناه

جميع دروس التعلّم الخاضع للإشراف

تدرّب بنفسك: مترجم Python عبر الإنترنت