feature_selection.py
# To add a new cell, type '# %%' # To add a new markdown cell, type '# %% [markdown]' # %% import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler from sklearn.feature_selection import SelectKBest,chi2,RFE from sklearn.ensemble import RandomForestClassifier df = pd.read_csv("data/Heart_Disease_Prediction.csv") print(df.shape) df.head(5) # %% label = df["Heart Disease"] df.drop("Heart Disease", axis=1, inplace=True) # %% print(label.value_counts()) label.value_counts().plot(kind="bar") # %% categorical_features = ["Sex", "Chest pain type", "FBS over 120", "EKG results", "Exercise angina", "Slope of ST", "Number of vessels fluro", "Thallium"] df[categorical_features] = df[categorical_features].astype("category") # %% continuous_features = set(df.columns) - set(categorical_features) scaler = MinMaxScaler() df_norm = df.copy() df_norm[list(continuous_features)] = scaler.fit_transform(df[list(continuous_features)]) # %% X_new = SelectKBest(k=5, score_func=chi2).fit_transform(df_norm, label) X_new # %% rfe = RFE(estimator=RandomForestClassifier(), n_features_to_select=5) X_new = rfe.fit_transform(df_norm, label) X_new # %% clf = RandomForestClassifier() clf.fit(df_norm, label) # create a figure to plot a bar, where x axis is features, and Y indicating the importance of each feature plt.figure(figsize=(12,12)) plt.bar(df_norm.columns, clf.feature_importances_) plt.xticks(rotation=45)Join 50,000+ Python Programmers & Enthusiasts like you!
Email address Subscribe This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.Ethical Hacking with Python EBook
Web Security with Python EBook
Cryptography with Python EBook
Practical Python PDF Processing EBook
Real-Time Traffic Monitoring System with YOLOv9 eBook
Mastering YOLO: Build an Automatic Number Plate Recognition System
© 2026 The Python Code. All rights reserved.