diff --git a/RBF_churn.ipynb b/RBF_churn.ipynb new file mode 100644 index 0000000..5427030 --- /dev/null +++ b/RBF_churn.ipynb @@ -0,0 +1,1160 @@ +{ + "nbformat": 4, + "nbformat_minor": 0, + "metadata": { + "colab": { + "provenance": [], + "mount_file_id": "139ZNFC7YirqUNmFywXTckOiei8eHhwHs", + "authorship_tag": "ABX9TyMQC6PsAJFbmsfDt05xn5G+" + }, + "kernelspec": { + "name": "python3", + "display_name": "Python 3" + }, + "language_info": { + "name": "python" + } + }, + "cells": [ + { + "cell_type": "markdown", + "source": [ + "RBF NN" + ], + "metadata": { + "id": "7wp6Y2dQ53YZ" + } + }, + { + "cell_type": "markdown", + "source": [ + "In the field of mathematical modeling, a radial basis function network is an artificial neural network that uses radial basis functions as activation functions. The output of the network is a linear combination of radial basis functions of the inputs and neuron parameters. Radial basis function networks have many uses, including function approximation, time series prediction, classification, and system control.\n", + "\n", + "Radial basis function (RBF) networks typically have three layers: an input layer, a hidden layer with a non-linear RBF activation function and a linear output layer.\n", + "The input can be modeled as a vector of real numbers\n", + "Radial basis function (RBF) networks typically have three layers: an input layer, a hidden layer with a non-linear RBF activation function and a linear output layer.\n", + "\n", + "Functions that depend only on the distance from a center vector are radially symmetric about that vector, hence the name radial basis function. In the basic form, all inputs are connected to each hidden neuron. The norm is typically taken to be the Euclidean distance (although the Mahalanobis distance appears to perform better with pattern recognition) and the radial basis function is commonly taken to be Gaussian.\n", + "\n", + "Given certain mild conditions on the shape of the activation function, RBF networks are universal approximators on a compact subset of\n", + "Given certain mild conditions on the shape of the activation function, RBF networks are universal approximators on a compact subset of R^n\n", + "\n", + "This means that an RBF network with enough hidden neurons can approximate any continuous function on a closed, bounded set with arbitrary precision.\n", + "\n", + "The parameters\n", + "a_i,\n", + "c_i, and\n", + "beta_i are determined in a manner that optimizes the fit between\n", + "phi and the data." + ], + "metadata": { + "id": "H1lvvmnucOX2" + } + }, + { + "cell_type": "markdown", + "source": [ + "![Rbf-network.svg](data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KPGcgaWQ9ImdyYXBoMCIgY2xhc3M9ImdyYXBoIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyMCwzNTApIHNjYWxlKDEpIj4NCjx0aXRsZT5kZXM8L3RpdGxlPg0KPGcgaWQ9ImNsdXN0MSIgY2xhc3M9ImNsdXN0ZXIiPg0KPHRpdGxlPmNsdXN0ZXJHcmFwaDwvdGl0bGU+DQo8L2c+DQo8ZyBpZD0iY2x1c3Q0IiBjbGFzcz0iY2x1c3RlciI+DQo8dGl0bGU+Y2x1c3RlckxhYmVsPC90aXRsZT4NCjwvZz4NCjwhLS0gZjEgLS0+DQo8ZyBpZD0ibm9kZTEiIGNsYXNzPSJub2RlIj4NCjx0aXRsZT5mMTwvdGl0bGU+DQo8ZWxsaXBzZSBmaWxsPSJsaWdodGJsdWUiIHN0cm9rZT0iYmxhY2siIGN4PSIzNCIgY3k9Ii0xNTMuNDIiIHJ4PSIxOCIgcnk9IjE4Ii8+DQo8L2c+DQo8IS0tIG8xIC0tPg0KPGcgaWQ9Im5vZGU4IiBjbGFzcz0ibm9kZSI+DQo8dGl0bGU+bzE8L3RpdGxlPg0KPGVsbGlwc2UgZmlsbD0ibGlnaHRibHVlIiBzdHJva2U9ImJsYWNrIiBjeD0iMTE1IiBjeT0iLTI3Mi44MyIgcng9IjE4IiByeT0iMTgiLz4NCjwvZz4NCjwhLS0gZjEmIzQ1OyZndDtvMSAtLT4NCjxnIGlkPSJlZGdlMTMiIGNsYXNzPSJlZGdlIj4NCjx0aXRsZT5mMS0mZ3Q7bzE8L3RpdGxlPg0KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTQzLjkzLC0xNjguODFDNTcuNzksLTE4OC45IDgzLjA3LC0yMjUuNTUgOTkuNDQsLTI0OS4yOCIvPg0KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iOTYuNjgsLTI1MS40NCAxMDUuMjQsLTI1Ny42OCAxMDIuNDQsLTI0Ny40NiA5Ni42OCwtMjUxLjQ0Ii8+DQo8L2c+DQo8IS0tIGYyIC0tPg0KPGcgaWQ9Im5vZGUyIiBjbGFzcz0ibm9kZSI+DQo8dGl0bGU+ZjI8L3RpdGxlPg0KPGVsbGlwc2UgZmlsbD0ibGlnaHRibHVlIiBzdHJva2U9ImJsYWNrIiBjeD0iODgiIGN5PSItMTUzLjQyIiByeD0iMTgiIHJ5PSIxOCIvPg0KPC9nPg0KPCEtLSBmMiYjNDU7Jmd0O28xIC0tPg0KPGcgaWQ9ImVkZ2UxNCIgY2xhc3M9ImVkZ2UiPg0KPHRpdGxlPmYyLSZndDtvMTwvdGl0bGU+DQo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNOTEuODcsLTE3MS4yNEM5Ni4zLC0xOTAuNTEgMTAzLjYyLC0yMjIuMzQgMTA4Ljg0LC0yNDUuMDMiLz4NCjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjEwNS40OSwtMjQ2LjA4IDExMS4xNCwtMjU1LjA0IDExMi4zMSwtMjQ0LjUxIDEwNS40OSwtMjQ2LjA4Ii8+DQo8L2c+DQo8IS0tIGYzIC0tPg0KPGcgaWQ9Im5vZGUzIiBjbGFzcz0ibm9kZSI+DQo8dGl0bGU+ZjM8L3RpdGxlPg0KPGVsbGlwc2UgZmlsbD0ibGlnaHRibHVlIiBzdHJva2U9ImJsYWNrIiBjeD0iMTQyIiBjeT0iLTE1My40MiIgcng9IjE4IiByeT0iMTgiLz4NCjwvZz4NCjwhLS0gZjMmIzQ1OyZndDtvMSAtLT4NCjxnIGlkPSJlZGdlMTUiIGNsYXNzPSJlZGdlIj4NCjx0aXRsZT5mMy0mZ3Q7bzE8L3RpdGxlPg0KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTEzOC4xMywtMTcxLjI0QzEzMy43LC0xOTAuNTEgMTI2LjM4LC0yMjIuMzQgMTIxLjE2LC0yNDUuMDMiLz4NCjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjExNy42OSwtMjQ0LjUxIDExOC44NiwtMjU1LjA0IDEyNC41MSwtMjQ2LjA4IDExNy42OSwtMjQ0LjUxIi8+DQo8L2c+DQo8IS0tIGY0IC0tPg0KPGcgaWQ9Im5vZGU0IiBjbGFzcz0ibm9kZSI+DQo8dGl0bGU+ZjQ8L3RpdGxlPg0KPGVsbGlwc2UgZmlsbD0ibGlnaHRibHVlIiBzdHJva2U9ImJsYWNrIiBjeD0iMTk2IiBjeT0iLTE1My40MiIgcng9IjE4IiByeT0iMTgiLz4NCjwvZz4NCjwhLS0gZjQmIzQ1OyZndDtvMSAtLT4NCjxnIGlkPSJlZGdlMTYiIGNsYXNzPSJlZGdlIj4NCjx0aXRsZT5mNC0mZ3Q7bzE8L3RpdGxlPg0KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTE4Ni4wNywtMTY4LjgxQzE3Mi4yMSwtMTg4LjkgMTQ2LjkzLC0yMjUuNTUgMTMwLjU2LC0yNDkuMjgiLz4NCjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjEyNy41NiwtMjQ3LjQ2IDEyNC43NiwtMjU3LjY4IDEzMy4zMiwtMjUxLjQ0IDEyNy41NiwtMjQ3LjQ2Ii8+DQo8L2c+DQo8IS0tIGkxIC0tPg0KPGcgaWQ9Im5vZGU1IiBjbGFzcz0ibm9kZSI+DQo8dGl0bGU+aTE8L3RpdGxlPg0KPGVsbGlwc2UgZmlsbD0ibGlnaHRibHVlIiBzdHJva2U9ImJsYWNrIiBjeD0iMTE1IiBjeT0iLTM0IiByeD0iMTgiIHJ5PSIxOCIvPg0KPC9nPg0KPCEtLSBpMSYjNDU7Jmd0O2YxIC0tPg0KPGcgaWQ9ImVkZ2UxIiBjbGFzcz0iZWRnZSI+DQo8dGl0bGU+aTEtJmd0O2YxPC90aXRsZT4NCjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0xMDUuMDcsLTQ5LjRDOTEuMjEsLTY5LjQ5IDY1LjkzLC0xMDYuMTMgNDkuNTYsLTEyOS44NiIvPg0KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iNDYuNTYsLTEyOC4wNSA0My43NiwtMTM4LjI3IDUyLjMyLC0xMzIuMDIgNDYuNTYsLTEyOC4wNSIvPg0KPC9nPg0KPCEtLSBpMSYjNDU7Jmd0O2YyIC0tPg0KPGcgaWQ9ImVkZ2UyIiBjbGFzcz0iZWRnZSI+DQo8dGl0bGU+aTEtJmd0O2YyPC90aXRsZT4NCjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0xMTEuMTMsLTUxLjgyQzEwNi43LC03MS4wOSA5OS4zOCwtMTAyLjkyIDk0LjE2LC0xMjUuNjIiLz4NCjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjkwLjY5LC0xMjUuMDkgOTEuODYsLTEzNS42MiA5Ny41MSwtMTI2LjY2IDkwLjY5LC0xMjUuMDkiLz4NCjwvZz4NCjwhLS0gaTEmIzQ1OyZndDtmMyAtLT4NCjxnIGlkPSJlZGdlMyIgY2xhc3M9ImVkZ2UiPg0KPHRpdGxlPmkxLSZndDtmMzwvdGl0bGU+DQo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNMTE4Ljg3LC01MS44MkMxMjMuMywtNzEuMDkgMTMwLjYyLC0xMDIuOTIgMTM1Ljg0LC0xMjUuNjIiLz4NCjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjEzMi40OSwtMTI2LjY2IDEzOC4xNCwtMTM1LjYyIDEzOS4zMSwtMTI1LjA5IDEzMi40OSwtMTI2LjY2Ii8+DQo8L2c+DQo8IS0tIGkxJiM0NTsmZ3Q7ZjQgLS0+DQo8ZyBpZD0iZWRnZTQiIGNsYXNzPSJlZGdlIj4NCjx0aXRsZT5pMS0mZ3Q7ZjQ8L3RpdGxlPg0KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTEyNC45MywtNDkuNEMxMzguNzksLTY5LjQ5IDE2NC4wNywtMTA2LjEzIDE4MC40NCwtMTI5Ljg2Ii8+DQo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIxNzcuNjgsLTEzMi4wMiAxODYuMjQsLTEzOC4yNyAxODMuNDQsLTEyOC4wNSAxNzcuNjgsLTEzMi4wMiIvPg0KPC9nPg0KPCEtLSBpMiAtLT4NCjxnIGlkPSJub2RlNiIgY2xhc3M9Im5vZGUiPg0KPHRpdGxlPmkyPC90aXRsZT4NCjxlbGxpcHNlIGZpbGw9ImxpZ2h0Ymx1ZSIgc3Ryb2tlPSJibGFjayIgY3g9IjYxIiBjeT0iLTM0IiByeD0iMTgiIHJ5PSIxOCIvPg0KPC9nPg0KPCEtLSBpMiYjNDU7Jmd0O2YxIC0tPg0KPGcgaWQ9ImVkZ2U1IiBjbGFzcz0iZWRnZSI+DQo8dGl0bGU+aTItJmd0O2YxPC90aXRsZT4NCjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik01Ny4xMywtNTEuODJDNTIuNywtNzEuMDkgNDUuMzgsLTEwMi45MiA0MC4xNiwtMTI1LjYyIi8+DQo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIzNi42OSwtMTI1LjA5IDM3Ljg2LC0xMzUuNjIgNDMuNTEsLTEyNi42NiAzNi42OSwtMTI1LjA5Ii8+DQo8L2c+DQo8IS0tIGkyJiM0NTsmZ3Q7ZjIgLS0+DQo8ZyBpZD0iZWRnZTYiIGNsYXNzPSJlZGdlIj4NCjx0aXRsZT5pMi0mZ3Q7ZjI8L3RpdGxlPg0KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTY0Ljg3LC01MS44MkM2OS4zLC03MS4wOSA3Ni42MiwtMTAyLjkyIDgxLjg0LC0xMjUuNjIiLz4NCjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9Ijc4LjQ5LC0xMjYuNjYgODQuMTQsLTEzNS42MiA4NS4zMSwtMTI1LjA5IDc4LjQ5LC0xMjYuNjYiLz4NCjwvZz4NCjwhLS0gaTImIzQ1OyZndDtmMyAtLT4NCjxnIGlkPSJlZGdlNyIgY2xhc3M9ImVkZ2UiPg0KPHRpdGxlPmkyLSZndDtmMzwvdGl0bGU+DQo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBkPSJNNzAuOTMsLTQ5LjRDODQuNzksLTY5LjQ5IDExMC4wNywtMTA2LjEzIDEyNi40NCwtMTI5Ljg2Ii8+DQo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIxMjMuNjgsLTEzMi4wMiAxMzIuMjQsLTEzOC4yNyAxMjkuNDQsLTEyOC4wNSAxMjMuNjgsLTEzMi4wMiIvPg0KPC9nPg0KPCEtLSBpMiYjNDU7Jmd0O2Y0IC0tPg0KPGcgaWQ9ImVkZ2U4IiBjbGFzcz0iZWRnZSI+DQo8dGl0bGU+aTItJmd0O2Y0PC90aXRsZT4NCjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik03NC40NCwtNDYuNjlDOTcuOTksLTY3LjE3IDE0Ni44OCwtMTA5LjcgMTc0Ljk2LC0xMzQuMTEiLz4NCjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjE3Mi43NywtMTM2Ljg1IDE4Mi42MiwtMTQwLjc4IDE3Ny4zNywtMTMxLjU3IDE3Mi43NywtMTM2Ljg1Ii8+DQo8L2c+DQo8IS0tIGkzIC0tPg0KPGcgaWQ9Im5vZGU3IiBjbGFzcz0ibm9kZSI+DQo8dGl0bGU+aTM8L3RpdGxlPg0KPGVsbGlwc2UgZmlsbD0ibGlnaHRibHVlIiBzdHJva2U9ImJsYWNrIiBjeD0iMTY5IiBjeT0iLTM0IiByeD0iMTgiIHJ5PSIxOCIvPg0KPC9nPg0KPCEtLSBpMyYjNDU7Jmd0O2YxIC0tPg0KPGcgaWQ9ImVkZ2U5IiBjbGFzcz0iZWRnZSI+DQo8dGl0bGU+aTMtJmd0O2YxPC90aXRsZT4NCjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0xNTUuNTYsLTQ2LjY5QzEzMi4wMSwtNjcuMTcgODMuMTIsLTEwOS43IDU1LjA0LC0xMzQuMTEiLz4NCjxwb2x5Z29uIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIiBwb2ludHM9IjUyLjYzLC0xMzEuNTcgNDcuMzgsLTE0MC43OCA1Ny4yMywtMTM2Ljg1IDUyLjYzLC0xMzEuNTciLz4NCjwvZz4NCjwhLS0gaTMmIzQ1OyZndDtmMiAtLT4NCjxnIGlkPSJlZGdlMTAiIGNsYXNzPSJlZGdlIj4NCjx0aXRsZT5pMy0mZ3Q7ZjI8L3RpdGxlPg0KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTE1OS4wNywtNDkuNEMxNDUuMjEsLTY5LjQ5IDExOS45MywtMTA2LjEzIDEwMy41NiwtMTI5Ljg2Ii8+DQo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIxMDAuNTYsLTEyOC4wNSA5Ny43NiwtMTM4LjI3IDEwNi4zMiwtMTMyLjAyIDEwMC41NiwtMTI4LjA1Ii8+DQo8L2c+DQo8IS0tIGkzJiM0NTsmZ3Q7ZjMgLS0+DQo8ZyBpZD0iZWRnZTExIiBjbGFzcz0iZWRnZSI+DQo8dGl0bGU+aTMtJmd0O2YzPC90aXRsZT4NCjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIGQ9Ik0xNjUuMTMsLTUxLjgyQzE2MC43LC03MS4wOSAxNTMuMzgsLTEwMi45MiAxNDguMTYsLTEyNS42MiIvPg0KPHBvbHlnb24gZmlsbD0iYmxhY2siIHN0cm9rZT0iYmxhY2siIHBvaW50cz0iMTQ0LjY5LC0xMjUuMDkgMTQ1Ljg2LC0xMzUuNjIgMTUxLjUxLC0xMjYuNjYgMTQ0LjY5LC0xMjUuMDkiLz4NCjwvZz4NCjwhLS0gaTMmIzQ1OyZndDtmNCAtLT4NCjxnIGlkPSJlZGdlMTIiIGNsYXNzPSJlZGdlIj4NCjx0aXRsZT5pMy0mZ3Q7ZjQ8L3RpdGxlPg0KPHBhdGggZmlsbD0ibm9uZSIgc3Ryb2tlPSJibGFjayIgZD0iTTE3Mi44NywtNTEuODJDMTc3LjMsLTcxLjA5IDE4NC42MiwtMTAyLjkyIDE4OS44NCwtMTI1LjYyIi8+DQo8cG9seWdvbiBmaWxsPSJibGFjayIgc3Ryb2tlPSJibGFjayIgcG9pbnRzPSIxODYuNDksLTEyNi42NiAxOTIuMTQsLTEzNS42MiAxOTMuMzEsLTEyNS4wOSAxODYuNDksLTEyNi42NiIvPg0KPC9nPg0KPCEtLSBsMSAtLT4NCjxnIGlkPSJub2RlOSIgY2xhc3M9Im5vZGUiPg0KPHRpdGxlPmwxPC90aXRsZT4NCjxlbGxpcHNlIGZpbGw9Im5vbmUiIHN0cm9rZT0idHJhbnNwYXJlbnQiIGN4PSIzMDMiIGN5PSItMzQiIHJ4PSI0MC4wNSIgcnk9IjE4Ii8+DQo8dGV4dCB0ZXh0LWFuY2hvcj0ibWlkZGxlIiB4PSIzMDMiIHk9Ii0yOS44IiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTQuMDAiPklucHV0IHg8L3RleHQ+DQo8L2c+DQo8IS0tIGwyIC0tPg0KPGcgaWQ9Im5vZGUxMCIgY2xhc3M9Im5vZGUiPg0KPHRpdGxlPmwyPC90aXRsZT4NCjxlbGxpcHNlIGZpbGw9Im5vbmUiIHN0cm9rZT0idHJhbnNwYXJlbnQiIGN4PSIzMDMiIGN5PSItMTUzLjQyIiByeD0iNjUuNDgiIHJ5PSIyOS4zMyIvPg0KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMzAzIiB5PSItMTU3LjYyIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTQuMDAiPlJhZGlhbCBiYXNpczwvdGV4dD4NCjx0ZXh0IHRleHQtYW5jaG9yPSJtaWRkbGUiIHg9IjMwMyIgeT0iLTE0MC44MiIgZm9udC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjE0LjAwIj5mdW5jdGlvbnM8L3RleHQ+DQo8L2c+DQo8IS0tIGwxJiM0NTsmZ3Q7bDIgLS0+DQo8ZyBpZD0iZWRnZTE3IiBjbGFzcz0iZWRnZSI+DQo8dGl0bGU+bDEtJmd0O2wyPC90aXRsZT4NCjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0idHJhbnNwYXJlbnQiIGQ9Ik0zMDMsLTUyLjA3QzMwMywtNjguMTggMzAzLC05Mi45IDMwMywtMTEzLjc3Ii8+DQo8cG9seWdvbiBmaWxsPSJ0cmFuc3BhcmVudCIgc3Ryb2tlPSJ0cmFuc3BhcmVudCIgcG9pbnRzPSIyOTkuNSwtMTEzLjk2IDMwMywtMTIzLjk2IDMwNi41LC0xMTMuOTYgMjk5LjUsLTExMy45NiIvPg0KPHRleHQgdGV4dC1hbmNob3I9InN0YXJ0IiB4PSIyNTkuODIiIHk9Ii04NS43NiIgZm9udC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjE0LjAwIj5QYXJhbWV0ZXJzIGM8L3RleHQ+DQo8dGV4dCB0ZXh0LWFuY2hvcj0ic3RhcnQiIHg9IjM0My4wNyIgeT0iLTg1Ljc2IiBmb250LXN0eWxlPSJpdGFsaWMiICBmb250LWZhbWlseT0iQXJpYWwiIGJhc2VsaW5lLXNoaWZ0PSJzdWIiIGZvbnQtc2l6ZT0iMTQuMDAiPmk8L3RleHQ+DQo8L2c+DQo8IS0tIGwzIC0tPg0KPGcgaWQ9Im5vZGUxMSIgY2xhc3M9Im5vZGUiPg0KPHRpdGxlPmwzPC90aXRsZT4NCjxlbGxpcHNlIGZpbGw9Im5vbmUiIHN0cm9rZT0idHJhbnNwYXJlbnQiIGN4PSIzMDMiIGN5PSItMjcyLjgzIiByeD0iNDcuNTgiIHJ5PSIxOCIvPg0KPHRleHQgdGV4dC1hbmNob3I9Im1pZGRsZSIgeD0iMzAzIiB5PSItMjY4LjYzIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTQuMDAiPk91dHB1dCB5PC90ZXh0Pg0KPC9nPg0KPCEtLSBsMiYjNDU7Jmd0O2wzIC0tPg0KPGcgaWQ9ImVkZ2UxOCIgY2xhc3M9ImVkZ2UiPg0KPHRpdGxlPmwyLSZndDtsMzwvdGl0bGU+DQo8cGF0aCBmaWxsPSJub25lIiBzdHJva2U9InRyYW5zcGFyZW50IiBkPSJNMzAzLC0xODIuODRDMzAzLC0yMDEuNTYgMzAzLC0yMjUuOTQgMzAzLC0yNDQuNDUiLz4NCjxwb2x5Z29uIGZpbGw9InRyYW5zcGFyZW50IiBzdHJva2U9InRyYW5zcGFyZW50IiBwb2ludHM9IjI5OS41LC0yNDQuNTggMzAzLC0yNTQuNTggMzA2LjUsLTI0NC41OCAyOTkuNSwtMjQ0LjU4Ii8+DQo8dGV4dCB0ZXh0LWFuY2hvcj0ic3RhcnQiIHg9IjI1MC40NyIgeT0iLTIxNi4zOCIgZm9udC1mYW1pbHk9IkFyaWFsIiBmb250LXNpemU9IjE0LjAwIj5MaW5lYXIgd2VpZ2h0cyBhPC90ZXh0Pg0KPHRleHQgdGV4dC1hbmNob3I9InN0YXJ0IiB4PSIzNTIuNDIiIHk9Ii0yMTYuMzgiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zdHlsZT0iaXRhbGljIiBiYXNlbGluZS1zaGlmdD0ic3ViIiBmb250LXNpemU9IjE0LjAwIj5pPC90ZXh0Pg0KPC9nPg0KPC9nPg0KPC9zdmc+)" + ], + "metadata": { + "id": "1x_EQogtdKZp" + } + }, + { + "cell_type": "markdown", + "source": [ + "By Leitisvatn - Own work, CC BY-SA 4.0, https://commons.wikimedia.org/w/index.php?curid=124560257" + ], + "metadata": { + "id": "HlA4PGnLdP7u" + } + }, + { + "cell_type": "markdown", + "source": [ + "![2023-09-26_15-17-02.png](data:image/png;base64,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)" + ], + "metadata": { + "id": "7sI7wbSWbT4d" + } + }, + { + "cell_type": "code", + "source": [ + "import tensorflow as tf\n", + "from tensorflow import keras\n", + "from RBF_neuralNetwork_updated import RBFLayer,InitCentersRandom,InitCentersKMeans" + ], + "metadata": { + "id": "V_6FWs_yflY_" + }, + "execution_count": 4, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "from keras.models import Sequential\n", + "from keras.layers import Dense\n", + "from keras.layers import Activation\n", + "from keras.optimizers import RMSprop\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.metrics import confusion_matrix\n", + "from sklearn.metrics import classification_report" + ], + "metadata": { + "id": "uMyQAQEifmPU" + }, + "execution_count": 5, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "data = pd.read_csv(\"/content/bilkav.com_Churn_Modelling.csv\")\n", + "X = data.iloc[:, 3:13]\n", + "Y = data.iloc[:, 13]\n", + "X = pd.get_dummies(X)\n", + "X.drop(\"Gender_Female\", axis=1, inplace=True)\n", + "X.rename(columns = {\"Gender_Male\": \"Gender\"}, inplace=True) # male = 1 , female = 0\n", + "\n", + "from sklearn.model_selection import train_test_split\n", + "x_train, x_test, y_train, y_test = train_test_split(X,Y, test_size= 0.20, random_state= 42)\n", + "x_train = x_train.reset_index(drop=True)\n", + "y_train = y_train.reset_index(drop=True)\n", + "x_test = x_test.reset_index(drop=True)\n", + "y_test = y_test.reset_index(drop=True)\n", + "\n", + "from sklearn.preprocessing import MinMaxScaler\n", + "mm_train = MinMaxScaler()\n", + "X_train = mm_train.fit_transform(x_train)\n", + "mm_test = MinMaxScaler()\n", + "X_test = mm_test.fit_transform(x_test)" + ], + "metadata": { + "id": "nlFVfqwHv34C" + }, + "execution_count": 6, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model = Sequential()\n", + "rbflayer = RBFLayer(12,\n", + " initializer=InitCentersRandom(X_train),\n", + " betas=3.0,\n", + " input_shape=(12,))\n", + "\n", + "model.add(rbflayer)\n", + "model.add(Dense(1))\n", + "model.add(Activation('linear'))\n", + "model.compile(loss='binary_crossentropy',\n", + " optimizer=RMSprop(), metrics=['accuracy'])\n", + "print(model.summary())\n", + "history1 = model.fit(X_train, y_train, epochs=100, batch_size=32)\n", + "\n", + "y_pred = model.predict(X_test)" + ], + "metadata": { + "id": "Ty2l6rmhb_R4", + "colab": { + "base_uri": "https://localhost:8080/" + }, + "outputId": "9afbbdef-585e-42d0-8870-e89ed218ef01" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Model: \"sequential_31\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " rbf_layer_31 (RBFLayer) (None, 12) 156 \n", + " \n", + " dense_6 (Dense) (None, 1) 13 \n", + " \n", + " activation_6 (Activation) (None, 1) 0 \n", + " \n", + "=================================================================\n", + "Total params: 169 (676.00 Byte)\n", + "Trainable params: 169 (676.00 Byte)\n", + "Non-trainable params: 0 (0.00 Byte)\n", + "_________________________________________________________________\n", + "None\n", + "Epoch 1/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.5938 - accuracy: 0.7924\n", + "Epoch 2/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.5027 - accuracy: 0.7944\n", + "Epoch 3/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4964 - accuracy: 0.7965\n", + "Epoch 4/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4924 - accuracy: 0.7971\n", + "Epoch 5/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4886 - accuracy: 0.7980\n", + "Epoch 6/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4854 - accuracy: 0.7989\n", + "Epoch 7/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4844 - accuracy: 0.7989\n", + "Epoch 8/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4817 - accuracy: 0.8005\n", + "Epoch 9/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4810 - accuracy: 0.8005\n", + "Epoch 10/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4783 - accuracy: 0.8019\n", + "Epoch 11/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4731 - accuracy: 0.8014\n", + "Epoch 12/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4707 - accuracy: 0.8027\n", + "Epoch 13/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4682 - accuracy: 0.8030\n", + "Epoch 14/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4659 - accuracy: 0.8048\n", + "Epoch 15/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4649 - accuracy: 0.8055\n", + "Epoch 16/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4631 - accuracy: 0.8065\n", + "Epoch 17/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4606 - accuracy: 0.8073\n", + "Epoch 18/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4588 - accuracy: 0.8077\n", + "Epoch 19/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4565 - accuracy: 0.8080\n", + "Epoch 20/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4559 - accuracy: 0.8096\n", + "Epoch 21/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4601 - accuracy: 0.8101\n", + "Epoch 22/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4583 - accuracy: 0.8112\n", + "Epoch 23/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4556 - accuracy: 0.8123\n", + "Epoch 24/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4527 - accuracy: 0.8117\n", + "Epoch 25/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4568 - accuracy: 0.8134\n", + "Epoch 26/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4495 - accuracy: 0.8131\n", + "Epoch 27/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4517 - accuracy: 0.8142\n", + "Epoch 28/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4509 - accuracy: 0.8142\n", + "Epoch 29/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4525 - accuracy: 0.8156\n", + "Epoch 30/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4501 - accuracy: 0.8164\n", + "Epoch 31/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4504 - accuracy: 0.8154\n", + "Epoch 32/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4512 - accuracy: 0.8170\n", + "Epoch 33/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4499 - accuracy: 0.8175\n", + "Epoch 34/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4495 - accuracy: 0.8177\n", + "Epoch 35/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4505 - accuracy: 0.8186\n", + "Epoch 36/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4494 - accuracy: 0.8186\n", + "Epoch 37/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4547 - accuracy: 0.8186\n", + "Epoch 38/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4521 - accuracy: 0.8185\n", + "Epoch 39/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4541 - accuracy: 0.8186\n", + "Epoch 40/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4547 - accuracy: 0.8196\n", + "Epoch 41/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4512 - accuracy: 0.8200\n", + "Epoch 42/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4532 - accuracy: 0.8202\n", + "Epoch 43/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4537 - accuracy: 0.8194\n", + "Epoch 44/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4527 - accuracy: 0.8196\n", + "Epoch 45/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4535 - accuracy: 0.8196\n", + "Epoch 46/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4527 - accuracy: 0.8202\n", + "Epoch 47/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4517 - accuracy: 0.8200\n", + "Epoch 48/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4523 - accuracy: 0.8195\n", + "Epoch 49/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4506 - accuracy: 0.8199\n", + "Epoch 50/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4554 - accuracy: 0.8210\n", + "Epoch 51/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4506 - accuracy: 0.8196\n", + "Epoch 52/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4528 - accuracy: 0.8202\n", + "Epoch 53/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4485 - accuracy: 0.8196\n", + "Epoch 54/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4481 - accuracy: 0.8215\n", + "Epoch 55/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4526 - accuracy: 0.8215\n", + "Epoch 56/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4538 - accuracy: 0.8198\n", + "Epoch 57/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4483 - accuracy: 0.8211\n", + "Epoch 58/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4474 - accuracy: 0.8210\n", + "Epoch 59/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4556 - accuracy: 0.8206\n", + "Epoch 60/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4561 - accuracy: 0.8211\n", + "Epoch 61/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4486 - accuracy: 0.8204\n", + "Epoch 62/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4569 - accuracy: 0.8220\n", + "Epoch 63/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4527 - accuracy: 0.8224\n", + "Epoch 64/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4517 - accuracy: 0.8229\n", + "Epoch 65/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4530 - accuracy: 0.8234\n", + "Epoch 66/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4584 - accuracy: 0.8224\n", + "Epoch 67/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4582 - accuracy: 0.8238\n", + "Epoch 68/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4581 - accuracy: 0.8232\n", + "Epoch 69/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4625 - accuracy: 0.8224\n", + "Epoch 70/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4606 - accuracy: 0.8226\n", + "Epoch 71/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4618 - accuracy: 0.8230\n", + "Epoch 72/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4621 - accuracy: 0.8246\n", + "Epoch 73/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4637 - accuracy: 0.8249\n", + "Epoch 74/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4609 - accuracy: 0.8239\n", + "Epoch 75/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4593 - accuracy: 0.8246\n", + "Epoch 76/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4588 - accuracy: 0.8238\n", + "Epoch 77/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4600 - accuracy: 0.8255\n", + "Epoch 78/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4589 - accuracy: 0.8257\n", + "Epoch 79/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4532 - accuracy: 0.8253\n", + "Epoch 80/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4550 - accuracy: 0.8261\n", + "Epoch 81/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4607 - accuracy: 0.8267\n", + "Epoch 82/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4585 - accuracy: 0.8250\n", + "Epoch 83/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4583 - accuracy: 0.8263\n", + "Epoch 84/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4632 - accuracy: 0.8264\n", + "Epoch 85/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4624 - accuracy: 0.8255\n", + "Epoch 86/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4562 - accuracy: 0.8275\n", + "Epoch 87/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4565 - accuracy: 0.8265\n", + "Epoch 88/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4616 - accuracy: 0.8257\n", + "Epoch 89/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4595 - accuracy: 0.8273\n", + "Epoch 90/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4558 - accuracy: 0.8269\n", + "Epoch 91/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4625 - accuracy: 0.8265\n", + "Epoch 92/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4603 - accuracy: 0.8273\n", + "Epoch 93/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4518 - accuracy: 0.8259\n", + "Epoch 94/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4581 - accuracy: 0.8284\n", + "Epoch 95/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4603 - accuracy: 0.8285\n", + "Epoch 96/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4590 - accuracy: 0.8278\n", + "Epoch 97/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4648 - accuracy: 0.8275\n", + "Epoch 98/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4653 - accuracy: 0.8278\n", + "Epoch 99/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4646 - accuracy: 0.8290\n", + "Epoch 100/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4591 - accuracy: 0.8279\n", + "63/63 [==============================] - 0s 1ms/step\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "model = Sequential()\n", + "rbflayer = RBFLayer(12,\n", + " initializer=InitCentersKMeans(X_train),\n", + " betas=3.0,\n", + " input_shape=(12,))\n", + "\n", + "model.add(rbflayer)\n", + "model.add(Dense(1))\n", + "model.add(Activation('linear'))\n", + "model.compile(loss='binary_crossentropy',\n", + " optimizer=RMSprop(), metrics=['accuracy'])\n", + "print(model.summary())\n", + "history1 = model.fit(X_train, y_train, epochs=100, batch_size=32)\n", + "\n", + "y_pred = model.predict(X_test)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Ms3wFQTC70FN", + "outputId": "bd71d0e5-f56b-4398-9565-3fc739ce176c" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarning: The default value of `n_init` will change from 10 to 'auto' in 1.4. Set the value of `n_init` explicitly to suppress the warning\n", + " warnings.warn(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Model: \"sequential_30\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " rbf_layer_30 (RBFLayer) (None, 12) 156 \n", + " \n", + " dense_5 (Dense) (None, 1) 13 \n", + " \n", + " activation_5 (Activation) (None, 1) 0 \n", + " \n", + "=================================================================\n", + "Total params: 169 (676.00 Byte)\n", + "Trainable params: 169 (676.00 Byte)\n", + "Non-trainable params: 0 (0.00 Byte)\n", + "_________________________________________________________________\n", + "None\n", + "Epoch 1/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.6991 - accuracy: 0.7945\n", + "Epoch 2/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.5190 - accuracy: 0.7946\n", + "Epoch 3/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4949 - accuracy: 0.7951\n", + "Epoch 4/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4865 - accuracy: 0.7947\n", + "Epoch 5/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4818 - accuracy: 0.7954\n", + "Epoch 6/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4773 - accuracy: 0.7969\n", + "Epoch 7/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4739 - accuracy: 0.7979\n", + "Epoch 8/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4741 - accuracy: 0.7989\n", + "Epoch 9/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4742 - accuracy: 0.8002\n", + "Epoch 10/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4748 - accuracy: 0.7994\n", + "Epoch 11/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4757 - accuracy: 0.8010\n", + "Epoch 12/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4703 - accuracy: 0.8021\n", + "Epoch 13/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4690 - accuracy: 0.8030\n", + "Epoch 14/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4691 - accuracy: 0.8043\n", + "Epoch 15/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4660 - accuracy: 0.8059\n", + "Epoch 16/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4688 - accuracy: 0.8055\n", + "Epoch 17/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4649 - accuracy: 0.8086\n", + "Epoch 18/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4663 - accuracy: 0.8076\n", + "Epoch 19/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4603 - accuracy: 0.8084\n", + "Epoch 20/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4595 - accuracy: 0.8095\n", + "Epoch 21/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4604 - accuracy: 0.8100\n", + "Epoch 22/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4606 - accuracy: 0.8106\n", + "Epoch 23/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4559 - accuracy: 0.8099\n", + "Epoch 24/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4544 - accuracy: 0.8120\n", + "Epoch 25/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4542 - accuracy: 0.8112\n", + "Epoch 26/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4501 - accuracy: 0.8119\n", + "Epoch 27/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4502 - accuracy: 0.8133\n", + "Epoch 28/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4500 - accuracy: 0.8136\n", + "Epoch 29/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4486 - accuracy: 0.8134\n", + "Epoch 30/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4462 - accuracy: 0.8146\n", + "Epoch 31/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4450 - accuracy: 0.8148\n", + "Epoch 32/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4437 - accuracy: 0.8152\n", + "Epoch 33/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4429 - accuracy: 0.8154\n", + "Epoch 34/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4419 - accuracy: 0.8167\n", + "Epoch 35/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4411 - accuracy: 0.8166\n", + "Epoch 36/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4401 - accuracy: 0.8180\n", + "Epoch 37/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4422 - accuracy: 0.8166\n", + "Epoch 38/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4384 - accuracy: 0.8185\n", + "Epoch 39/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4372 - accuracy: 0.8181\n", + "Epoch 40/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4380 - accuracy: 0.8185\n", + "Epoch 41/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4384 - accuracy: 0.8188\n", + "Epoch 42/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4391 - accuracy: 0.8194\n", + "Epoch 43/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4385 - accuracy: 0.8198\n", + "Epoch 44/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4366 - accuracy: 0.8200\n", + "Epoch 45/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4358 - accuracy: 0.8201\n", + "Epoch 46/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4379 - accuracy: 0.8205\n", + "Epoch 47/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4373 - accuracy: 0.8214\n", + "Epoch 48/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4365 - accuracy: 0.8205\n", + "Epoch 49/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4358 - accuracy: 0.8219\n", + "Epoch 50/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4370 - accuracy: 0.8213\n", + "Epoch 51/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4364 - accuracy: 0.8209\n", + "Epoch 52/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4332 - accuracy: 0.8219\n", + "Epoch 53/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4366 - accuracy: 0.8215\n", + "Epoch 54/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4347 - accuracy: 0.8225\n", + "Epoch 55/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4329 - accuracy: 0.8217\n", + "Epoch 56/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4327 - accuracy: 0.8217\n", + "Epoch 57/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4333 - accuracy: 0.8226\n", + "Epoch 58/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4331 - accuracy: 0.8213\n", + "Epoch 59/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4317 - accuracy: 0.8231\n", + "Epoch 60/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4320 - accuracy: 0.8238\n", + "Epoch 61/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4365 - accuracy: 0.8231\n", + "Epoch 62/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4339 - accuracy: 0.8225\n", + "Epoch 63/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4313 - accuracy: 0.8225\n", + "Epoch 64/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4369 - accuracy: 0.8244\n", + "Epoch 65/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4366 - accuracy: 0.8245\n", + "Epoch 66/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4390 - accuracy: 0.8242\n", + "Epoch 67/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4402 - accuracy: 0.8249\n", + "Epoch 68/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4401 - accuracy: 0.8240\n", + "Epoch 69/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4414 - accuracy: 0.8241\n", + "Epoch 70/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4442 - accuracy: 0.8246\n", + "Epoch 71/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4384 - accuracy: 0.8245\n", + "Epoch 72/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4396 - accuracy: 0.8240\n", + "Epoch 73/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4433 - accuracy: 0.8235\n", + "Epoch 74/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4422 - accuracy: 0.8261\n", + "Epoch 75/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4444 - accuracy: 0.8255\n", + "Epoch 76/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4453 - accuracy: 0.8250\n", + "Epoch 77/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4432 - accuracy: 0.8264\n", + "Epoch 78/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4383 - accuracy: 0.8266\n", + "Epoch 79/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4416 - accuracy: 0.8267\n", + "Epoch 80/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4413 - accuracy: 0.8267\n", + "Epoch 81/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4445 - accuracy: 0.8271\n", + "Epoch 82/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4393 - accuracy: 0.8267\n", + "Epoch 83/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4430 - accuracy: 0.8275\n", + "Epoch 84/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4390 - accuracy: 0.8261\n", + "Epoch 85/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4428 - accuracy: 0.8281\n", + "Epoch 86/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4437 - accuracy: 0.8284\n", + "Epoch 87/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4421 - accuracy: 0.8269\n", + "Epoch 88/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4420 - accuracy: 0.8256\n", + "Epoch 89/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4435 - accuracy: 0.8276\n", + "Epoch 90/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4430 - accuracy: 0.8294\n", + "Epoch 91/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4428 - accuracy: 0.8284\n", + "Epoch 92/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4389 - accuracy: 0.8290\n", + "Epoch 93/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4415 - accuracy: 0.8292\n", + "Epoch 94/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4447 - accuracy: 0.8267\n", + "Epoch 95/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4407 - accuracy: 0.8301\n", + "Epoch 96/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4405 - accuracy: 0.8300\n", + "Epoch 97/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4446 - accuracy: 0.8285\n", + "Epoch 98/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4450 - accuracy: 0.8295\n", + "Epoch 99/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4437 - accuracy: 0.8310\n", + "Epoch 100/100\n", + "250/250 [==============================] - 0s 1ms/step - loss: 0.4407 - accuracy: 0.8290\n", + "63/63 [==============================] - 0s 1ms/step\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "y_test" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "sqa448C69mGF", + "outputId": "392c2e0e-f93f-47ec-f860-cca87a3b65d3" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "0 0\n", + "1 0\n", + "2 0\n", + "3 0\n", + "4 0\n", + " ..\n", + "1995 1\n", + "1996 0\n", + "1997 1\n", + "1998 1\n", + "1999 1\n", + "Name: Exited, Length: 2000, dtype: int64" + ] + }, + "metadata": {}, + "execution_count": 85 + } + ] + }, + { + "cell_type": "code", + "source": [ + "results = model.evaluate(X_test, y_test, batch_size=32)\n", + "print(\"test loss:\", results[0])\n", + "print(\"test accuracy:\",results[1]*100,'%')\n", + "\n", + "pred = list()\n", + "for i in range(len(y_pred)):\n", + " pred.append(np.argmax(y_pred[i]))\n", + "#Converting one hot encoded test label to label\n", + "test = list()\n", + "for i in range(len(y_test)):\n", + " test.append(np.argmax(y_test[i]))\n", + "\n", + "from sklearn.metrics import accuracy_score\n", + "a = accuracy_score(pred,test)\n", + "print('Test Accuracy is:', a*100)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "sTZSM71uyQGq", + "outputId": "1262357f-2b66-4765-a4be-f8b27454b6e1" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "63/63 [==============================] - 0s 1ms/step - loss: 0.4114 - accuracy: 0.8300\n", + "test loss: 0.4113898277282715\n", + "test accuracy: 82.99999833106995 %\n", + "Test Accuracy is: 100.0\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "import matplotlib.pyplot as plt\n", + "plt.plot(history1.history['accuracy'])\n", + "plt.plot(history1.history['loss'])\n", + "plt.title('train accuracy and loss')\n", + "plt.ylabel('Accuracy')\n", + "plt.xlabel('Epoch')\n", + "plt.legend(['accuracy', 'loss'], loc='upper left')\n", + "plt.show()" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 472 + }, + "id": "1BBb8M-Vx48w", + "outputId": "b968a3f2-9946-4148-c9dc-cc3b011ce025" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABtwklEQVR4nO3deVxUVeMG8Gf2Yd93EXDfN1TCLUsMl0zNFs1CyfLNV02jTUsx06Tl1ag0KXPrl6VpZlZmGmZmLqS4L7iLyiYoDPvAzP39cWV0BJRR4ALzfD+f+4G5c+6dc+8o88y555wrEwRBABEREZEVkUtdASIiIqLaxgBEREREVocBiIiIiKwOAxARERFZHQYgIiIisjoMQERERGR1GICIiIjI6jAAERERkdVhACIiIiKrwwBE1EAFBgZi7NixUleDJFDV914mk+Gdd96p8foQ1UUMQEQS2bVrF9555x1kZ2dLXRUiIqujlLoCRNZq165dmD17NsaOHQtnZ+dq339SUhLkcn7HISKqCP86EtUDRqMRRUVFFm2j0WigUqlqqEZ1X0FBgdRVIKI6jAGISALvvPMOXn/9dQBAUFAQZDIZZDIZLly4AEDsmzFp0iSsWrUKbdu2hUajwebNmwEA//vf/9CjRw+4ubnBxsYGwcHBWLduXbnXuL0fyIoVKyCTyfDPP/8gKioKHh4esLOzw/Dhw3H16tW71vnw4cMYO3YsmjRpAq1WC29vbzz//PPIysoqV/bKlSsYN24cfH19odFoEBQUhAkTJkCv15vKZGdn45VXXkFgYCA0Gg0aNWqEiIgIZGZmmtW37JyU2b59O2QyGbZv325a17dvX7Rr1w779+9Hnz59YGtri7feegsA8NNPP2Hw4MGmujRt2hRz5syBwWAoV++9e/di0KBBcHFxgZ2dHTp06IBPPvkEALB8+XLIZDIcOHCg3Hbz5s2DQqHAlStXKj1/Fy9exH//+1+0bNkSNjY2cHNzw5NPPlnu+Cx5nwRBwNy5c9GoUSPY2trioYcewrFjxyqtQ1UcOHAAAwcOhKOjI+zt7dGvXz/s2bPHrExJSQlmz56N5s2bQ6vVws3NDb169cLWrVtNZdLS0hAZGYlGjRpBo9HAx8cHQ4cOLXe8RFLhJTAiCTz++OM4deoUvvvuO3z88cdwd3cHAHh4eJjKbNu2Dd9//z0mTZoEd3d3BAYGAgA++eQTPPbYYxg9ejT0ej1Wr16NJ598Er/88gsGDx5819eePHkyXFxcMGvWLFy4cAGxsbGYNGkS1qxZc8fttm7dinPnziEyMhLe3t44duwYvvzySxw7dgx79uyBTCYDAKSkpKB79+7Izs7G+PHj0apVK1y5cgXr1q1DQUEB1Go18vLy0Lt3b5w4cQLPP/88unTpgszMTGzcuBGXL182nQ9LZGVlYeDAgRg5ciSeffZZeHl5ARADhb29PaKiomBvb49t27YhOjoaOp0OH330kdnxPfroo/Dx8cGUKVPg7e2NEydO4JdffsGUKVPwxBNPYOLEiVi1ahU6d+5s9tqrVq1C37594efnV2n9/v33X+zatQsjR45Eo0aNcOHCBSxevBh9+/bF8ePHYWtra1a+Ku9TdHQ05s6di0GDBmHQoEFITEzEI488YhY0LXHs2DH07t0bjo6OeOONN6BSqfDFF1+gb9+++OuvvxASEgJADPAxMTF44YUX0L17d+h0Ouzbtw+JiYno378/AGDEiBE4duwYJk+ejMDAQGRkZGDr1q1ITk42/VsmkpRARJL46KOPBADC+fPnyz0HQJDL5cKxY8fKPVdQUGD2WK/XC+3atRMefvhhs/UBAQHCmDFjTI+XL18uABDCwsIEo9FoWv/KK68ICoVCyM7OvmN9b39dQRCE7777TgAg7Nixw7QuIiJCkMvlwr///luufNnrRkdHCwCE9evXV1qmrL63n58///xTACD8+eefpnUPPvigAECIi4urUr3/85//CLa2tkJRUZEgCIJQWloqBAUFCQEBAcL169crrI8gCMKoUaMEX19fwWAwmNYlJiYKAITly5eXe5271WP37t0CAOHrr782ravq+5SRkSGo1Wph8ODBZuXeeustAYDZe18ZAMKsWbNMj4cNGyao1Wrh7NmzpnUpKSmCg4OD0KdPH9O6jh07CoMHD650v9evXxcACB999NFd60AkFV4CI6qjHnzwQbRp06bcehsbG9Pv169fR05ODnr37o3ExMQq7Xf8+PGm1hoA6N27NwwGAy5evHjH7W593aKiImRmZuKBBx4AANNrG41GbNiwAUOGDEHXrl3L7aPsdX/44Qd07NgRw4cPr7SMpTQaDSIjI+9Y79zcXGRmZqJ3794oKCjAyZMnAYiXfc6fP4+pU6eW65B+a30iIiKQkpKC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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [ + "y_pred" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "3LFuIVk1-3YJ", + "outputId": "3190335c-c677-4497-bda2-1e198c4dfc00" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "array([[ 0.09785646],\n", + " [ 0.06323075],\n", + " [ 0.24745263],\n", + " ...,\n", + " [ 0.6017957 ],\n", + " [-0.08664554],\n", + " [ 0.22281836]], dtype=float32)" + ] + }, + "metadata": {}, + "execution_count": 89 + } + ] + }, + { + "cell_type": "code", + "source": [ + "y_pred = (y_pred > 0.5)\n", + "conf_matrix = confusion_matrix(y_pred, y_test)\n", + "\n", + "print(conf_matrix)\n", + "print(classification_report(y_pred, y_test))" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "sSl9Sb51-3Vu", + "outputId": "c0a4d0cb-0502-4453-c253-fc9328d49f22" + }, + "execution_count": null, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "[[1566 303]\n", + " [ 41 90]]\n", + " precision recall f1-score support\n", + "\n", + " False 0.97 0.84 0.90 1869\n", + " True 0.23 0.69 0.34 131\n", + "\n", + " accuracy 0.83 2000\n", + " macro avg 0.60 0.76 0.62 2000\n", + "weighted avg 0.93 0.83 0.86 2000\n", + "\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "yxBtVNp13al8" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "YtJTR9cI3rF8" + }, + "execution_count": null, + "outputs": [] + }, + { + "cell_type": "code", + "source": [ + "model = Sequential()\n", + "rbflayer = RBFLayer(12,\n", + " initializer=InitCentersKMeans(X_train),\n", + " betas=3.0,\n", + " input_shape=(12,))\n", + "\n", + "model.add(rbflayer)\n", + "model.add(Dense(1))\n", + "model.add(Activation('linear'))\n", + "model.compile(loss='binary_crossentropy',\n", + " optimizer=RMSprop(), metrics=['accuracy'])\n", + "print(model.summary())\n", + "history1 = model.fit(X_train, y_train, epochs=100, batch_size=32, validation_data= [X_test, y_test])\n", + "\n", + "y_pred = model.predict(X_test)\n", + "y_pred = (y_pred > 0.5)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "gLxCFig43rIL", + "outputId": "8906456f-6dbe-441f-fd4e-32cf3c803ebf" + }, + "execution_count": 10, + "outputs": [ + { + "output_type": "stream", + "name": "stderr", + "text": [ + "/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarning: The default value of `n_init` will change from 10 to 'auto' in 1.4. Set the value of `n_init` explicitly to suppress the warning\n", + " warnings.warn(\n" + ] + }, + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Model: \"sequential_1\"\n", + "_________________________________________________________________\n", + " Layer (type) Output Shape Param # \n", + "=================================================================\n", + " rbf_layer_1 (RBFLayer) (None, 12) 156 \n", + " \n", + " dense_1 (Dense) (None, 1) 13 \n", + " \n", + " activation_1 (Activation) (None, 1) 0 \n", + " \n", + "=================================================================\n", + "Total params: 169 (676.00 Byte)\n", + "Trainable params: 169 (676.00 Byte)\n", + "Non-trainable params: 0 (0.00 Byte)\n", + "_________________________________________________________________\n", + "None\n", + "Epoch 1/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.8177 - accuracy: 0.7945 - val_loss: 0.4955 - val_accuracy: 0.8035\n", + "Epoch 2/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.5090 - accuracy: 0.7949 - val_loss: 0.4718 - val_accuracy: 0.8015\n", + "Epoch 3/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4902 - accuracy: 0.7965 - val_loss: 0.4640 - val_accuracy: 0.8030\n", + "Epoch 4/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4830 - accuracy: 0.7964 - val_loss: 0.4599 - val_accuracy: 0.8045\n", + "Epoch 5/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4812 - accuracy: 0.7971 - val_loss: 0.4572 - val_accuracy: 0.8050\n", + "Epoch 6/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4771 - accuracy: 0.7979 - val_loss: 0.4551 - val_accuracy: 0.8055\n", + "Epoch 7/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4742 - accuracy: 0.7983 - val_loss: 0.4535 - val_accuracy: 0.8055\n", + "Epoch 8/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4731 - accuracy: 0.7987 - val_loss: 0.4516 - val_accuracy: 0.8055\n", + "Epoch 9/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4710 - accuracy: 0.7993 - val_loss: 0.4510 - val_accuracy: 0.8055\n", + "Epoch 10/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4703 - accuracy: 0.8010 - val_loss: 0.4489 - val_accuracy: 0.8050\n", + "Epoch 11/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4714 - accuracy: 0.8012 - val_loss: 0.4475 - val_accuracy: 0.8055\n", + "Epoch 12/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4684 - accuracy: 0.8011 - val_loss: 0.4519 - val_accuracy: 0.8060\n", + "Epoch 13/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4656 - accuracy: 0.8020 - val_loss: 0.4501 - val_accuracy: 0.8060\n", + "Epoch 14/100\n", + "250/250 [==============================] - 1s 5ms/step - loss: 0.4656 - accuracy: 0.8029 - val_loss: 0.4491 - val_accuracy: 0.8070\n", + "Epoch 15/100\n", + "250/250 [==============================] - 2s 6ms/step - loss: 0.4602 - accuracy: 0.8027 - val_loss: 0.4474 - val_accuracy: 0.8080\n", + "Epoch 16/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4592 - accuracy: 0.8040 - val_loss: 0.4461 - val_accuracy: 0.8090\n", + "Epoch 17/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4554 - accuracy: 0.8058 - val_loss: 0.4437 - val_accuracy: 0.8095\n", + "Epoch 18/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4563 - accuracy: 0.8058 - val_loss: 0.4428 - val_accuracy: 0.8110\n", + "Epoch 19/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4526 - accuracy: 0.8081 - val_loss: 0.4423 - val_accuracy: 0.8105\n", + "Epoch 20/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4503 - accuracy: 0.8076 - val_loss: 0.4400 - val_accuracy: 0.8125\n", + "Epoch 21/100\n", + "250/250 [==============================] - 1s 4ms/step - loss: 0.4503 - accuracy: 0.8098 - val_loss: 0.4387 - val_accuracy: 0.8120\n", + "Epoch 22/100\n", + "250/250 [==============================] - 1s 4ms/step - loss: 0.4459 - accuracy: 0.8101 - val_loss: 0.4380 - val_accuracy: 0.8135\n", + "Epoch 23/100\n", + "250/250 [==============================] - 1s 4ms/step - loss: 0.4491 - accuracy: 0.8121 - val_loss: 0.4373 - val_accuracy: 0.8150\n", + "Epoch 24/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4461 - accuracy: 0.8120 - val_loss: 0.4377 - val_accuracy: 0.8140\n", + "Epoch 25/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4458 - accuracy: 0.8125 - val_loss: 0.4359 - val_accuracy: 0.8160\n", + "Epoch 26/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4442 - accuracy: 0.8130 - val_loss: 0.4361 - val_accuracy: 0.8175\n", + "Epoch 27/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4444 - accuracy: 0.8131 - val_loss: 0.4336 - val_accuracy: 0.8170\n", + "Epoch 28/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4454 - accuracy: 0.8142 - val_loss: 0.4329 - val_accuracy: 0.8170\n", + "Epoch 29/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4476 - accuracy: 0.8151 - val_loss: 0.4329 - val_accuracy: 0.8190\n", + "Epoch 30/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4426 - accuracy: 0.8171 - val_loss: 0.4322 - val_accuracy: 0.8195\n", + "Epoch 31/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4440 - accuracy: 0.8160 - val_loss: 0.4333 - val_accuracy: 0.8190\n", + "Epoch 32/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4441 - accuracy: 0.8159 - val_loss: 0.4303 - val_accuracy: 0.8200\n", + "Epoch 33/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4404 - accuracy: 0.8167 - val_loss: 0.4300 - val_accuracy: 0.8225\n", + "Epoch 34/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4450 - accuracy: 0.8181 - val_loss: 0.4332 - val_accuracy: 0.8195\n", + "Epoch 35/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4454 - accuracy: 0.8165 - val_loss: 0.4338 - val_accuracy: 0.8210\n", + "Epoch 36/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4439 - accuracy: 0.8181 - val_loss: 0.4396 - val_accuracy: 0.8185\n", + "Epoch 37/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4483 - accuracy: 0.8177 - val_loss: 0.4392 - val_accuracy: 0.8215\n", + "Epoch 38/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4439 - accuracy: 0.8185 - val_loss: 0.4324 - val_accuracy: 0.8220\n", + "Epoch 39/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4450 - accuracy: 0.8190 - val_loss: 0.4426 - val_accuracy: 0.8215\n", + "Epoch 40/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4449 - accuracy: 0.8186 - val_loss: 0.4360 - val_accuracy: 0.8220\n", + "Epoch 41/100\n", + "250/250 [==============================] - 1s 4ms/step - loss: 0.4425 - accuracy: 0.8196 - val_loss: 0.4458 - val_accuracy: 0.8220\n", + "Epoch 42/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4432 - accuracy: 0.8194 - val_loss: 0.4405 - val_accuracy: 0.8235\n", + "Epoch 43/100\n", + "250/250 [==============================] - 1s 4ms/step - loss: 0.4439 - accuracy: 0.8204 - val_loss: 0.4387 - val_accuracy: 0.8235\n", + "Epoch 44/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4450 - accuracy: 0.8202 - val_loss: 0.4384 - val_accuracy: 0.8245\n", + "Epoch 45/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4428 - accuracy: 0.8194 - val_loss: 0.4382 - val_accuracy: 0.8230\n", + "Epoch 46/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4453 - accuracy: 0.8202 - val_loss: 0.4319 - val_accuracy: 0.8255\n", + "Epoch 47/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4449 - accuracy: 0.8204 - val_loss: 0.4383 - val_accuracy: 0.8235\n", + "Epoch 48/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4458 - accuracy: 0.8216 - val_loss: 0.4363 - val_accuracy: 0.8235\n", + "Epoch 49/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4460 - accuracy: 0.8211 - val_loss: 0.4363 - val_accuracy: 0.8220\n", + "Epoch 50/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4489 - accuracy: 0.8215 - val_loss: 0.4406 - val_accuracy: 0.8275\n", + "Epoch 51/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4504 - accuracy: 0.8238 - val_loss: 0.4317 - val_accuracy: 0.8265\n", + "Epoch 52/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4445 - accuracy: 0.8232 - val_loss: 0.4354 - val_accuracy: 0.8245\n", + "Epoch 53/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4486 - accuracy: 0.8223 - val_loss: 0.4393 - val_accuracy: 0.8250\n", + "Epoch 54/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4467 - accuracy: 0.8230 - val_loss: 0.4426 - val_accuracy: 0.8240\n", + "Epoch 55/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4495 - accuracy: 0.8227 - val_loss: 0.4439 - val_accuracy: 0.8245\n", + "Epoch 56/100\n", + "250/250 [==============================] - 1s 3ms/step - loss: 0.4482 - accuracy: 0.8229 - val_loss: 0.4340 - val_accuracy: 0.8205\n", + "Epoch 57/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4477 - accuracy: 0.8236 - val_loss: 0.4314 - val_accuracy: 0.8225\n", + "Epoch 58/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4513 - accuracy: 0.8230 - val_loss: 0.4372 - val_accuracy: 0.8240\n", + "Epoch 59/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4480 - accuracy: 0.8232 - val_loss: 0.4322 - val_accuracy: 0.8235\n", + "Epoch 60/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4475 - accuracy: 0.8244 - val_loss: 0.4467 - val_accuracy: 0.8275\n", + "Epoch 61/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4552 - accuracy: 0.8235 - val_loss: 0.4354 - val_accuracy: 0.8265\n", + "Epoch 62/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4520 - accuracy: 0.8242 - val_loss: 0.4437 - val_accuracy: 0.8295\n", + "Epoch 63/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4566 - accuracy: 0.8248 - val_loss: 0.4355 - val_accuracy: 0.8255\n", + "Epoch 64/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4555 - accuracy: 0.8257 - val_loss: 0.4495 - val_accuracy: 0.8275\n", + "Epoch 65/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4503 - accuracy: 0.8248 - val_loss: 0.4276 - val_accuracy: 0.8265\n", + "Epoch 66/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4500 - accuracy: 0.8250 - val_loss: 0.4359 - val_accuracy: 0.8285\n", + "Epoch 67/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4470 - accuracy: 0.8246 - val_loss: 0.4341 - val_accuracy: 0.8270\n", + "Epoch 68/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4492 - accuracy: 0.8244 - val_loss: 0.4348 - val_accuracy: 0.8270\n", + "Epoch 69/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4476 - accuracy: 0.8244 - val_loss: 0.4350 - val_accuracy: 0.8265\n", + "Epoch 70/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4497 - accuracy: 0.8248 - val_loss: 0.4297 - val_accuracy: 0.8265\n", + "Epoch 71/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4548 - accuracy: 0.8250 - val_loss: 0.4324 - val_accuracy: 0.8255\n", + "Epoch 72/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4550 - accuracy: 0.8241 - val_loss: 0.4335 - val_accuracy: 0.8240\n", + "Epoch 73/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4499 - accuracy: 0.8253 - val_loss: 0.4385 - val_accuracy: 0.8245\n", + "Epoch 74/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4509 - accuracy: 0.8274 - val_loss: 0.4333 - val_accuracy: 0.8265\n", + "Epoch 75/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4505 - accuracy: 0.8257 - val_loss: 0.4415 - val_accuracy: 0.8240\n", + "Epoch 76/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4509 - accuracy: 0.8266 - val_loss: 0.4378 - val_accuracy: 0.8275\n", + "Epoch 77/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4616 - accuracy: 0.8281 - val_loss: 0.4332 - val_accuracy: 0.8240\n", + "Epoch 78/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4598 - accuracy: 0.8263 - val_loss: 0.4365 - val_accuracy: 0.8255\n", + "Epoch 79/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4519 - accuracy: 0.8263 - val_loss: 0.4240 - val_accuracy: 0.8280\n", + "Epoch 80/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4470 - accuracy: 0.8271 - val_loss: 0.4309 - val_accuracy: 0.8250\n", + "Epoch 81/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4562 - accuracy: 0.8264 - val_loss: 0.4273 - val_accuracy: 0.8250\n", + "Epoch 82/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4535 - accuracy: 0.8280 - val_loss: 0.4306 - val_accuracy: 0.8285\n", + "Epoch 83/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4554 - accuracy: 0.8265 - val_loss: 0.4351 - val_accuracy: 0.8270\n", + "Epoch 84/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4584 - accuracy: 0.8282 - val_loss: 0.4322 - val_accuracy: 0.8255\n", + "Epoch 85/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4625 - accuracy: 0.8269 - val_loss: 0.4368 - val_accuracy: 0.8265\n", + "Epoch 86/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4516 - accuracy: 0.8261 - val_loss: 0.4568 - val_accuracy: 0.8290\n", + "Epoch 87/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4536 - accuracy: 0.8280 - val_loss: 0.4377 - val_accuracy: 0.8280\n", + "Epoch 88/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4513 - accuracy: 0.8284 - val_loss: 0.4314 - val_accuracy: 0.8290\n", + "Epoch 89/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4530 - accuracy: 0.8284 - val_loss: 0.4321 - val_accuracy: 0.8255\n", + "Epoch 90/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4531 - accuracy: 0.8271 - val_loss: 0.4413 - val_accuracy: 0.8290\n", + "Epoch 91/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4562 - accuracy: 0.8271 - val_loss: 0.4726 - val_accuracy: 0.8285\n", + "Epoch 92/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4580 - accuracy: 0.8286 - val_loss: 0.4283 - val_accuracy: 0.8310\n", + "Epoch 93/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4536 - accuracy: 0.8281 - val_loss: 0.4438 - val_accuracy: 0.8285\n", + "Epoch 94/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4555 - accuracy: 0.8284 - val_loss: 0.4383 - val_accuracy: 0.8330\n", + "Epoch 95/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4585 - accuracy: 0.8274 - val_loss: 0.4528 - val_accuracy: 0.8290\n", + "Epoch 96/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4634 - accuracy: 0.8289 - val_loss: 0.4406 - val_accuracy: 0.8260\n", + "Epoch 97/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4554 - accuracy: 0.8290 - val_loss: 0.4343 - val_accuracy: 0.8280\n", + "Epoch 98/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4517 - accuracy: 0.8294 - val_loss: 0.4340 - val_accuracy: 0.8285\n", + "Epoch 99/100\n", + "250/250 [==============================] - 1s 2ms/step - loss: 0.4604 - accuracy: 0.8296 - val_loss: 0.4593 - val_accuracy: 0.8290\n", + "Epoch 100/100\n", + "250/250 [==============================] - 0s 2ms/step - loss: 0.4636 - accuracy: 0.8301 - val_loss: 0.4568 - val_accuracy: 0.8300\n", + "63/63 [==============================] - 0s 1ms/step\n" + ] + } + ] + }, + { + "cell_type": "code", + "source": [ + "from matplotlib import pyplot as plt\n", + "plt.plot(history1.history['loss'])\n", + "plt.plot(history1.history['val_loss'])\n", + "plt.title('model loss')\n", + "plt.ylabel('loss')\n", + "plt.xlabel('epoch')\n", + "plt.legend(['train', 'val'], loc='upper left')\n", + "plt.show()" + ], + "metadata": { + "id": "oY2tjv95ppj6", + "colab": { + "base_uri": "https://localhost:8080/", + "height": 472 + }, + "outputId": "cc3adc20-1244-4aad-852e-37c539c06618" + }, + "execution_count": 11, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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tcWe4+joiCZNmuDChQultkWn00Gn01XwTCpGrVIgX8/lMIiIiOQgWxeYVqtF27ZtER4ebtpmMBgQHh6O4ODgEp/TqVMnXLhwAYbbho6fO3cOHh4eJQY/AJCZmYmLFy/Cw8Ojak+gkoomQ2QXGBERkaXJOg9QWFgYfvjhByxbtgyRkZEYN24csrKyTKPChg8fjilTppj2HzduHG7cuIE333wT586dw/r16zF79myMHz/etM+kSZOwY8cOXL58GXv37kX//v2hUqkwePBgi5/f3RgLoVkETUREZHmy1gANHDgQSUlJmDZtGhISEtCqVSts3LjRVBgdExMD5W1z5nh7e+O///7DxIkTERAQAC8vL7z55pt49913TftcvXoVgwcPRkpKClxcXNC5c2fs27cPLi4uFj+/u1GrxHlxGDwREZHlKSRJ4ifwHdLT0+Hg4IC0tDTY29tXy2sEzwlHfFou/nmtM1rWdaiW1yAiIqpJyvP5LftSGDWVcUX4AtYAERERWRwDIJmob3XtsQaIiIjI8hgAycRYBF3AiRCJiIgsjgGQTFQcBUZERCQbBkAyMdYAcSZoIiIiy2MAJBNjDRBngiYiIrI8BkAyKZoIkTVARERElsYASCamYfDMABEREVlchQKgZcuWYf369ab777zzDhwdHdGxY0dcuXKlyhr3MOMweCIiIvlUKACaPXs2rK2tAQARERFYsGABPvvsMzg7O2PixIlV2sCHFYugiYiI5FOhtcBiY2PRqFEjAMDq1avx7LPPYuzYsejUqRO6du1ale17aBlrgAo5DxAREZHFVSgDZGdnh5SUFADApk2b0L17dwCAlZUVcnJyqq51DzHjPEDMABEREVlehTJA3bt3x+jRo9G6dWucO3cOTz31FADg9OnT8PHxqcr2PbSMq8EzA0RERGR5FcoALViwAMHBwUhKSsJff/2FOnXqAAAOHz6MwYMHV2kDH1ZqZoCIiIhkU6EMkKOjI7755pti22fMmFHpBtUUpokQGQARERFZXIUyQBs3bsTu3btN9xcsWIBWrVphyJAhuHnzZpU17mGm5lpgREREsqlQAPT2228jPT0dAHDy5Em89dZbeOqppxAdHY2wsLAqbeDDSmUcBs+JEImIiCyuQl1g0dHR8Pf3BwD89ddf6N27N2bPno0jR46YCqLp7jSmGiAWQRMREVlahTJAWq0W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\n" + }, + "metadata": {} + } + ] + }, + { + "cell_type": "code", + "source": [], + "metadata": { + "id": "U6vJryAW4qWl" + }, + "execution_count": null, + "outputs": [] + } + ] +} \ No newline at end of file diff --git a/RBF_neuralNetwork_updated.py b/RBF_neuralNetwork_updated.py new file mode 100644 index 0000000..40a839e --- /dev/null +++ b/RBF_neuralNetwork_updated.py @@ -0,0 +1,124 @@ +# -*- coding: utf-8 -*- +""" +MIT Licence + +Zoghbi Abderraouf +Change data to your location +""" + +from keras import backend as K +from keras.layers import Layer +from keras.initializers import RandomUniform, Initializer, Constant +import numpy as np + + +class InitCentersRandom(Initializer): + """ Initializer for initialization of centers of RBF network + as random samples from the given data set. + # Arguments + X: matrix, dataset to choose the centers from (random rows + are taken as centers) + """ + + def __init__(self, X): + self.X = X + + def __call__(self, shape, dtype=None): + assert shape[1] == self.X.shape[1] + idx = np.random.randint(self.X.shape[0], size=shape[0]) + return self.X[idx, :] + + +class RBFLayer(Layer): + """ Layer of Gaussian RBF units. + # Example + ```python + model = Sequential() + model.add(RBFLayer(10, + initializer=InitCentersRandom(X), + betas=1.0, + input_shape=(1,))) + model.add(Dense(1)) + ``` + # Arguments + output_dim: number of hidden units (i.e. number of outputs of the + layer) + initializer: instance of initiliazer to initialize centers + betas: float, initial value for betas + """ + + def __init__(self, output_dim, initializer=None, betas=1.0, **kwargs): + self.output_dim = output_dim + self.init_betas = betas + if not initializer: + self.initializer = RandomUniform(0.0, 1.0) + else: + self.initializer = initializer + super(RBFLayer, self).__init__(**kwargs) + + def build(self, input_shape): + + self.centers = self.add_weight(name='centers', + shape=(self.output_dim, input_shape[1]), + initializer=self.initializer, + trainable=True) + self.betas = self.add_weight(name='betas', + shape=(self.output_dim,), + initializer=Constant( + value=self.init_betas), + # initializer='ones', + trainable=True) + + super(RBFLayer, self).build(input_shape) + + def call(self, x): + + C = K.expand_dims(self.centers) + H = K.transpose(C-K.transpose(x)) + return K.exp(-self.betas * K.sum(H**2, axis=1)) + + # C = self.centers[np.newaxis, :, :] + # X = x[:, np.newaxis, :] + + # diffnorm = K.sum((C-X)**2, axis=-1) + # ret = K.exp( - self.betas * diffnorm) + # return ret + + def compute_output_shape(self, input_shape): + return (input_shape[0], self.output_dim) + + def get_config(self): + # have to define get_config to be able to use model_from_json + config = { + 'output_dim': self.output_dim + } + base_config = super(RBFLayer, self).get_config() + return dict(list(base_config.items()) + list(config.items())) + +from keras.initializers import Initializer +from sklearn.cluster import KMeans + + +class InitCentersKMeans(Initializer): + """ Initializer for initialization of centers of RBF network + by clustering the given data set. + # Arguments + X: matrix, dataset + """ + + def __init__(self, X, max_iter=100): + self.X = X + self.max_iter = max_iter + + def __call__(self, shape, dtype=None): + assert shape[1] == self.X.shape[1] + + n_centers = shape[0] + km = KMeans(n_clusters=n_centers, max_iter=self.max_iter, verbose=0) + km.fit(self.X) + return km.cluster_centers_ + + + + +