םהילע תעדי אל הארנכש תודוס דמל-טיקיס 7


.ונלש םינותנה לש הדובעה תמירז רופישל םיבר תודוס ליכמ Skikit-Learn-ו ,יסיסב םוש

.הזל סנכינ ואוב ,םילימ ריבכהל ילב .םתעדי אל הארנכש Scikit-Learn-מ תודוס העבשב

תורבתסה לויכ .1

.טלפה לש לעופב תוריבסה תא ףקשמ אל אוהש רמואש המ ,בטיה ליוכמ חרכהב אל אוהש איה

.לעופב תוריבסה תא ףקשל ידכ תויורבתסהה תא םיאתהל ףאשי תורבתסה לויכ .הנוכנ וזה ת

.גווסמב הקינכטה תא לייכל ידכ Skikit-Learn-ב שמתשמ אבה דוקה .תינוטוזיא היסרגרו

from sklearn.calibration import CalibratedClassifierCV
from sklearn.svm import SVC

svc = SVC(probability=False)
calibrated_svc = CalibratedClassifierCV(base_estimator=svc, method='sigmoid', cv=5)
calibrated_svc.fit(X_train, y_train)
probabilities = calibrated_svc.predict_proba(X_test)

."ינוטוזיא" וא "דיאומגיס" ןיב רובעל ךל תרשפאמ הטישה .תורבתסה טלפ קפסמ אוה דוע

.ינוטוזיא לויכ םע יארקא רעי גווסמ הנה ,המגודל

from sklearn.calibration import CalibratedClassifierCV
from sklearn.ensemble import RandomForestClassifier

rf = RandomForestClassifier(random_state=42)
calibrated_rf = CalibratedClassifierCV(base_estimator=rf, method='isotonic', cv=5)
calibrated_rf.fit(X_train, y_train)
probabilities = calibrated_rf.predict_proba(X_test)

.ךלש גווסמה תא לייכל לוקש ,יוצרה יוזיחה תא קפסמ וניא ךלש לדומה םא

הנוכת דוחיא .2

.דיחי יאנש ךותל םיאנש םיטקייבוא רפסמ בלשל ךרד קפסמה Scikit-Class אוה תונוכת דו

.הנוכמה תדימל ונלש םילדומה רובע ליבקמב םהב שמתשהלו םינותנ ךרעמ ותואמ תובורמ תו

.אבה דוקב םידבוע םה ךיא הארנ אוב

from sklearn.pipeline import FeatureUnion, Pipeline
from sklearn.decomposition import PCA
from sklearn.feature_selection import SelectKBest
from sklearn.svm import SVC

combined_features = FeatureUnion([
    ("pca", PCA(n_components=2)),
    ("select_best", SelectKBest(k=1))
])

pipeline = Pipeline([
    ("features", combined_features),
    ("svm", SVC())
])

pipeline.fit(X_train, y_train)

.דיחי ךילהתב ונלש תונוכתה דוחיאב שומיש רשפאי רוניצה םע םבוליש .תונוכת דוחיא םע

.ףסונ תונוכת דוחיא םע הב ונדש תמדוקה הטישל המגוד הנה .םידקמה דוביעבו היצלופינמ

# First FeatureUnion
first_union = FeatureUnion([
    ("pca", PCA(n_components=5)),
    ("select_best", SelectKBest(k=5))
])

# Second FeatureUnion
second_union = FeatureUnion([
    ("poly", PolynomialFeatures(degree=2, include_bias=False)),
    ("scaled", StandardScaler())
])

pipeline = Pipeline([
    ("first_union", first_union),
    ("second_union", second_union),
    ("svm", SVC())
])

pipeline.fit(X_train, y_train)
score = pipeline.score(X_test, y_test)

.הנוכמ תדימל לש םילדומה ךילהת תליחתב בחרנ םידקמ דוביעל םיקוקזה הלא רובע תניוצמ

הנוכת הריבצ .3

.תומוד תונוכת גזמל ידכ תיכרריה תולוכשאב תשמתשמ ךא Scikit-Learn לש תונוכת תריחב

.ונעבקש קחרמה תודידמו הדמצהה ןוירטירק ךמס לע תונוכתה גוזימ ,יכרריה לוכשא לע סס

.אבה דוקב דבוע הז ךיא הארנ אוב

from sklearn.cluster import FeatureAgglomeration

agglo = FeatureAgglomeration(n_clusters=10)
X_reduced = agglo.fit_transform(X)

.סוניסוק ןוימדל קחרמה תדידמ תא םינשמ ונא דציכ הארנ ואוב .לוכשאה ירפסמ תרדגה יד

agglo = FeatureAgglomeration(metric='cosine')

.אבה דוקה םע רושיקה תטיש תא תונשל םג םילוכי ונחנא

agglo = FeatureAgglomeration(linkage='average')

.השדחה הנוכתה רובע תונוכתה תא רובצל ידכ היצקנופה תא תונשל םג לכונ ,ןכמ רחאל

import numpy as np 
agglo = FeatureAgglomeration(pooling_func=np.median)

.ךלש םילדומה רובע רתויב בוטה םינותנה ךרעמ תא שוכרל ידכ תונוכת לש הריבצ םע תוסנ

שארמ רדגומ לוציפ .4

.קיפסמ וניא יתבכשה לפקה וא יטרדנטסה K-ה לפקו ,תמיוסמ הרוצב ונלש םינותנה תא לצפ

