סיכום: ניקוי וחיזוי
חלק מהיחידה למידה מונחית במסלול ה-Machine Learning של Coddy. שיעור 49 מתוך 58.
אתגר
בינוניאילו חניכים יחזרו? camp.csv משלב מילים, מספרים וערכים חסרים; קוד הפתיחה מפצל אותו וקורא את הנתונים של חניך.
- בנה את צינור העיבוד המלא של הפרק: קודד בקידוד one-hot את
cabinואתactivity, העבר את המספרים במסלול שמשלים ערכים חסרים בחציון ואז מבצע סילום, וסיים ברגרסיה לוגיסטית. - הדפס את דיוק ה-CV שלו ב-5 קיפולים על שורות האימון, את הממוצע ואת סטיית התקן.
- אמַן אותו על שורות האימון; הדפס את דיוק הבדיקה ואת הסיכוי שהחניך יחזור.
מחנה אחר, חניך 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]]})
# כתבו את הקוד שלכם למטה
כל השיעורים ביחידה למידה מונחית
10צינורות עיבוד
צינורות עיבודעמודות מעורבותהשלמת ערכים חסרים בצינור עיבודכוונון צינור עיבודסיכום: ניקוי וחיזויתרגלו בעצמכם: קומפיילר Python אונליין