الأعمدة المختلطة
جزء من قسم التعلّم الخاضع للإشراف في رحلة Machine Learning على Coddy. الدرس 46 من 58.
تمزج معظم الجداول بين الكلمات والأرقام، ويحتاج كل نوع إلى خطوته الخاصة. يرسل ColumnTransformer كل عمود إلى خطوته ويجمع النتائج:
لمتجر تسجيلات، في الشيفرة:
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder
prep = ColumnTransformer([
("words", OneHotEncoder(), ["genre", "condition"]),
("numbers", StandardScaler(), ["price", "year"]),
])
pipe = make_pipeline(prep, LogisticRegression(max_iter=1000))كل إدخال هو اسم وخطوة وأعمدته. بخلاف get_dummies، يحتفظ المُرمِّز بفئات بيانات التدريب، لذا يحصل السجل الجديد على الأعمدة السبعة نفسها.
التحدي
متوسطيريد نادٍ للشطرنج معرفة فرصة فوز كل لاعب قبل المباراة. يقسّم البرنامج الابتدائي chess.csv ويقرأ بيانات مباراة الليلة.
- شفّر
openingوcolor، وقيّسrating_gapوminutes، واطبع عدد الأعمدة الناتجة من صفوف التدريب. - اربط ذلك بالانحدار اللوجستي، ودرّب النموذج، واطبع دقة الاختبار.
- اطبع فرصة الفوز في مباراة الليلة.
نادٍ آخر، وثلاثة افتتاحيات، وsicilian، وblack، و50، و15:
Columns after preparing: 7
Test accuracy: 0.805
Win chance: 0.66جرّب بنفسك
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.compose import ColumnTransformer
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline
# مباريات نادٍ للشطرنج: الافتتاحية، ولون اللاعب، وتصنيفه مطروحًا منه
# تصنيف خصمه، والدقائق المتبقية على الساعة، وما إذا كان اللاعب قد فاز (1) أم لا (0)
games = pd.read_csv("chess.csv")
X = games[["opening", "color", "rating_gap", "minutes"]]
y = games["won"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
# مباراة الليلة، صف واحد بالأعمدة نفسها
game = pd.DataFrame({"opening": [input()], "color": [input()],
"rating_gap": [int(input())], "minutes": [int(input())]})
# اكتب شيفرتك أدناه
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس التعلّم الخاضع للإشراف
1نموذجك الأول
التعلّم من الأمثلةمجموعتا التدريب والاختبارالملاءمة والتنبؤتقييم النموذجمراجعة: فارز البذور10مسارات المعالجة
مسارات المعالجةالأعمدة المختلطةتعويض القيم المفقودة ضمن مسار المعالجةضبط مسار المعالجةمراجعة: تنظيف البيانات والتنبؤتدرّب بنفسك: مترجم Python عبر الإنترنت