{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**This notebook implements a one-dimensional GAN which generates the output of a cubic function**" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The function below generates n samples of the cubic function, the domain of the function is chosen to be n random integers in the range -0.5 to 0.5. The function returns a two dimensional vector(inputs in the first column and outputs in the second) and a one dimensional vector of class labels( in this case, 1)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/var/folders/qv/zzgcbq096_v04lckg4gc06280000gn/T/ipykernel_9938/1884976865.py:6: FutureWarning: In a future version of pandas all arguments of concat except for the argument 'objs' will be keyword-only.\n", " dfs = pd.concat([df.Name,dfs],1)\n" ] } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "df = pd.read_csv('/Users/apsys/Downloads/hetfit2/data/dataset.csv')\n", "dfs = df.drop(\"Name\",axis=1)\n", "dfs = (dfs-dfs.min())/(dfs.max()-dfs.min())\n", "dfs = pd.concat([df.Name,dfs],1)\n", "def generate_real_samples(n):\n", " '''generate n real samples with class labels'''\n", " x1 = np.random.rand(n) - 0.5 #generate a random number between [-0.5,0.5]\n", " x2 = x1**3 #generate outputs\n", " x1 = x1.reshape(n, 1)\n", " x2 = x2.reshape(n, 1)\n", " X = np.hstack((x1, x2)) #stack layers\n", " y = np.ones((n, 1)) #generate class label\n", " return X,y" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | Name | \n", "U | \n", "d | \n", "h | \n", "j | \n", "Isp | \n", "nu_t | \n", "T | \n", "m_a | \n", "
---|---|---|---|---|---|---|---|---|---|
0 | \n", "SPT-20 [21] | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "0.166667 | \n", "0.761194 | \n", "0.006383 | \n", "0.000000 | \n", "0.000000 | \n", "
1 | \n", "SPT-25 [22] | \n", "0.062885 | \n", "0.000000 | \n", "0.071429 | \n", "0.166667 | \n", "0.104478 | \n", "0.031915 | \n", "0.020592 | \n", "0.099001 | \n", "
2 | \n", "HET-100 [23] | \n", "0.093711 | \n", "0.375000 | \n", "0.121429 | \n", "0.194444 | \n", "0.238806 | \n", "0.012766 | \n", "0.037323 | \n", "0.496821 | \n", "
3 | \n", "KHT-40 [24] | \n", "0.103730 | \n", "0.453125 | \n", "0.228571 | \n", "0.388889 | \n", "0.567164 | \n", "0.053191 | \n", "0.082368 | \n", "0.617620 | \n", "
4 | \n", "KHT-50 [24] | \n", "0.108354 | \n", "0.218750 | \n", "0.385714 | \n", "0.333333 | \n", "0.552239 | \n", "0.093617 | \n", "0.099099 | \n", "0.454133 | \n", "
5 | \n", "HEPS-200 | \n", "0.109895 | \n", "0.218750 | \n", "0.392857 | \n", "0.361111 | \n", "0.552239 | \n", "0.093617 | \n", "0.093951 | \n", "0.418710 | \n", "
6 | \n", "BHT-200 [2526] | \n", "0.113748 | \n", "0.218750 | \n", "0.085714 | \n", "0.200000 | \n", "0.140299 | \n", "0.106383 | \n", "0.114543 | \n", "0.500454 | \n", "
7 | \n", "KM-32 [27] | \n", "0.125308 | \n", "0.218750 | \n", "0.242857 | \n", "0.277778 | \n", "0.283582 | \n", "0.119149 | \n", "0.106821 | \n", "0.367847 | \n", "
8 | \n", "SPT-50M [28] | \n", "0.148428 | \n", "0.062500 | \n", "0.342857 | \n", "0.500000 | \n", "0.552239 | \n", "0.225532 | \n", "0.155727 | \n", "0.226158 | \n", "
9 | \n", "SPT-30 [23] | \n", "0.158446 | \n", "0.218750 | \n", "0.128571 | \n", "0.222222 | \n", "0.134328 | \n", "0.114894 | \n", "0.119691 | \n", "0.358765 | \n", "
10 | \n", "KM-37 [29] | \n", "0.177713 | \n", "0.350000 | \n", "0.314286 | \n", "0.388889 | \n", "0.328358 | \n", "0.151064 | \n", "0.187902 | \n", "0.727520 | \n", "
11 | \n", "CAM200 [3031] | \n", "0.193896 | \n", "0.296875 | \n", "0.400000 | \n", "0.555556 | \n", "0.522388 | \n", "0.138298 | \n", "0.172458 | \n", "0.679382 | \n", "
12 | \n", "SPT-50 [21] | \n", "0.203915 | \n", "0.375000 | \n", "0.342857 | \n", "0.500000 | \n", "0.552239 | \n", "0.157447 | \n", "0.175032 | \n", "0.823797 | \n", "
13 | \n", "A-3 [21] | \n", "0.209309 | \n", "0.375000 | \n", "0.457143 | \n", "0.611111 | \n", "0.701493 | \n", "0.157447 | \n", "0.181467 | \n", "0.891916 | \n", "
14 | \n", "HEPS-500 | \n", "0.331073 | \n", "0.375000 | \n", "0.492857 | \n", "0.750000 | \n", "0.552239 | \n", "0.261702 | \n", "0.283140 | \n", "0.679382 | \n", "
15 | \n", "BHT-600 [2632] | \n", "0.433570 | \n", "0.375000 | \n", "0.585714 | \n", "0.777778 | \n", "0.761194 | \n", "0.459574 | \n", "0.453024 | \n", "0.627611 | \n", "
16 | \n", "SPT-70 [33] | \n", "0.468249 | \n", "0.375000 | \n", "0.585714 | \n", "0.666667 | \n", "0.552239 | \n", "0.451064 | \n", "0.464607 | \n", "0.684832 | \n", "
17 | \n", "SPT-100 [934] | \n", "1.000000 | \n", "0.375000 | \n", "1.000000 | \n", "0.722222 | \n", "0.552239 | \n", "1.000000 | \n", "1.000000 | \n", "0.636694 | \n", "
18 | \n", "UAH-78AM | \n", "0.360358 | \n", "0.250000 | \n", "0.900000 | \n", "1.000000 | \n", "1.000000 | \n", "0.331915 | \n", "0.335907 | \n", "0.554950 | \n", "
19 | \n", "MaSMi40 | \n", "0.213933 | \n", "0.375000 | \n", "0.357143 | \n", "0.237778 | \n", "0.180896 | \n", "0.225532 | \n", "0.117117 | \n", "0.237057 | \n", "
20 | \n", "MaSMi60 | \n", "0.499075 | \n", "0.218750 | \n", "0.642857 | \n", "0.412222 | \n", "0.373134 | \n", "0.451064 | \n", "0.335907 | \n", "0.418710 | \n", "
21 | \n", "MaSMiDm | \n", "0.730271 | \n", "1.000000 | \n", "0.742857 | \n", "0.472222 | \n", "0.432836 | \n", "0.544681 | \n", "0.631918 | \n", "1.000000 | \n", "
22 | \n", "Music-si | \n", "0.067509 | \n", "0.337500 | \n", "0.042857 | \n", "0.000000 | \n", "0.000000 | \n", "0.000000 | \n", "0.003861 | \n", "0.009991 | \n", "
\n", " | Name | \n", "U | \n", "d | \n", "h | \n", "j | \n", "Isp | \n", "nu_t | \n", "T | \n", "m_a | \n", "
---|---|---|---|---|---|---|---|---|---|
0 | \n", "SPT-20 [21] | \n", "52.400000 | \n", "180.000000 | \n", "15.000000 | \n", "5.000000 | \n", "32.000000 | \n", "0.470000 | \n", "3.900000 | \n", "839.000000 | \n", "
1 | \n", "SPT-25 [22] | \n", "134.000000 | \n", "180.000000 | \n", "20.000000 | \n", "5.000000 | \n", "10.000000 | \n", "0.590000 | \n", "5.500000 | \n", "948.000000 | \n", "
2 | \n", "HET-100 [23] | \n", "174.000000 | \n", "300.000000 | \n", "23.500000 | \n", "5.500000 | \n", "14.500000 | \n", "0.500000 | \n", "6.800000 | \n", "1386.000000 | \n", "
3 | \n", "KHT-40 [24] | \n", "187.000000 | \n", "325.000000 | \n", "31.000000 | \n", "9.000000 | \n", "25.500000 | \n", "0.690000 | \n", "10.300000 | \n", "1519.000000 | \n", "
4 | \n", "KHT-50 [24] | \n", "193.000000 | \n", "250.000000 | \n", "42.000000 | \n", "8.000000 | \n", "25.000000 | \n", "0.880000 | \n", "11.600000 | \n", "1339.000000 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
95 | \n", "NaN | \n", "0.508939 | \n", "-0.354882 | \n", "0.747163 | \n", "0.191082 | \n", "1.318361 | \n", "0.262004 | \n", "0.210962 | \n", "0.839841 | \n", "
96 | \n", "NaN | \n", "-0.127709 | \n", "-0.398011 | \n", "1.063189 | \n", "1.168259 | \n", "1.512382 | \n", "0.259802 | \n", "0.314027 | \n", "0.882875 | \n", "
97 | \n", "NaN | \n", "0.979954 | \n", "-0.023562 | \n", "1.216619 | \n", "0.557483 | \n", "1.534266 | \n", "-0.189749 | \n", "0.736419 | \n", "1.130576 | \n", "
98 | \n", "NaN | \n", "0.027803 | \n", "-0.496064 | \n", "1.156737 | \n", "1.343929 | \n", "1.987885 | \n", "0.098937 | \n", "1.031702 | \n", "0.915652 | \n", "
99 | \n", "NaN | \n", "0.323144 | \n", "-0.311483 | \n", "1.114895 | \n", "1.247261 | \n", "1.822533 | \n", "-0.067361 | \n", "0.989002 | \n", "1.152484 | \n", "
123 rows × 9 columns
\n", "