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

مراجعة: تنظيف البيانات والتنبؤ

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

challenge icon

التحدي

متوسط

أيّ المخيّمين سيعودون؟ يجمع camp.csv بين الكلمات والأرقام والخانات الفارغة؛ يقسمه البرنامج الابتدائي ويقرأ بيانات أحد المخيّمين.

  1. أنشئ خطّ المعالجة الكامل للفصل: حوّل cabin وactivity إلى ترميز one-hot، واجعل للأرقام مسارًا يملأ الخانات الفارغة بالقيم الوسيطة ثم يقيّسها، وأنهِه بالانحدار اللوجستي.
  2. اطبع دقة التحقق المتقاطع CV ذات الطيات الخمس على صفوف التدريب، مع المتوسط والانحراف المعياري.
  3. درّبه على صفوف التدريب؛ واطبع دقة الاختبار واحتمال عودة المخيّم.

مخيّم آخر، المخيّم 10، lakeside، archery، 21، -، 4:

CV accuracy: mean 0.707, std 0.065
Test accuracy: 0.740
Chance of coming back: 0.91

الشرطة تعني أن التقييم مفقود: يملأ خط المعالجة هذه الخانة كما يملأ أي خانة فارغة أخرى.

جرّب بنفسك

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split, cross_val_score
from sklearn.compose import ColumnTransformer
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import make_pipeline

# المخيمون في الصيف الماضي: هل عادوا هذا العام (1) أم لا (0)؟
campers = pd.read_csv("camp.csv")
X = campers.drop(columns="came_back")
y = campers["came_back"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)

# مخيّم جديد، إجابة واحدة في كل سطر؛ تشير الشرطة (-) إلى رقم مفقود
answers = []
for i in range(6):
    answers.append(input())
numbers = []
for i in [0, 3, 4, 5]:
    if answers[i] == "-":
        numbers.append(np.nan)
    else:
        numbers.append(float(answers[i]))
camper = pd.DataFrame({"age": [numbers[0]], "cabin": [answers[1]], "activity": [answers[2]],
                       "nights": [numbers[1]], "rating": [numbers[2]], "friends_made": [numbers[3]]})

# اكتب شيفرتك أدناه

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

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