.הטמל דוקה תועצמאב שארמ רדגומ לוציפ הסננ ואוב

from sklearn.model_selection import PredefinedSplit, GridSearchCV

# -1 for training, 0 for test
test_fold = [-1 if i < 100 else 0 for i in range(len(X))]
ps = PredefinedSplit(test_fold)

param_grid = {'parameter': [1, 10, 100]}
grid_search = GridSearchCV(model, param_grid, cv=ps)
grid_search.fit(X, y)

.ןחבמכ ראשהו ןומיאכ םינושארה םינותנה האמ תריחב ידי לע םינותנה לוציפ תמיכס תא ם

.לולקשה ךילהתב הז תא תונשל םילוכי ונחנא .ךלש תושירדב היולת לוציפל היגטרטסאה

sample_weights = np.random.rand(100)
test_fold = [-1 if i < 80 else 0 for i in range(len(X))]
ps = PredefinedSplit(test_fold)

.תונורתי ךל העיצמ איה םא תוארל ידכ התוא הסנ זא ,םינותנה לוציפ ךילהת לע שדח טבמ

המח הלחתה .5

.הלחתההמ םגדה תא רישכהל הצור אל התא ,הלא םירקמב ךמצע תא אצומ התא םא ?םינותנ תמ

.ךל רוזעל הלוכי המח הלחתה ובש םוקמה הז

.ספאמ ונלש לדומה תא שדחמ ןמאל םיצור ונניא רשאכ ךרע תלעב איה וז הטיש .םגדה לש ש

.הלחתההמ ליחתהל ילבמ שדחמ ותוא םינמאמו לדומל םיפסונ םיצע םיפיסומ ונא רשאכ המחה

from sklearn.ensemble import GradientBoostingClassifier

#100 trees
model = GradientBoostingClassifier(n_estimators=100, warm_start=True)
model.fit(X_train, y_train)

# Add 50 trees
model.n_estimators += 50
model.fit(X_train, y_train)

.המחה הלחתהה תנוכת םע הווצא ןומיא עצבל םג רשפא

from sklearn.linear_model import SGDClassifier

model = SGDClassifier(max_iter=1000, warm_start=True)

# Train on first batch
model.fit(X_batch_1, y_batch_1)

# Continue training on second batch
model.fit(X_batch_2, y_batch_2)

.ןומיאה ןמז לע בירקהל ילבמ רתויב בוטה םגדה תא דימת לבקל ידכ המח הלחתה םע הסנ

תרבטצמ הדימל .6

.ףצרב םישדח םינותנ םיגיצמ ונא הבש הנוכמ תדימל ןומיא ךילהת איה - תנווקמ הדימל ו

.ספאמ אל ךא ,תדמתמ הרשכה תשרדנ ןכלו ,ןמזה םע הנתשת םינותנה תצפהש םיפצמ ונא רשא

.תוצובקב םייקתהל לדומה תרשכהל רשפאי הז .תיקלחה המאתהה תטישב תרבטצמ הדימל הכימת

.דוקל המגוד לע לכתסנ ואוב

from sklearn.linear_model import SGDClassifier
import numpy as np

classes = np.unique(y_train)
model = SGDClassifier()
for batch_X, batch_y in data_stream:
    model.partial_fit(batch_X, batch_y, classes=classes)

.תכשמנ האלולה דוע לכ לועפל ךישמת תרבטצמה הדימלה

.םידקמ דוביעל םג אלא םילדומ תרשכהל קר אל תרבטצמ הדימל עצבל םג רשפא

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
for batch_X, batch_y in data_stream:
    batch_X = scaler.partial_fit_transform(batch_X)
    model.partial_fit(batch_X, batch_y, classes=classes)

.Scikit-Learn לש תיקלחה המאתהה תטישב שמתשהל הסנ ,תרבטצמ הדימל תשרוד ךלש תונמגו

יוסינ תונוכתל השיג .7

.םהב שומישה ינפל םתוא רשפאל ונילעו ,םיינויסינ ןיידע םקלח .הביציה הסרגב וררחוש

.Skikit-Learn-מ Enable Experiment לש API-ה תא אביילו יוסינב תואצמנ ןיידע תונוכ

.הטמל המגודל דוק הארנ אוב

# Enable the experimental feature
from sklearn.experimental import enable_iterative_imputer  
from sklearn.impute import IterativeImputer

imputer = IterativeImputer(random_state=0)

.הקלחמב שמתשנש ינפל הלחתהב Enabler-ה תא אבייל ונילעו ,יוסינה בלשב תאצמנ ןיידע

.יוצחה שופיחה תייגולודותמ איה יוסינה בלשב ןיידע תאצמנש תפסונ הנוכת

from sklearn.experimental import enable_halving_search_cv
from sklearn.model_selection import HalvingRandomSearchCV
from sklearn.model_selection import HalvingGridSearchCV

.רשפאמה אוביי ידי לע ןהילא תשגל הסנ זא ,יוסינה בלשב ןהש ןכתיי ,ןהילא תשגל לוכי

הנָקָסְמַ

Scikit-Learn ויה הז רמאמב וניסיכש תודוסה תעבש ,רוקסל .םהילא עדומ אל התאש הברה

  1. תורבתסה לויכ
  2. הנוכת דוחיא
  3. הנוכת הריבצ
  4. שארמ רדגומ לוציפ
  5. המח הלחתה
  6. תרבטצמ הדימל
  7. יוסינ תונוכתל השיג

!רזע הזש הווקמ ינא