Professional Documents
Culture Documents
נוסחאון דאטה
נוסחאון דאטה
ILOCלפי מספר עמודה ]]( df.iloc[10:20,[6, 1, 3לא כולל עמודה אחרונה) df['total'] = Series
LOCלפי שם עמודה ]’( df.loc[1:3,'cut':'clarityכולל עמודה אחרונה) df[['total']] = DF
)matplotlib( Data visualization
חציון – עמיד יותר בפני ערכים קיצוניים, – Bimodal distributionמספר נקודות מקסימום
מרכזי יותר – Pie chart,3d chartקשה לעשות השוואות
ממוצע – יותר מושפע –Line chartמראה השוואה של שני משתנים רציפים
– Histogramמתארת את הצורה של הדאטה ,מתארת שכיחויות למידע רציף.
– Bar chartמראה את הצורה של הדאטה ,למידע קטגוריאלי .מתארת ערכים קטגוריאליים ,מספר מופעים של דבר מסוים.
באמצעות הצרה של ה binsניתן לראות יותר פרטים על הדאטה.
– Scatter Plotמראה יחס בין שני משתנים רציפים.
– Stacked barבדיקת יחס/קשר בין שני משתנים קטגוריאליים; פרופורציות של מידע.
)Take the time to examine your data before modeling( Data exploration
סטיית תקן גבוהה – התפלגות מפוזרת
:Display price values higher than 10,000# סטיית תקן נמוכה – קרוב לממוצע
]df_sub_HighPrice = df[df['price'] > 10000 Outliers < Q3 + 1.5*IQR | Q1 - 1.5*IQR < Outliers
כדי לחקור עמודה נומרית ,צריך לדעת סטיית תקן ,ממוצע ,חציון וטווח.
(Learn how to fix data quality problems - missing values, data transformation( Data preprocessing
כולל טיפול בערכים חסרים ,שכר שלילי ,ערכים לא הגיוניים (גיל של ] .)370נתחיל עם describeו [shape
)( – Isnullמחזיר Trueאם הערך ריק באותה המשבצת | .מחיקת ערכים חסרים (אם כל השורה ריקה) df = df.dropna() -
החלפת ערכים חסרים בעמודות קטגוריאליות df['employed']=df['employed'].replace(to_replace=np.nan, value='Retired') -
)df['income']=df['income'].mask(df['income']<0,np.nan
) df.dropna(subset=['housing.type', 'is.employed'], inplace=Trueתזרוק לי שורות אם יש להם ערכים חסרים בעמודות המסוימות.
- Data Transformationמיפוי קבוצת ערכים של משתנה נתון לקבוצה חדשה של ערכי החלפה] .ערך טיפוסי = [IQR
- Discretizationמעבר ממשתנה רציף לקטגוריאלי (הורדת האפקט של ה ,outliersהורדת כמויות של מידע לצורך הבנה טובה יותר)
- Normalizationלנרמל את כל הערכים שיהיו באותו היחס
.zscore() perform normalization on all numeric variables in the data
(ממוצע , 0סטיית תקן .)1ערכים מנורמלים נחשבים כטיפוסיים אם הם בין 1-ל.1
)]'df['ageZ']=stats.zscore(df['age
transformation for skewed distributions to look more normal and symmetric - Log Transformation
]'( df['logincome']=np.log10(df['logincomeערכי מינימום )1
במידה ולא נגביל את העץ ,הסיכוי ל Overfittingיגדל וגם זמן העיבוד .ניתן להגביל את העומק ,את מינימום דגימות בעלה ,אחוז הומוגניות בעלה
ומקסימום עלים .מחלקים לקבוצות קטנות עד שניתן לסווג את התצפית .לא חייב לנרמל בעץ.
– Pruningקיצוץ ענפים בעץ שלא רלוונטים /לא משפיעים כלכך.
– LabelEncoderהפיכת קטגורי למספרים .נשתמש רק ב labelEncoderבהמרה של קטגורי לנומרי.
הערך הנכון יהיה בטווח שבין הערך החזוי פחות RMSEלבין הערך נמדד עפי ()accuracy ,precision ,recall
החזוי ועוד RMSE
𝒑𝒓𝒆𝒅𝒊𝒄𝒕 value−𝑹𝑴𝑺𝑬≲𝒕𝒓𝒖𝒆 value≲𝒑𝒓𝒆𝒅𝒊𝒄𝒕 value+ 𝑹𝑴𝑺E
אם ה testיותר גדול מה trainזה אומר שהוא חזה מעולה. -
מתי ?overfitכאשר המודל התאים את עצמו ל trainוכאשר הוא יקבל dataחדש הוא יטעה. -
אם יש לי ב train accuracy 87וב - 50 testהוא אומן לא טוב ,לא חזה את התוצאות טוב.
– Regression Decision Treeמנבא משתנה רציף regression, supervised
Clustering: group observations into “meaningful” groups
Classification: predict class from observations
Regression (prediction): predict value from observations
dfNA = dfNA[dfNA['housing_type'].isna()]
:מודלים
print("Precision:", metrics.precision_score(y_train, y_pred_train))
reg.intercept_) #free constant (linear regression)
print("all coefficients are: ", np.column_stack((X_train_z.columns, reg2.coef_)))
dfNA = df[['housing_type', 'recent_move', num_vehicles']] kmeans.cluster_centers | X_train_z = stats.zscore(y_train)
dfNA = dfNA[dfNA['housing_type'].isna()]
df['price'].quantile(q=[0,0.25, 0.5, 0.75, 1])
print(dfNA.isna().sum()) – סוכם מכל עמודה
IQR= Q3-Q1..... Q1 = df[‘age].quantile(0.25)