{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Machine Learning workshop\n", "\n", "In this workshop, we will study GSE53987 dataset on Bipolar disorder (BD) and major depressive disorder (MDD) and schizophrenia. You can download it [here](https://github.com/BRITE-REU/programming-workshops/blob/master/source/workshops/04_Machine_learning/data/GSE53987_combined.csv).\n", "\n", "In total there are 205 rows consisting of 19 individuals diagnosed with BPD, 19 with MDD, 19 schizophrenia and 19 controls. Each sample has gene expression from 3 tissues (post-mortem brain). There are a total of 13768 genes (numeric features) and 10 meta features and 1 ID (GEO sample accession).\n", "\n", "- Age\n", "- Race (W for white and B for black)\n", "- Gender is F for female and M for male\n", "- Ph is the ph of the brain tissue\n", "- Pmi is the post mortal interval\n", "- Rin is the RNA integrity number\n", "- Patient is unique for each patient. Each patient has up to 3 tissue samples. The patient ID is written as disease followed by a number from 1 to 19\n", "- Tissue is the tissue the expression was obtained from.\n", "- Disease.state is the class of disease the patient belongs to: bipolar, schizophrenia, depression or control.\n", "- source.name is the combination of th etissue and disease.state" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# load data (change location if necessary)\n", "data = pd.read_csv(\"../data/GSE53987_combined.csv\", index_col=0)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PatientSource.nameAgeGenderRacePmiPhRinTissueDisease.state...ZSWIM8.AS1ZW10ZWILCHZWINTZXDAZXDBZXDCZYXZZEF1ZZZ3
GSM1304852bipolar_10hippocampus, bipolar disorder52MW23.56.76.3hippocampusBipolar disorder...5.9851636.4283423.9093106.0461754.2775634.1076216.6886517.2289785.8916367.982137
GSM1304853bipolar_11hippocampus, bipolar disorder50FW11.76.46.8hippocampusBipolar disorder...6.1776706.5375074.5529767.3356974.3583754.1328196.4758517.0280545.9054467.891166
GSM1304854bipolar_12hippocampus, bipolar disorder28FW22.36.37.7hippocampusBipolar disorder...5.5443276.7327625.0780117.4702604.4052504.1370286.0201576.8101435.6104227.940210
GSM1304855bipolar_13hippocampus, bipolar disorder55FW17.56.47.6hippocampusBipolar disorder...5.9784666.9138404.8645707.1758614.2065934.0054656.5864256.8185295.7697637.987298
GSM1304856bipolar_14hippocampus, bipolar disorder58MW27.76.87.0hippocampusBipolar disorder...6.1385076.7564354.2035657.0326694.2845134.1281756.6331437.0375045.9263108.002489
\n", "

5 rows × 13778 columns

\n", "
" ], "text/plain": [ " Patient Source.name Age Gender Race Pmi \\\n", "GSM1304852 bipolar_10 hippocampus, bipolar disorder 52 M W 23.5 \n", "GSM1304853 bipolar_11 hippocampus, bipolar disorder 50 F W 11.7 \n", "GSM1304854 bipolar_12 hippocampus, bipolar disorder 28 F W 22.3 \n", "GSM1304855 bipolar_13 hippocampus, bipolar disorder 55 F W 17.5 \n", "GSM1304856 bipolar_14 hippocampus, bipolar disorder 58 M W 27.7 \n", "\n", " Ph Rin Tissue Disease.state ... ZSWIM8.AS1 \\\n", "GSM1304852 6.7 6.3 hippocampus Bipolar disorder ... 5.985163 \n", "GSM1304853 6.4 6.8 hippocampus Bipolar disorder ... 6.177670 \n", "GSM1304854 6.3 7.7 hippocampus Bipolar disorder ... 5.544327 \n", "GSM1304855 6.4 7.6 hippocampus Bipolar disorder ... 5.978466 \n", "GSM1304856 6.8 7.0 hippocampus Bipolar disorder ... 6.138507 \n", "\n", " ZW10 ZWILCH ZWINT ZXDA ZXDB ZXDC \\\n", "GSM1304852 6.428342 3.909310 6.046175 4.277563 4.107621 6.688651 \n", "GSM1304853 6.537507 4.552976 7.335697 4.358375 4.132819 6.475851 \n", "GSM1304854 6.732762 5.078011 7.470260 4.405250 4.137028 6.020157 \n", "GSM1304855 6.913840 4.864570 7.175861 4.206593 4.005465 6.586425 \n", "GSM1304856 6.756435 4.203565 7.032669 4.284513 4.128175 6.633143 \n", "\n", " ZYX ZZEF1 ZZZ3 \n", "GSM1304852 7.228978 5.891636 7.982137 \n", "GSM1304853 7.028054 5.905446 7.891166 \n", "GSM1304854 6.810143 5.610422 7.940210 \n", "GSM1304855 6.818529 5.769763 7.987298 \n", "GSM1304856 7.037504 5.926310 8.002489 \n", "\n", "[5 rows x 13778 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Let's take a look at the first 5 rows of our dataframe\n", "data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Task 1\n", "\n", "Check all the features. Which features are numeric, which are categorical? Understanding the nature of your data is a very important and necessary first step before proceeding with any analysis.\n", "\n", "- What type of distributions exist within the features? Is Gender a balanced feature (roughly equal representation between both men and women)? Are numerical values normally distributed? Explore numerical distributions by plotting histograms for Age, an Age + Gender histogram, and one of your favorite genes found in the dataset.\n", "\n", "- Some features display factor dependent values. That is, whether a subject is a male or a female might effect the expression patterns of a given gene. Explore factor and feature relationships by creating boxplots to observe how Age is dependent on Tissue, Gender and Disease.status." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "M 112\n", "F 93\n", "Name: Gender, dtype: int64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Explore the distribution of genders\n", "data[\"Gender\"].value_counts()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Histogram of the age\n", "sns.distplot(data[\"Age\"])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Histogram of the Age faceted by Gender\n", "g = sns.FacetGrid(data, col=\"Gender\", margin_titles=True)\n", "g.map(sns.distplot, \"Age\")" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Histogram of the gene expression of ZWINT across samples\n", "sns.distplot(data[\"ZWINT\"])" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Relationship between age, disease state and gender\n", "sns.catplot(data=data, x=\"Disease.state\", y=\"Age\", hue=\"Gender\", kind=\"box\")" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# # Relationship between age, disease state, tissue type and gender(facet)\n", "sns.catplot(data=data, x=\"Disease.state\", y=\"Age\", hue=\"Tissue\", col=\"Gender\", kind=\"box\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Task 2\n", "\n", "Principal Component Analysis (PCA) is a commonly used technique to create linearly uncorrelated features from a set of possibly correlated features. The procedure is done in such a way that the first feature produced by PCA, the first principal component – PC1, explains the largest amount of variability possible. In this way, PCA is a dimension reduction technique, as the first few principal components often explain upwards of 90% of the variability found within a dataset. It is important to note that if we’re planning on predicting anything using the principal components, such as tissue type or Disease.status, those features should not be included in the input matrix. Before performing PCA, create a new data frame containing only explanatory values (i.e. the features we want to use to predict class membership).\n", "\n", "- Explore how much variation is explained by the principal components. How much variation is explained by the first two principal components? How many principal components might be required to explain 75%, 85%, 90%, 95%, and 99% of the variation within our dataset?\n", "\n", "- Visually explore this separation to plot the first two principal components and color samples according to Tissue and Disease.status. What effect does plotting the third principal component have on sample separation?\n", "\n", "- Subset the dataset into three disjoint datasets by Tissue. Run PCA on all three of these datasets, plot the first two principal components, and color the dots according to Disease.status. Does there appear to be a meaningful difference in the separation between disease classes between the three different datasets?\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# Refer to: https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html\n", "from sklearn.decomposition import PCA" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "# Create a dataframe containing only the expression data\n", "expression = data.iloc[:, 10:]\n", "# Create a PCA class with 2 components\n", "pca = PCA(n_components=2)\n", "# Fit and tranform the data\n", "pca.fit(expression)\n", "expression_decomp = pca.transform(expression)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.46909932, 0.15195595])" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# How much variance is explanined by the principal components?\n", "pca.explained_variance_ratio_" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'PCA2')" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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O3YMwKO+Y8aMYfbs2cycOZPk5GTWr19PXl4et956K926daNbt27uL9ypU6e6WwQ//vgjffv29QqoBw8eRKfTec0yB7BarZjNZkJCQtxlixcvZurUqbRo0cIjC67D4WD69Om8/vrrHseYO3cujz76qPsYkZFnWuOjRo1y57q6aEKIBvkBFMC/8m8t8DvQE1gC3FlZPht4pKZjde3aVUh176ttWaLlMys8fvaeKKlxP7PVLkpN1os6d0G5WaRmFogvth4XOcUmYTTbLup4DW3v3r213/jNjkK8EOj982bHi6qDn5+fEEIIm80mRowYId577z1x5MgRoSiK2LRpkxBCiLy8PNGnTx9RXl4uhBDitddeE//4xz+qPZ4QQowfP14MHTpU2O12IYQQU6ZMES+++KIQQohffvlFdOrUSQghxAsvvCB69eolzGazyMvLE6GhocJqtYojR46Ijh3PvD6bzSZKSkrcdWrVqpVwOp1e5z1t9+7dok2bNiIvL08IIURBQYEQQohhw4aJ+fPnCyGEmDdvnhg5cmSV9X3hhRfEjBkz3McbO3asWL9+vRBCiKNHj4p27doJIYQwGo2iQ4cOYvXq1eKaa64R6enpXnX58MMPxVNPPeV+/MILL4hmzZqJTp06ieDgYDF27Fj3cyaTSTRt2lRUVFSI999/X0yZMsX93FtvvSXefPNNr9c8cuRIMX36dHHttdeKHj16iO+//979XFZWlkhISPCqkxBVvweBVHGe79UGu6yqrNjpSxJt5Y8ABgJ3VZZ/DLwI/K++63e1M1kdrNx10v1YpYBTwK8H82jfNLDafXVada3mJFQn1E9HqJ+Ori1DL+o4l6WSrAsrryWTyeRey6FPnz488MADnDhxgpYtW9KzZ08ANm/ezN69e91rJlitVo/MrNW5/fbb3UnvNmzY4M6OOnDgQAoKCigtdSVaHDp0KDqdDp1OR2RkJLm5uV7HEkLwt7/9jXXr1qFSqcjOziY3N5cmTZpUee7Vq1dz++23u6/WT68fsWnTJr788ksA7rnnHp5++ukq63uuVatWsXfvXvfj0tJSysvL8ff3Z+7cufTt25eZM2fSqlUrr31PnjxJRESER9mTTz7JtGnTsNls3HbbbXz22WfceeedrFixggEDBmAwGLj11lv55z//yVtvvUVubi5Lly5l7dq1Xse32+0cOnSItWvX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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Visualize the PCA plot color by Tissue or Disease.state\n", "g = sns.scatterplot(x=expression_decomp[:, 0], y=expression_decomp[:, 1], hue=data[\"Tissue\"])\n", "g.set_xlabel(\"PCA1\")\n", "g.set_ylabel(\"PCA2\")" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "# Hippocampus subset\n", "hippocampus = data[data[\"Tissue\"] == \"hippocampus\"]\n", "# Create a dataframe containing only the expression data\n", "hippocampus_expression = hippocampus.iloc[:, 10:]\n", "# Create a PCA class with 2 components\n", "hippocampus_pca = PCA(n_components=2)\n", "# Fit and tranform the data\n", "hippocampus_pca.fit(expression)\n", "hippocampus_expression_decomp = hippocampus_pca.transform(hippocampus_expression)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'PCA2')" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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Y8eOxWJxdjQaNGjA9OnTadeuHa1ateLgwYNur21eXh7Dhw+nRYsWDB061PUBW7h/amoqOTk5DBw4kDZt2hAbG8vixYtLPe/UqVNp164dX331Fdu3b6dNmza0adOGt956y3X8S70O69evp1u3bgwaNIiWLVte1nvkUio68b8DNAbigCTg/y61oZRynpQyXkoZHxFx5XPbpZSczTtLSm4KOVYPlDkuQZgxjPn959MlugsRvhHc2uRWpnZ4Av/AulC7Fb7n/qFv/aK9khsb3Mzqfed7+T2blfw7R/tHs3TwUu5oegejY0az9JYlhPnVRtz2IZnaENcwE0CXxmFEBV194bcyM4XCsPehxWDwDYHGvWDk1+Bfy3sxVZC5O+YWGZID59Df3B1zr/rYw4cP54svvsBsNrN79246derkeq558+Zs2rSJP/74gxkzZvDUU0+57T99+nTatm3L7t27+d///se9997rem7//v2sWbOGRYsWFdln2bJlHDp0iP379/Pxxx/z66+/AmC1WpkwYQJLlixh+/btjB07lqefftq1X25uLjt37uTtt99m7NixxZ7nww8/JCgoiG3btrFt2zbef/99/v77bz7//HP69+/vKhMdFxfHzp07OXnyJHv37mXPnj2MGTOmSJxms5nRo0ezePFi9uzZg81m45133nE9Hx4ezo4dO3jooYd49dVX3V6bd955B5PJxIEDB3j++efZvn272zY//fQT0dHR7Nq1i7179zJgwIBSzxsWFsaOHTsYPnw4Y8aM4Y033mDXrl1Fjnup1wGcpbPnzp3Ln3/+6RbPlajQWT1SSldNWCHE+8D3njiP2WZmd8pupm+Zzumc0wxoMIDH4x8nzPfKShKXlRCCeoH1mNXtZSy2PPz1/vj6BECbu6BpfwK1Bp5ufAOdo7vwy8lf6F63B00COnLXO3vQawWjujQgJrrkipe+Ol8aBjXk6U5Pg3DesFWonsHO+sd7suNYOrWCfGgY5kfYZRZWszskZ7MtnEzPI8hXT4ifoXy+LQRGw+A3nTX3dUbwvbqvylXF6ZzTV9R+JVq3bk1iYiKLFi3ipptuKvJcRkYGo0aN4vDhwwghsFrdhwY3b97M119/DTgLv509e5bMTOd9G4MGDcLX1/3C+8aNG13lmqOjo+nVqxcAhw4dYu/evfTt2xdw9lqjos5P+y38NtK9e3cy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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Visualize the hippocampus PCA plot\n", "g = sns.scatterplot(x=hippocampus_expression_decomp[:, 0], y=hippocampus_expression_decomp[:, 1], hue=hippocampus[\"Disease.state\"])\n", "g.set_xlabel(\"PCA1\")\n", "g.set_ylabel(\"PCA2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Task 3\n", "\n", "Feature selection is a commonly performed step in statistics/machine learning to distinguish the most informative variable to use in model creation. There are several different ways to perform feature selection, and many of these can be application specific. In this workshop we’ll explain two possible avenues for feature selection in gene expression data analysis: 1) removing the least variable features 2) univariate feature selection" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "# Refer to https://scikit-learn.org/stable/modules/feature_selection.html#feature-selection\n", "from sklearn.feature_selection import VarianceThreshold, SelectKBest, chi2" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "# Removing features with low variance (<0.1)\n", "sel = VarianceThreshold(threshold=0.1)\n", "expression_highvar = sel.fit_transform(expression)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [], "source": [ "# Univariate feature selection using the chi2 test\n", "target = data[\"Tissue\"]\n", "expression_kbest = SelectKBest(chi2, k=10).fit_transform(expression, target)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Task 4\n", "\n", "Unsupervised learning can be thought of as applying an algorithm to a dataset in order to discover latent structure that exists between samples. We’ve already been exposed to some of these algorithms via PCA. However, one of the most common techniques in machine learning, and especially bioinformatics, is clustering. Cluster the data using the k-means algorithm." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "# Refer to https://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html\n", "from sklearn.cluster import KMeans" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# Initialize a KMeans object with n_clusters=3\n", "kmeans = KMeans(n_clusters=3)\n", "# Fit data and get predictions\n", "kmeans.fit(expression)\n", "predicted_tissue = kmeans.predict(expression)" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "# Compare predicted tissue data to actual tissue data" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Transform expression into a cluster-distance space and visualize the results\n", "expression_kmeans = kmeans.transform(expression)\n", "sns.scatterplot(x=expression_kmeans[:, 0], y=expression_kmeans[:, 1], hue=data[\"Tissue\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Task 5\n", "\n", "Supervised learning is a technique to teach an algorithm to distinguish between previously labelled groups, such as Tissue, Gender, or Disease.status. However, all supervised methods require data to learn how to differentiate between classes. Therefore, it is necessary to separate data into test/train sets. The training set is used to train the model, while the test set is used to evaluate performance. Cross-validation, a method of partitioning the data into disjoint subsets and continually re-training and re-testing with different partition combinations, is often used to evaluate models. In this section, we will build various classifiers using logistic regression to predict different classes from our data. You should evaluate your models’ performances using confusion matrices and accuracy scores." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "# Refer to https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html\n", "from sklearn.linear_model import LogisticRegression, LogisticRegressionCV\n", "from sklearn.model_selection import train_test_split" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "# Set the target of the classifier (either \"Disease.state\" or \"Tissue\")\n", "target = data[\"Disease.state\"]" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "# Split the data into training and test subsets\n", "X_train, X_test, y_train, y_test = train_test_split(expression, target, test_size=.25, stratify=target)" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/dileep/.virtualenvs/pydata/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:947: ConvergenceWarning: lbfgs failed to converge. Increase the number of iterations.\n", " \"of iterations.\", ConvergenceWarning)\n" ] }, { "data": { "text/plain": [ "array(['schizophrenia', 'Bipolar disorder', 'control', 'Bipolar disorder',\n", " 'control', 'Bipolar disorder', 'Bipolar disorder',\n", " 'Bipolar disorder', 'control', 'Bipolar disorder', 'control',\n", " 'Major depression disorder', 'Bipolar disorder',\n", " 'Bipolar disorder', 'Major depression disorder', 'control',\n", " 'Bipolar disorder', 'control', 'Major depression disorder',\n", " 'control', 'control', 'Major depression disorder',\n", " 'Bipolar disorder', 'Major depression disorder', 'schizophrenia',\n", " 'Bipolar disorder', 'schizophrenia', 'Bipolar disorder',\n", " 'schizophrenia', 'schizophrenia', 'Bipolar disorder', 'control',\n", " 'control', 'Bipolar disorder', 'Major depression disorder',\n", " 'control', 'Major depression disorder', 'control',\n", " 'Bipolar disorder', 'Bipolar disorder',\n", " 'Major depression disorder', 'schizophrenia', 'control',\n", " 'schizophrenia', 'Bipolar disorder', 'Major depression disorder',\n", " 'control', 'Bipolar disorder', 'control', 'Bipolar disorder',\n", " 'Bipolar disorder', 'schizophrenia'], dtype=object)" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Initialize the LogisticRegression class\n", "clf = LogisticRegression(solver=\"lbfgs\", multi_class=\"auto\")\n", "# Fit and predict\n", "clf.fit(X_train, y_train)\n", "clf.predict(X_test)" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.5192307692307693" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# What is the accuracy score of the test data?\n", "clf.score(X_test, y_test)" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[9, 1, 1, 2],\n", " [5, 5, 3, 0],\n", " [2, 1, 9, 2],\n", " [4, 2, 2, 4]])" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Confusion matrix\n", "from sklearn.metrics import confusion_matrix\n", "confusion_matrix(y_test, clf.predict(X_test))" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "# Refer to https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_validate.html\n", "from sklearn.model_selection import cross_val_score" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/dileep/.virtualenvs/pydata/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:947: ConvergenceWarning: lbfgs failed to converge. Increase the number of iterations.\n", " \"of iterations.\", ConvergenceWarning)\n", "/home/dileep/.virtualenvs/pydata/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:947: ConvergenceWarning: lbfgs failed to converge. Increase the number of iterations.\n", " \"of iterations.\", ConvergenceWarning)\n", "/home/dileep/.virtualenvs/pydata/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:947: ConvergenceWarning: lbfgs failed to converge. Increase the number of iterations.\n", " \"of iterations.\", ConvergenceWarning)\n", "/home/dileep/.virtualenvs/pydata/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:947: ConvergenceWarning: lbfgs failed to converge. Increase the number of iterations.\n", " \"of iterations.\", ConvergenceWarning)\n", "/home/dileep/.virtualenvs/pydata/lib/python3.7/site-packages/sklearn/linear_model/logistic.py:947: ConvergenceWarning: lbfgs failed to converge. Increase the number of iterations.\n", " \"of iterations.\", ConvergenceWarning)\n" ] } ], "source": [ "# Perform a 5 fold cross validation on the model\n", "lr_cv = LogisticRegression(solver=\"lbfgs\", multi_class=\"auto\")\n", "cv_results = cross_val_score(lr_cv, X_train, y_train, cv=5)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.39393939, 0.4516129 , 0.46666667, 0.36666667, 0.44827586])" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Cross validation results\n", "cv_results" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }