Comparison of the 3 methods

This commit is contained in:
Louis Farina 2021-12-14 20:38:54 +01:00
parent 77f08cfbd5
commit b882fd9d0a
3 changed files with 160 additions and 0 deletions

View file

@ -0,0 +1,6 @@
{
"cells": [],
"metadata": {},
"nbformat": 4,
"nbformat_minor": 5
}

122
Untitled.ipynb Normal file
View file

@ -0,0 +1,122 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "40152b50",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 18,
"id": "be8d8613",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"training + evaluating time : 1.9439990520477295, score = 0.9504444444444444\n",
"[[470 0 1 0 0 0 1 0 1 0]\n",
" [ 0 502 2 1 0 0 0 0 0 0]\n",
" [ 4 9 388 2 0 0 2 13 2 0]\n",
" [ 2 0 2 454 1 12 0 2 3 3]\n",
" [ 0 8 0 0 388 0 2 2 0 20]\n",
" [ 1 3 0 11 0 368 6 0 0 2]\n",
" [ 6 2 0 0 1 2 454 0 0 0]\n",
" [ 1 5 2 0 1 0 0 440 0 14]\n",
" [ 2 12 4 12 2 7 2 2 398 4]\n",
" [ 1 2 0 8 8 0 0 5 0 415]]\n",
"training + evaluating time : 7.785594463348389, score = 0.9304444444444444\n",
"[[465 0 3 0 0 0 3 1 0 1]\n",
" [ 0 494 4 1 3 0 2 0 0 1]\n",
" [ 3 13 378 8 4 0 4 6 3 1]\n",
" [ 3 1 9 446 0 2 1 3 8 6]\n",
" [ 1 3 1 0 392 2 5 4 3 9]\n",
" [ 5 2 0 9 4 353 8 1 7 2]\n",
" [ 5 2 4 0 7 1 444 0 1 1]\n",
" [ 2 3 3 3 4 1 0 431 0 16]\n",
" [ 1 15 10 8 1 6 4 3 394 3]\n",
" [ 4 2 1 10 11 2 0 11 8 390]]\n",
"training + evaluating time : 27.00832462310791, score = 0.9651111111111111\n",
"[[467 0 1 0 0 1 3 0 1 0]\n",
" [ 1 495 4 2 1 1 0 0 0 1]\n",
" [ 1 1 401 3 4 2 2 4 2 0]\n",
" [ 1 0 3 460 0 8 0 2 3 2]\n",
" [ 0 1 0 0 407 0 3 1 0 8]\n",
" [ 0 0 0 7 0 378 4 0 1 1]\n",
" [ 3 0 0 0 2 4 455 0 1 0]\n",
" [ 1 3 2 1 2 1 0 443 0 10]\n",
" [ 1 6 3 5 2 5 1 0 421 1]\n",
" [ 1 2 1 8 4 1 0 4 2 416]]\n"
]
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"from sklearn.neural_network import MLPClassifier\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.svm import SVC\n",
"from sklearn.model_selection import train_test_split\n",
"from sklearn.model_selection import KFold\n",
"from sklearn.metrics import precision_score\n",
"from sklearn.metrics import confusion_matrix\n",
"import random\n",
"import time\n",
"from sklearn.datasets import fetch_openml \n",
"\n",
"#mnist = fetch_openml('mnist_784') \n",
"\n",
"indices = [i for i in range(len(mnist.data))]\n",
"random.shuffle(indices)\n",
"indices = indices[:15000]\n",
"\n",
"data = [mnist.data.values[i] for i in indices]\n",
"target = [mnist.target[i] for i in indices]\n",
"\n",
"classifiers = [KNeighborsClassifier(3), MLPClassifier(hidden_layer_sizes = (100,)), SVC()]\n",
"xtrain, xtest, ytrain, ytest = train_test_split(data, target, train_size=0.7)\n",
"\n",
"\n",
"for clf in classifiers:\n",
" start = time.time()\n",
" clf.fit(xtrain, ytrain)\n",
" score = clf.score(xtest, ytest)\n",
" end = time.time()\n",
" print(f\"training + evaluating time : {end - start}, score = {score}\")\n",
" print(confusion_matrix(ytest, clf.predict(xtest)))\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1aff265d",
"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.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

32
eval.py Normal file
View file

@ -0,0 +1,32 @@
import matplotlib.pyplot as plt
from sklearn.neural_network import MLPClassifier
from sklearn.neighbors import KNeighborsClassifier
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.model_selection import KFold
from sklearn.metrics import precision_score
from sklearn.metrics import confusion_matrix
import random
import time
from sklearn.datasets import fetch_openml
#mnist = fetch_openml('mnist_784')
indices = [i for i in range(len(mnist.data))]
random.shuffle(indices)
indices = indices[:15000]
data = [mnist.data.values[i] for i in indices]
target = [mnist.target[i] for i in indices]
classifiers = [KNeighborsClassifier(3), MLPClassifier(hidden_layer_sizes = (100,)), SVC()]
xtrain, xtest, ytrain, ytest = train_test_split(data, target, train_size=0.7)
for clf in classifiers:
start = time.time()
clf.fit(xtrain, ytrain)
score = clf.score(xtest, ytest)
end = time.time()
print(f"training + evaluating time : {end - start}, score = {score}")
print(confusion_matrix(ytest, clf.predict(xtest)))