diff --git a/your-code/bonus.ipynb b/your-code/bonus.ipynb
index 92e4a72..033ebcb 100644
--- a/your-code/bonus.ipynb
+++ b/your-code/bonus.ipynb
@@ -144,9 +144,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.3"
+ "version": "3.8.5"
}
},
"nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
}
diff --git a/your-code/challenge-1.ipynb b/your-code/challenge-1.ipynb
index 2487c5f..db7cf6c 100644
--- a/your-code/challenge-1.ipynb
+++ b/your-code/challenge-1.ipynb
@@ -34,11 +34,512 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
- "# your code here"
+ "import pandas as pd"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# your code here\n",
+ "df = pd.read_csv('tic-tac-toe.csv')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "TL object\n",
+ "TM object\n",
+ "TR object\n",
+ "ML object\n",
+ "MM object\n",
+ "MR object\n",
+ "BL object\n",
+ "BM object\n",
+ "BR object\n",
+ "class bool\n",
+ "dtype: object"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.dtypes"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " TL | \n",
+ " TM | \n",
+ " TR | \n",
+ " ML | \n",
+ " MM | \n",
+ " MR | \n",
+ " BL | \n",
+ " BM | \n",
+ " BR | \n",
+ " class | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " o | \n",
+ " o | \n",
+ " x | \n",
+ " o | \n",
+ " o | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " o | \n",
+ " o | \n",
+ " o | \n",
+ " x | \n",
+ " o | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " o | \n",
+ " o | \n",
+ " o | \n",
+ " o | \n",
+ " x | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " o | \n",
+ " o | \n",
+ " o | \n",
+ " b | \n",
+ " b | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " x | \n",
+ " o | \n",
+ " o | \n",
+ " b | \n",
+ " o | \n",
+ " b | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TL TM TR ML MM MR BL BM BR class\n",
+ "0 x x x x o o x o o True\n",
+ "1 x x x x o o o x o True\n",
+ "2 x x x x o o o o x True\n",
+ "3 x x x x o o o b b True\n",
+ "4 x x x x o o b o b True"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_x = df.drop(columns='class')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_y = df['class']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ ":1: SettingWithCopyWarning: \n",
+ "A value is trying to be set on a copy of a slice from a DataFrame\n",
+ "\n",
+ "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
+ " df_y['target'] =[1 if i is True else 0 for i in df['class']]\n"
+ ]
+ }
+ ],
+ "source": [
+ "df_y['target'] =[1 if i is True else 0 for i in df['class']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Index(['TL', 'TM', 'TR', 'ML', 'MM', 'MR', 'BL', 'BM', 'BR'], dtype='object')"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_x.columns"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn import preprocessing \n",
+ "label = preprocessing.LabelEncoder()\n",
+ "\n",
+ "# Assigning numerical values and storing in another column\n",
+ "for x in df_x.columns:\n",
+ " label.fit(df_x[x])\n",
+ " df_x[x] = label.transform(df_x[x])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " TL | \n",
+ " TM | \n",
+ " TR | \n",
+ " ML | \n",
+ " MM | \n",
+ " MR | \n",
+ " BL | \n",
+ " BM | \n",
+ " BR | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 953 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 954 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 955 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 956 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 957 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
958 rows × 9 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " TL TM TR ML MM MR BL BM BR\n",
+ "0 2 2 2 2 1 1 2 1 1\n",
+ "1 2 2 2 2 1 1 1 2 1\n",
+ "2 2 2 2 2 1 1 1 1 2\n",
+ "3 2 2 2 2 1 1 1 0 0\n",
+ "4 2 2 2 2 1 1 0 1 0\n",
+ ".. .. .. .. .. .. .. .. .. ..\n",
+ "953 1 2 2 2 1 1 1 2 2\n",
+ "954 1 2 1 2 2 1 2 1 2\n",
+ "955 1 2 1 2 1 2 2 1 2\n",
+ "956 1 2 1 1 2 2 2 1 2\n",
+ "957 1 1 2 2 2 1 1 2 2\n",
+ "\n",
+ "[958 rows x 9 columns]"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_x"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_y = df_y['target']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.preprocessing import StandardScaler"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "scaler = StandardScaler()\n",
+ "df_x2 = scaler.fit_transform(df_x)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "array([[ 1.00322257, 1.08495342, 1.00322257, ..., 1.00322257,\n",
+ " -0.16731812, -0.28682739],\n",
+ " [ 1.00322257, 1.08495342, 1.00322257, ..., -0.28682739,\n",
+ " 1.08495342, -0.28682739],\n",
+ " [ 1.00322257, 1.08495342, 1.00322257, ..., -0.28682739,\n",
+ " -0.16731812, 1.00322257],\n",
+ " ...,\n",
+ " [-0.28682739, 1.08495342, -0.28682739, ..., 1.00322257,\n",
+ " -0.16731812, 1.00322257],\n",
+ " [-0.28682739, 1.08495342, -0.28682739, ..., 1.00322257,\n",
+ " -0.16731812, 1.00322257],\n",
+ " [-0.28682739, -0.16731812, 1.00322257, ..., -0.28682739,\n",
+ " 1.08495342, 1.00322257]])"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_x2"
]
},
{
@@ -60,11 +561,881 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 15,
"metadata": {},
"outputs": [],
"source": [
- "# your code here"
+ "# your code here\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "\n",
+ "X_train, X_test, y_train, y_test = train_test_split(df_x2, df_y, test_size =0.2, random_state=0)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 1,\n",
+ " 0,\n",
+ " 0,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0,\n",
+ " 1,\n",
+ " 0]"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "y_train"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from sklearn.exceptions import ConvergenceWarning\n",
+ "\n",
+ "# MLP classifiers is a deep learning method that relies on an underlying Neural Network to perform the task of classification.\n",
+ "\n",
+ "from sklearn.neural_network import MLPClassifier"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "modeltic = MLPClassifier(hidden_layer_sizes= (40,80,200) ,max_iter=200, alpha=1e-4,\n",
+ " solver='sgd', verbose=10, random_state=1,\n",
+ " learning_rate_init=.5)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Iteration 1, loss = 0.68769328\n",
+ "Iteration 2, loss = 0.60252996\n",
+ "Iteration 3, loss = 0.57637062\n",
+ "Iteration 4, loss = 0.54134144\n",
+ "Iteration 5, loss = 0.48215865\n",
+ "Iteration 6, loss = 0.67715806\n",
+ "Iteration 7, loss = 0.52238327\n",
+ "Iteration 8, loss = 0.43673264\n",
+ "Iteration 9, loss = 0.33184606\n",
+ "Iteration 10, loss = 0.20857894\n",
+ "Iteration 11, loss = 0.77441583\n",
+ "Iteration 12, loss = 0.27238008\n",
+ "Iteration 13, loss = 0.17069597\n",
+ "Iteration 14, loss = 0.09593033\n",
+ "Iteration 15, loss = 0.04732005\n",
+ "Iteration 16, loss = 0.02361511\n",
+ "Iteration 17, loss = 0.01250102\n",
+ "Iteration 18, loss = 0.00619385\n",
+ "Iteration 19, loss = 0.00341516\n",
+ "Iteration 20, loss = 0.00213685\n",
+ "Iteration 21, loss = 0.00147934\n",
+ "Iteration 22, loss = 0.00111550\n",
+ "Iteration 23, loss = 0.00088696\n",
+ "Iteration 24, loss = 0.00073755\n",
+ "Iteration 25, loss = 0.00064388\n",
+ "Iteration 26, loss = 0.00057676\n",
+ "Iteration 27, loss = 0.00052795\n",
+ "Iteration 28, loss = 0.00048895\n",
+ "Iteration 29, loss = 0.00046057\n",
+ "Iteration 30, loss = 0.00043602\n",
+ "Iteration 31, loss = 0.00041532\n",
+ "Iteration 32, loss = 0.00039874\n",
+ "Iteration 33, loss = 0.00038320\n",
+ "Iteration 34, loss = 0.00036979\n",
+ "Iteration 35, loss = 0.00035788\n",
+ "Training loss did not improve more than tol=0.000100 for 10 consecutive epochs. Stopping.\n",
+ "Training set score: 1.000000\n",
+ "Test set score: 0.994792\n"
+ ]
+ }
+ ],
+ "source": [
+ "modeltic = modeltic.fit(X_train, y_train)\n",
+ "\n",
+ "print(\"Training set score: %f\" % modeltic.score(X_train, y_train))\n",
+ "print(\"Test set score: %f\" % modeltic.score(X_test, y_test))"
]
},
{
@@ -78,11 +1449,176 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
- "# your code here"
+ "# your code here\n",
+ "\n",
+ "predictions = modeltic.predict(df_x2)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "predictions = pd.DataFrame(predictions)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 953 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 954 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 955 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 956 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 957 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
958 rows × 1 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0\n",
+ "0 1\n",
+ "1 1\n",
+ "2 1\n",
+ "3 1\n",
+ "4 1\n",
+ ".. ..\n",
+ "953 0\n",
+ "954 0\n",
+ "955 0\n",
+ "956 0\n",
+ "957 0\n",
+ "\n",
+ "[958 rows x 1 columns]"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predictions"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_y = pd.DataFrame(df_y)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "predictions['check']=df_y"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "predictions['check2'] = predictions[0] == predictions['check']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "True 957\n",
+ "False 1\n",
+ "Name: check2, dtype: int64"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "predictions['check2'].value_counts()"
]
},
{
@@ -104,13 +1640,46 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 27,
"metadata": {},
"outputs": [],
"source": [
"# your code here"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "ModuleNotFoundError",
+ "evalue": "No module named 'keras'",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)",
+ "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mkeras\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mks\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mmodels\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mSequential\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlayers\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mDense\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0mkeras\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mutils\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mto_categorical\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'keras'"
+ ]
+ }
+ ],
+ "source": [
+ "import keras as ks\n",
+ "from keras.models import Sequential\n",
+ "from keras.layers import Dense\n",
+ "from keras.utils import to_categorical"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "opt = df_x2.keras.optimizers.Adam(learning_rate=0.1)"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -144,9 +1713,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.3"
+ "version": "3.8.5"
}
},
"nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
}