added the code for classifier-2

pull/872/head
Paskal 6 days ago
parent c3e3d2299f
commit ccff635988

@ -9,7 +9,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 2,
"metadata": {},
"outputs": [
{
@ -207,7 +207,7 @@
"[5 rows x 382 columns]"
]
},
"execution_count": 9,
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
@ -220,7 +220,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 3,
"metadata": {},
"outputs": [
{
@ -234,7 +234,7 @@
"Name: cuisine, dtype: object"
]
},
"execution_count": 10,
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
@ -246,7 +246,7 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 4,
"metadata": {},
"outputs": [
{
@ -444,7 +444,7 @@
"[5 rows x 380 columns]"
]
},
"execution_count": 11,
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
@ -453,14 +453,144 @@
"cuisines_feature_df = cuisines_df.drop(['Unnamed: 0', 'cuisine'], axis=1)\n",
"cuisines_feature_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.svm import SVC\n",
"from sklearn.ensemble import RandomForestClassifier, AdaBoostClassifier\n",
"from sklearn.model_selection import train_test_split, cross_val_score\n",
"from sklearn.metrics import accuracy_score, confusion_matrix, classification_report, precision_recall_curve\n",
"import numpy as np"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"x_train, x_test, y_train, y_test = train_test_split(cuisines_feature_df, cuisines_label_df, test_size=0.3)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"c = 10\n",
"#create different classifiers\n",
"classifiers = {\n",
" 'Linear SVC' : SVC(kernel='linear', C=c, probability=True, random_state=0),\n",
" 'KNN Classifier' : KNeighborsClassifier(c),\n",
" 'SVC' : SVC(kernel='rbf', C = 10, gamma=\"scale\"), #Support Vector Classifier\n",
" 'RFST': RandomForestClassifier(n_estimators=100), #Emsamble Cllasifier\n",
" 'ADA': AdaBoostClassifier(n_estimators=100)\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Accuraccy (train) of Linear SVC: 81.0%\n",
" precision recall f1-score support\n",
"\n",
" chinese 0.71 0.75 0.73 235\n",
" indian 0.90 0.88 0.89 254\n",
" japanese 0.83 0.76 0.79 236\n",
" korean 0.86 0.77 0.82 247\n",
" thai 0.76 0.89 0.82 227\n",
"\n",
" accuracy 0.81 1199\n",
" macro avg 0.81 0.81 0.81 1199\n",
"weighted avg 0.81 0.81 0.81 1199\n",
"\n",
"Accuraccy (train) of KNN Classifier: 74.4%\n",
" precision recall f1-score support\n",
"\n",
" chinese 0.67 0.72 0.70 235\n",
" indian 0.81 0.77 0.79 254\n",
" japanese 0.68 0.81 0.74 236\n",
" korean 0.92 0.57 0.71 247\n",
" thai 0.72 0.85 0.78 227\n",
"\n",
" accuracy 0.74 1199\n",
" macro avg 0.76 0.75 0.74 1199\n",
"weighted avg 0.76 0.74 0.74 1199\n",
"\n",
"Accuraccy (train) of SVC: 84.1%\n",
" precision recall f1-score support\n",
"\n",
" chinese 0.80 0.80 0.80 235\n",
" indian 0.90 0.91 0.90 254\n",
" japanese 0.90 0.77 0.83 236\n",
" korean 0.87 0.81 0.83 247\n",
" thai 0.76 0.93 0.84 227\n",
"\n",
" accuracy 0.84 1199\n",
" macro avg 0.84 0.84 0.84 1199\n",
"weighted avg 0.85 0.84 0.84 1199\n",
"\n",
"Accuraccy (train) of RFST: 85.9%\n",
" precision recall f1-score support\n",
"\n",
" chinese 0.83 0.81 0.82 235\n",
" indian 0.92 0.91 0.92 254\n",
" japanese 0.88 0.81 0.85 236\n",
" korean 0.88 0.83 0.85 247\n",
" thai 0.79 0.93 0.86 227\n",
"\n",
" accuracy 0.86 1199\n",
" macro avg 0.86 0.86 0.86 1199\n",
"weighted avg 0.86 0.86 0.86 1199\n",
"\n",
"Accuraccy (train) of ADA: 69.7%\n",
" precision recall f1-score support\n",
"\n",
" chinese 0.63 0.61 0.62 235\n",
" indian 0.87 0.79 0.83 254\n",
" japanese 0.52 0.83 0.64 236\n",
" korean 0.84 0.64 0.72 247\n",
" thai 0.79 0.62 0.69 227\n",
"\n",
" accuracy 0.70 1199\n",
" macro avg 0.73 0.70 0.70 1199\n",
"weighted avg 0.73 0.70 0.70 1199\n",
"\n"
]
}
],
"source": [
"n_classifiers = len(classifiers)\n",
"for index, (name, classifier) in enumerate(classifiers.items()):\n",
" classifier.fit(x_train, np.ravel(y_train))\n",
" y_pred = classifier.predict(x_test)\n",
" accuracy = accuracy_score(y_test, y_pred)\n",
" print(\"Accuraccy (train) of %s: %0.1f%%\" %(name, accuracy * 100))\n",
" print(classification_report(y_test, y_pred))\n",
"\n",
"\n",
"\n",
"\n"
]
}
],
"metadata": {
"interpreter": {
"hash": "70b38d7a306a849643e446cd70466270a13445e5987dfa1344ef2b127438fa4d"
},
"kernelspec": {
"display_name": "Python 3.7.0 64-bit ('3.7')",
"display_name": ".venv",
"language": "python",
"name": "python3"
},
"language_info": {
@ -473,7 +603,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.0"
"version": "3.13.3"
},
"metadata": {
"interpreter": {

Loading…
Cancel
Save