Skip to content
Permalink
main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "4acc92e1",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.ensemble import RandomForestClassifier\n",
"from sklearn.feature_selection import RFECV\n",
"\n",
"df = pd.read_csv('for_python.csv', index_col = [0])\n",
"\n",
"y = df['Diabetes_binary']\n",
"X = df.drop (labels = ['Diabetes_binary'], axis =1)\n",
"\n",
"X_train, X_test, y_train, y_test = train_test_split(X,y,test_size=0.3, random_state=0) "
]
},
{
"cell_type": "markdown",
"id": "518ab4b4",
"metadata": {},
"source": [
"# Resampling"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "8a9d3001",
"metadata": {},
"outputs": [],
"source": [
"from imblearn.under_sampling import RandomUnderSampler\n",
"from imblearn.over_sampling import RandomOverSampler"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "68229bc2",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Original dataset shape Counter({0: 217467, 1: 35025})\n",
"Y train Counter({0: 152288, 1: 24456})\n",
"Y test Counter({0: 65179, 1: 10569})\n",
"Y balanced only over sample Counter({0: 152288, 1: 60915})\n",
"Y balanced over and under sampling Counter({0: 121830, 1: 60915})\n"
]
}
],
"source": [
"print(f'Original dataset shape {Counter(y)}')\n",
"print(f'Y train {Counter(y_train)}')\n",
"print(f'Y test {Counter(y_test)}')\n",
"\n",
"over= RandomOverSampler(sampling_strategy=0.4)\n",
"under = RandomUnderSampler(sampling_strategy=0.5)\n",
"\n",
"X_balanced, y_balanced = over.fit_resample(X_train, y_train)\n",
"X_balanced2, y_balanced2 = under.fit_resample(X_balanced, y_balanced)\n",
"print(f'Y balanced only over sample {Counter(y_balanced)}')\n",
"print(f'Y balanced over and under sampling {Counter(y_balanced2)}')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "dac26d12",
"metadata": {},
"outputs": [],
"source": [
"df_oversampled = pd.concat([X_balanced, y_balanced], axis=1)\n",
"df_over_under_sampled = pd.concat([X_balanced2, y_balanced2], axis=1)\n",
"\n",
"df_oversampled.to_csv('df_oversampled.csv', index=False)\n",
"df_over_under_sampled.to_csv('df_over_under_sampled.csv', index=False)"
]
},
{
"cell_type": "markdown",
"id": "306fbbf5",
"metadata": {},
"source": [
"# RFE"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "aef0cc2e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The optimal number of features: 21\n",
"Best features: Index(['HighBP', 'HighChol', 'CholCheck', 'BMI', 'Smoker', 'Stroke',\n",
" 'HeartDiseaseorAttack', 'PhysActivity', 'Fruits', 'Veggies',\n",
" 'HvyAlcoholConsump', 'AnyHealthcare', 'NoDocbcCost', 'GenHlth',\n",
" 'MentHlth', 'PhysHlth', 'DiffWalk', 'Sex', 'Age', 'Education',\n",
" 'Income'],\n",
" dtype='object')\n"
]
}
],
"source": [
"rfc = RandomForestClassifier()\n",
"\n",
"#balanced_accuracy or accuracy\n",
"rfecv = RFECV(estimator=rfc, step=1, cv=5, scoring='accuracy', n_jobs=-1)\n",
"\n",
"rfecv.fit(X_balanced2, y_balanced2)\n",
"\n",
"print(\"The optimal number of features:\", rfecv.n_features_)\n",
"print(\"Best features:\", X_balanced2.columns[rfecv.support_])"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "9ca722d9",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#from Scikit-learn documentation\n",
"import matplotlib.pyplot as plt\n",
"\n",
"n_scores = len(rfecv.cv_results_[\"mean_test_score\"])\n",
"plt.figure()\n",
"plt.xlabel(\"Number of features selected\")\n",
"plt.ylabel(\"Mean test accuracy\")\n",
"plt.errorbar(\n",
" range(1, n_scores + 1),\n",
" rfecv.cv_results_[\"mean_test_score\"],\n",
" yerr=rfecv.cv_results_[\"std_test_score\"],\n",
")\n",
"plt.title(\"Recursive Feature Elimination \\nwith correlated features\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d0924bdb",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}