From 18d4d9f0ee97bbef8c973d1afa169fcc8769b74f Mon Sep 17 00:00:00 2001
From: pedrogzz18 <89173994+pedrogzz18@users.noreply.github.com>
Date: Sat, 27 Apr 2024 20:30:32 -0600
Subject: [PATCH] neural network for ASL classifiaction
---
NN_ASL.ipynb | 1344 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 1344 insertions(+)
create mode 100644 NN_ASL.ipynb
diff --git a/NN_ASL.ipynb b/NN_ASL.ipynb
new file mode 100644
index 0000000..341e4ca
--- /dev/null
+++ b/NN_ASL.ipynb
@@ -0,0 +1,1344 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ ""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "import string\n",
+ "letters = list(string.ascii_uppercase)\n",
+ "letters"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "aKh81whPBVoF",
+ "outputId": "72846ca9-ad45-4986-f19e-0ca37c6d3d0a"
+ },
+ "execution_count": 11,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "['A',\n",
+ " 'B',\n",
+ " 'C',\n",
+ " 'D',\n",
+ " 'E',\n",
+ " 'F',\n",
+ " 'G',\n",
+ " 'H',\n",
+ " 'I',\n",
+ " 'J',\n",
+ " 'K',\n",
+ " 'L',\n",
+ " 'M',\n",
+ " 'N',\n",
+ " 'O',\n",
+ " 'P',\n",
+ " 'Q',\n",
+ " 'R',\n",
+ " 'S',\n",
+ " 'T',\n",
+ " 'U',\n",
+ " 'V',\n",
+ " 'W',\n",
+ " 'X',\n",
+ " 'Y',\n",
+ " 'Z']"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 11
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "numbers = [str(num) for num in range(0, 10)]\n",
+ "numbers"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "6Qw32Ab3BWct",
+ "outputId": "3d6b0329-022b-4c28-ae0e-c4619994f2eb"
+ },
+ "execution_count": 12,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 12
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "source": [
+ "class_names = letters + numbers\n",
+ "class_names"
+ ],
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "gWKw2PHVBY71",
+ "outputId": "e8ace820-2056-44b1-ca8b-7d0e4c75cef1"
+ },
+ "execution_count": 13,
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ "['A',\n",
+ " 'B',\n",
+ " 'C',\n",
+ " 'D',\n",
+ " 'E',\n",
+ " 'F',\n",
+ " 'G',\n",
+ " 'H',\n",
+ " 'I',\n",
+ " 'J',\n",
+ " 'K',\n",
+ " 'L',\n",
+ " 'M',\n",
+ " 'N',\n",
+ " 'O',\n",
+ " 'P',\n",
+ " 'Q',\n",
+ " 'R',\n",
+ " 'S',\n",
+ " 'T',\n",
+ " 'U',\n",
+ " 'V',\n",
+ " 'W',\n",
+ " 'X',\n",
+ " 'Y',\n",
+ " 'Z',\n",
+ " '0',\n",
+ " '1',\n",
+ " '2',\n",
+ " '3',\n",
+ " '4',\n",
+ " '5',\n",
+ " '6',\n",
+ " '7',\n",
+ " '8',\n",
+ " '9']"
+ ]
+ },
+ "metadata": {},
+ "execution_count": 13
+ }
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "id": "NaL78iXS8c1x"
+ },
+ "outputs": [],
+ "source": [
+ "from sklearn.model_selection import train_test_split\n",
+ "from sklearn.preprocessing import StandardScaler\n",
+ "from sklearn.linear_model import LogisticRegression\n",
+ "from sklearn.pipeline import make_pipeline\n",
+ "from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier\n",
+ "import pandas as pd\n",
+ "from sklearn.metrics import accuracy_score"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 342
+ },
+ "id": "eLd9Znj-8gh-",
+ "outputId": "0abb326c-c87a-43d6-8d2e-075bd32d8181"
+ },
+ "outputs": [
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ " class x1 y1 z1 v1 x2 y2 z2 \\\n",
+ "0 A 0.596015 0.598637 -5.351079e-07 0.0 0.524824 0.590247 0.003737 \n",
+ "1 A 0.582702 0.602976 -4.789155e-07 0.0 0.514781 0.599014 0.001139 \n",
+ "2 A 0.568719 0.601903 -4.693277e-07 0.0 0.502747 0.596997 0.000186 \n",
+ "3 A 0.559268 0.600854 -4.881787e-07 0.0 0.491037 0.593645 0.006739 \n",
+ "4 A 0.548125 0.613788 -4.889142e-07 0.0 0.476834 0.605301 0.008348 \n",
+ "\n",
+ " v2 x3 ... z19 v19 x20 y20 z20 v20 \\\n",
+ "0 0.0 0.483084 ... 0.008444 0.0 0.570060 0.442771 0.020445 0.0 \n",
+ "1 0.0 0.469273 ... 0.004532 0.0 0.555620 0.450476 0.013084 0.0 \n",
+ "2 0.0 0.459650 ... -0.004795 0.0 0.544712 0.446647 0.002810 0.0 \n",
+ "3 0.0 0.447823 ... 0.004258 0.0 0.532012 0.447075 0.011150 0.0 \n",
+ "4 0.0 0.434377 ... 0.007032 0.0 0.514065 0.463542 0.014416 0.0 \n",
+ "\n",
+ " x21 y21 z21 v21 \n",
+ "0 0.584027 0.460907 0.033485 0.0 \n",
+ "1 0.570349 0.470588 0.025043 0.0 \n",
+ "2 0.558533 0.469868 0.014419 0.0 \n",
+ "3 0.547573 0.469695 0.022285 0.0 \n",
+ "4 0.530254 0.481641 0.025965 0.0 \n",
+ "\n",
+ "[5 rows x 85 columns]"
+ ],
+ "text/html": [
+ "\n",
+ "
| \n", + " | class | \n", + "x1 | \n", + "y1 | \n", + "z1 | \n", + "v1 | \n", + "x2 | \n", + "y2 | \n", + "z2 | \n", + "v2 | \n", + "x3 | \n", + "... | \n", + "z19 | \n", + "v19 | \n", + "x20 | \n", + "y20 | \n", + "z20 | \n", + "v20 | \n", + "x21 | \n", + "y21 | \n", + "z21 | \n", + "v21 | \n", + "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", + "A | \n", + "0.596015 | \n", + "0.598637 | \n", + "-5.351079e-07 | \n", + "0.0 | \n", + "0.524824 | \n", + "0.590247 | \n", + "0.003737 | \n", + "0.0 | \n", + "0.483084 | \n", + "... | \n", + "0.008444 | \n", + "0.0 | \n", + "0.570060 | \n", + "0.442771 | \n", + "0.020445 | \n", + "0.0 | \n", + "0.584027 | \n", + "0.460907 | \n", + "0.033485 | \n", + "0.0 | \n", + "
| 1 | \n", + "A | \n", + "0.582702 | \n", + "0.602976 | \n", + "-4.789155e-07 | \n", + "0.0 | \n", + "0.514781 | \n", + "0.599014 | \n", + "0.001139 | \n", + "0.0 | \n", + "0.469273 | \n", + "... | \n", + "0.004532 | \n", + "0.0 | \n", + "0.555620 | \n", + "0.450476 | \n", + "0.013084 | \n", + "0.0 | \n", + "0.570349 | \n", + "0.470588 | \n", + "0.025043 | \n", + "0.0 | \n", + "
| 2 | \n", + "A | \n", + "0.568719 | \n", + "0.601903 | \n", + "-4.693277e-07 | \n", + "0.0 | \n", + "0.502747 | \n", + "0.596997 | \n", + "0.000186 | \n", + "0.0 | \n", + "0.459650 | \n", + "... | \n", + "-0.004795 | \n", + "0.0 | \n", + "0.544712 | \n", + "0.446647 | \n", + "0.002810 | \n", + "0.0 | \n", + "0.558533 | \n", + "0.469868 | \n", + "0.014419 | \n", + "0.0 | \n", + "
| 3 | \n", + "A | \n", + "0.559268 | \n", + "0.600854 | \n", + "-4.881787e-07 | \n", + "0.0 | \n", + "0.491037 | \n", + "0.593645 | \n", + "0.006739 | \n", + "0.0 | \n", + "0.447823 | \n", + "... | \n", + "0.004258 | \n", + "0.0 | \n", + "0.532012 | \n", + "0.447075 | \n", + "0.011150 | \n", + "0.0 | \n", + "0.547573 | \n", + "0.469695 | \n", + "0.022285 | \n", + "0.0 | \n", + "
| 4 | \n", + "A | \n", + "0.548125 | \n", + "0.613788 | \n", + "-4.889142e-07 | \n", + "0.0 | \n", + "0.476834 | \n", + "0.605301 | \n", + "0.008348 | \n", + "0.0 | \n", + "0.434377 | \n", + "... | \n", + "0.007032 | \n", + "0.0 | \n", + "0.514065 | \n", + "0.463542 | \n", + "0.014416 | \n", + "0.0 | \n", + "0.530254 | \n", + "0.481641 | \n", + "0.025965 | \n", + "0.0 | \n", + "
5 rows × 85 columns
\n", + "Pipeline(steps=[('standardscaler', StandardScaler()),\n",
+ " ('kerasclassifier',\n",
+ " KerasClassifier(batch_size=200, callbacks=[<keras.src.callbacks.early_stopping.EarlyStopping object at 0x7850864e63b0>], epochs=100, model=<function create_asl_nn at 0x78508e5b2440>, validation_split=0.2))])In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. Pipeline(steps=[('standardscaler', StandardScaler()),\n",
+ " ('kerasclassifier',\n",
+ " KerasClassifier(batch_size=200, callbacks=[<keras.src.callbacks.early_stopping.EarlyStopping object at 0x7850864e63b0>], epochs=100, model=<function create_asl_nn at 0x78508e5b2440>, validation_split=0.2))])StandardScaler()
KerasClassifier(\n", + "\tmodel=<function create_asl_nn at 0x78508e5b2440>\n", + "\tbuild_fn=None\n", + "\twarm_start=False\n", + "\trandom_state=None\n", + "\toptimizer=rmsprop\n", + "\tloss=None\n", + "\tmetrics=None\n", + "\tbatch_size=200\n", + "\tvalidation_batch_size=None\n", + "\tverbose=1\n", + "\tcallbacks=[<keras.src.callbacks.early_stopping.EarlyStopping object at 0x7850864e63b0>]\n", + "\tvalidation_split=0.2\n", + "\tshuffle=True\n", + "\trun_eagerly=False\n", + "\tepochs=100\n", + "\tclass_weight=None\n", + ")