End-to-End Machine Learning
Joshua Stapleton
Machine Learning Engineer
Dataset has:
Data preparation:
df.drop()
for columnsdf.dropna(how='all')
for rows# count missing values
print(df['oldpeak'].isnull().sum())
# Drop empty column(s) and row(s)
columns_dropped = heart_disease_df.drop(['oldpeak'], axis='columns')
rows_and_columns_dropped = columns_dropped.dropna(how='all')
What to do when there are only a few missing values?
Imputation:
Strategies
# Calculate the mean cholestrol value
mean_value = heart_disease_df['chol'].mean()
# Fill missing cholestrol values with the mean
heart_disease_df['chol'].fillna(mean_value, inplace=True)
Advanced techniques:
from sklearn.impute import KNNImputer
# Initialize KNNImputer
imputer = KNNImputer(n_neighbors=2, weights="uniform")
# Perform the imputation on your DataFrame
df_imputed['oldpeak'] = imputer.fit_transform(df['oldpeak'])
# Drop duplicate rows
heart_disease_duplicates_dropped = heart_disease_column_dropped.drop_duplicates()
End-to-End Machine Learning