diff --git a/your-code/.ipynb_checkpoints/[lab_continuous_distributions]atefeh hezavehei-checkpoint.ipynb b/your-code/.ipynb_checkpoints/[lab_continuous_distributions]atefeh hezavehei-checkpoint.ipynb new file mode 100644 index 0000000..4cac634 --- /dev/null +++ b/your-code/.ipynb_checkpoints/[lab_continuous_distributions]atefeh hezavehei-checkpoint.ipynb @@ -0,0 +1,537 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Before your start:\n", + "\n", + " Read the README.md file\n", + " Comment as much as you can and use the resources (README.md file)\n", + " Happy learning!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this exercise, we will generate random numbers from the continuous disributions we learned in the lesson. There are two ways to generate random numbers:\n", + "\n", + "1. Using the numpy library \n", + "1. using the Scipy library \n", + "\n", + "Use either or both of the lbraries in this exercise." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Uniform Distribution\n", + "\n", + "To generate uniform random numbers between any two given values using scipy, we can either use the following code or the code that we have\n", + "discussed in class:" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import pylab as plt\n", + "from scipy.stats import uniform\n", + "from scipy.stats import norm\n", + "import numpy as np\n", + "from scipy.stats import expon" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2.15759778 2.67280868 2.64384478 2.06218136 2.61177797 2.92842518\n", + " 2.84823999 2.79988808 2.12600889 2.86669528]\n" + ] + } + ], + "source": [ + "from scipy.stats import uniform\n", + "x = uniform.rvs(size=10)\n", + "a = 2\n", + "b = 3\n", + "randoms = a + (b-a)*x\n", + "print(randoms)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Your task:**\n", + "\n", + "1. Based on the code above, write a function that generates uniformly distributed random numbers. There are several requirements for your function:\n", + " * It should accept 3 parameters: \n", + " * `bottom` - the lower boundary of the generated numbers\n", + " * `ceiling` - the upper boundary of the generated numbers\n", + " * `count` - how many numbers to generate\n", + " * It should return an array of uniformly distributed random numbers\n", + "\n", + "1. Call your function with 2 sets of params below:\n", + " * bottom=10, ceiling=15, count=100\n", + " * bottom=10, ceiling=60, count=1,000\n", + "\n", + "1. Plot the uniform distributions generated above using histograms, where x axis is the value and y axis is the count. Let the histogram's number of bins be 10.\n", + "\n", + "Your output should look like below:\n", + "\n", + "![uniform distribution](ud.png)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "def uniform_distr(bottom, ceiling, count):\n", + " x = uniform.rvs(size=count)\n", + " a = bottom\n", + " b = ceiling\n", + " return(a + (b-a)*x)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "set1=uniform_distr(10,15,100)\n", + "set2=uniform_distr(10,60,1000)" + ] + }, + { + "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": [ + "fig , ax = plt.subplots(nrows =1, ncols = 2)\n", + "sns.histplot(set1, ax = ax[0])\n", + "sns.histplot(set2, ax = ax[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How are the two distributions different?" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# your answer below" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Normal Distribution\n", + "\n", + "1. In the same way in the Uniform Distribution challenge, write a function that generates normally distributed random numbers.\n", + "1. Generate 1,000 normally distributed numbers with the average of 10 and standard deviation of 1\n", + "1. Generate 1,000 normally distributed numbers with the average of 10 and standard deviation of 50\n", + "2. Plot the distributions of the data generated.\n", + "\n", + "Expected output:\n", + "\n", + "![normal distribution](nd.png)" + ] + }, + { + "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": [ + "# your code here\n", + "#s = np.random.normal(mu, sigma, 1000)\n", + "#norm.pdf(x, loc, scale)\n", + "set11 = np.random.normal(10,1,1000)\n", + "set22 = np.random.normal(10, 50,1000)\n", + "fig , ax = plt.subplots(nrows =1, ncols = 2)\n", + "sns.histplot(set11, ax = ax[0])\n", + "sns.histplot(set22, ax = ax[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How are the two distributions different?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Normal Distribution of Real Data\n", + "\n", + "In this challenge we are going to take a look the real data. We will use vehicles.csv file for this exercise" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Make', 'Model', 'Year', 'Engine Displacement', 'Cylinders',\n", + " 'Transmission', 'Drivetrain', 'Vehicle Class', 'Fuel Type',\n", + " 'Fuel Barrels/Year', 'City MPG', 'Highway MPG', 'Combined MPG',\n", + " 'CO2 Emission Grams/Mile', 'Fuel Cost/Year'],\n", + " dtype='object')" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "data = pd.read_csv('vehicles.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First import vehicles.csv.\n", + "Then plot the histograms for the following variables:\n", + "\n", + "1. Fuel Barrels/Year" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. CO2 Emission Grams/Mile " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3. Combined MPG" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which one(s) of the variables are nearly normally distributed? How do you know?" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# your answer here\n", + "fig , ax = plt.subplots(nrows =1, ncols = 3)\n", + "sns.histplot(data['Fuel Barrels/Year'], ax = ax[0])\n", + "sns.histplot(data['CO2 Emission Grams/Mile'], ax = ax[1])\n", + "sns.histplot(data['Combined MPG'], ax = ax[2])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exponential Distribution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Using `numpy.random.exponential`, create a function that returns a list of numbers exponentially distributed with the mean of 10. \n", + "\n", + "1. Use the function to generate two number sequences with the size of 1 and 100.\n", + "\n", + "1. Plot the distributions as histograms with the nubmer of bins as 100.\n", + "\n", + "Your output should look like below:\n", + "\n", + "![exponential distribution](ed.png)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\users\\atefe\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n", + "c:\\users\\atefe\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "\n", + "fig,ax = plt.subplots(nrows=1, ncols=2)\n", + "sns.distplot(np.random.exponential(1,1000),ax = ax[0])\n", + "sns.distplot(np.random.exponential(100,1000),ax = ax[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How are the two distributions different?" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# your answer here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exponential Distribution of Real Data\n", + "\n", + "Suppose that the amount of time one spends in a bank is exponentially distributed with mean as 10 minutes (i.e. λ = 1/10). What is the probability that a customer will spend less than fifteen minutes in the bank? \n", + "\n", + "Write a code in python to solve this problem" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.7768698398515702" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your answer here\n", + "# Hint: This is same as saying P(x<15)\n", + "less_fifteen=expon.cdf(15,scale = 10)\n", + "less_fifteen" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What is the probability that the customer will spend more than 15 minutes" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "# your answer here\n", + "more_fifteen= 1-(less_fifteen)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.2231301601484298" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "more_fifteen" + ] + }, + { + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/[lab_continuous_distributions]atefeh hezavehei.ipynb b/your-code/[lab_continuous_distributions]atefeh hezavehei.ipynb new file mode 100644 index 0000000..4cac634 --- /dev/null +++ b/your-code/[lab_continuous_distributions]atefeh hezavehei.ipynb @@ -0,0 +1,537 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Before your start:\n", + "\n", + " Read the README.md file\n", + " Comment as much as you can and use the resources (README.md file)\n", + " Happy learning!" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In this exercise, we will generate random numbers from the continuous disributions we learned in the lesson. There are two ways to generate random numbers:\n", + "\n", + "1. Using the numpy library \n", + "1. using the Scipy library \n", + "\n", + "Use either or both of the lbraries in this exercise." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Uniform Distribution\n", + "\n", + "To generate uniform random numbers between any two given values using scipy, we can either use the following code or the code that we have\n", + "discussed in class:" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import pylab as plt\n", + "from scipy.stats import uniform\n", + "from scipy.stats import norm\n", + "import numpy as np\n", + "from scipy.stats import expon" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2.15759778 2.67280868 2.64384478 2.06218136 2.61177797 2.92842518\n", + " 2.84823999 2.79988808 2.12600889 2.86669528]\n" + ] + } + ], + "source": [ + "from scipy.stats import uniform\n", + "x = uniform.rvs(size=10)\n", + "a = 2\n", + "b = 3\n", + "randoms = a + (b-a)*x\n", + "print(randoms)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Your task:**\n", + "\n", + "1. Based on the code above, write a function that generates uniformly distributed random numbers. There are several requirements for your function:\n", + " * It should accept 3 parameters: \n", + " * `bottom` - the lower boundary of the generated numbers\n", + " * `ceiling` - the upper boundary of the generated numbers\n", + " * `count` - how many numbers to generate\n", + " * It should return an array of uniformly distributed random numbers\n", + "\n", + "1. Call your function with 2 sets of params below:\n", + " * bottom=10, ceiling=15, count=100\n", + " * bottom=10, ceiling=60, count=1,000\n", + "\n", + "1. Plot the uniform distributions generated above using histograms, where x axis is the value and y axis is the count. Let the histogram's number of bins be 10.\n", + "\n", + "Your output should look like below:\n", + "\n", + "![uniform distribution](ud.png)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "def uniform_distr(bottom, ceiling, count):\n", + " x = uniform.rvs(size=count)\n", + " a = bottom\n", + " b = ceiling\n", + " return(a + (b-a)*x)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "set1=uniform_distr(10,15,100)\n", + "set2=uniform_distr(10,60,1000)" + ] + }, + { + "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": [ + "fig , ax = plt.subplots(nrows =1, ncols = 2)\n", + "sns.histplot(set1, ax = ax[0])\n", + "sns.histplot(set2, ax = ax[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How are the two distributions different?" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "# your answer below" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Normal Distribution\n", + "\n", + "1. In the same way in the Uniform Distribution challenge, write a function that generates normally distributed random numbers.\n", + "1. Generate 1,000 normally distributed numbers with the average of 10 and standard deviation of 1\n", + "1. Generate 1,000 normally distributed numbers with the average of 10 and standard deviation of 50\n", + "2. Plot the distributions of the data generated.\n", + "\n", + "Expected output:\n", + "\n", + "![normal distribution](nd.png)" + ] + }, + { + "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": [ + "# your code here\n", + "#s = np.random.normal(mu, sigma, 1000)\n", + "#norm.pdf(x, loc, scale)\n", + "set11 = np.random.normal(10,1,1000)\n", + "set22 = np.random.normal(10, 50,1000)\n", + "fig , ax = plt.subplots(nrows =1, ncols = 2)\n", + "sns.histplot(set11, ax = ax[0])\n", + "sns.histplot(set22, ax = ax[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How are the two distributions different?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Normal Distribution of Real Data\n", + "\n", + "In this challenge we are going to take a look the real data. We will use vehicles.csv file for this exercise" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Make', 'Model', 'Year', 'Engine Displacement', 'Cylinders',\n", + " 'Transmission', 'Drivetrain', 'Vehicle Class', 'Fuel Type',\n", + " 'Fuel Barrels/Year', 'City MPG', 'Highway MPG', 'Combined MPG',\n", + " 'CO2 Emission Grams/Mile', 'Fuel Cost/Year'],\n", + " dtype='object')" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "data = pd.read_csv('vehicles.csv')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First import vehicles.csv.\n", + "Then plot the histograms for the following variables:\n", + "\n", + "1. Fuel Barrels/Year" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "2. CO2 Emission Grams/Mile " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "3. Combined MPG" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Which one(s) of the variables are nearly normally distributed? How do you know?" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# your answer here\n", + "fig , ax = plt.subplots(nrows =1, ncols = 3)\n", + "sns.histplot(data['Fuel Barrels/Year'], ax = ax[0])\n", + "sns.histplot(data['CO2 Emission Grams/Mile'], ax = ax[1])\n", + "sns.histplot(data['Combined MPG'], ax = ax[2])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exponential Distribution" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "1. Using `numpy.random.exponential`, create a function that returns a list of numbers exponentially distributed with the mean of 10. \n", + "\n", + "1. Use the function to generate two number sequences with the size of 1 and 100.\n", + "\n", + "1. Plot the distributions as histograms with the nubmer of bins as 100.\n", + "\n", + "Your output should look like below:\n", + "\n", + "![exponential distribution](ed.png)" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "c:\\users\\atefe\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n", + "c:\\users\\atefe\\appdata\\local\\programs\\python\\python39\\lib\\site-packages\\seaborn\\distributions.py:2557: FutureWarning: `distplot` is a deprecated function and will be removed in a future version. Please adapt your code to use either `displot` (a figure-level function with similar flexibility) or `histplot` (an axes-level function for histograms).\n", + " warnings.warn(msg, FutureWarning)\n" + ] + }, + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "\n", + "fig,ax = plt.subplots(nrows=1, ncols=2)\n", + "sns.distplot(np.random.exponential(1,1000),ax = ax[0])\n", + "sns.distplot(np.random.exponential(100,1000),ax = ax[1])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "How are the two distributions different?" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "# your answer here" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Exponential Distribution of Real Data\n", + "\n", + "Suppose that the amount of time one spends in a bank is exponentially distributed with mean as 10 minutes (i.e. λ = 1/10). What is the probability that a customer will spend less than fifteen minutes in the bank? \n", + "\n", + "Write a code in python to solve this problem" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.7768698398515702" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your answer here\n", + "# Hint: This is same as saying P(x<15)\n", + "less_fifteen=expon.cdf(15,scale = 10)\n", + "less_fifteen" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What is the probability that the customer will spend more than 15 minutes" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "metadata": {}, + "outputs": [], + "source": [ + "# your answer here\n", + "more_fifteen= 1-(less_fifteen)" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.2231301601484298" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "more_fifteen" + ] + }, + { + "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.9.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/main.ipynb b/your-code/main.ipynb deleted file mode 100755 index a56b2c4..0000000 --- a/your-code/main.ipynb +++ /dev/null @@ -1,329 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Before your start:\n", - "\n", - " Read the README.md file\n", - " Comment as much as you can and use the resources (README.md file)\n", - " Happy learning!" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this exercise, we will generate random numbers from the continuous disributions we learned in the lesson. There are two ways to generate random numbers:\n", - "\n", - "1. Using the numpy library \n", - "1. using the Scipy library \n", - "\n", - "Use either or both of the lbraries in this exercise." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Uniform Distribution\n", - "\n", - "To generate uniform random numbers between any two given values using scipy, we can either use the following code or the code that we have\n", - "discussed in class:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from scipy.stats import uniform\n", - "x = uniform.rvs(size=10)\n", - "a = 2\n", - "b = 3\n", - "randoms = a + (b-a)*x\n", - "print(randoms)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**Your task:**\n", - "\n", - "1. Based on the code above, write a function that generates uniformly distributed random numbers. There are several requirements for your function:\n", - " * It should accept 3 parameters: \n", - " * `bottom` - the lower boundary of the generated numbers\n", - " * `ceiling` - the upper boundary of the generated numbers\n", - " * `count` - how many numbers to generate\n", - " * It should return an array of uniformly distributed random numbers\n", - "\n", - "1. Call your function with 2 sets of params below:\n", - " * bottom=10, ceiling=15, count=100\n", - " * bottom=10, ceiling=60, count=1,000\n", - "\n", - "1. Plot the uniform distributions generated above using histograms, where x axis is the value and y axis is the count. Let the histogram's number of bins be 10.\n", - "\n", - "Your output should look like below:\n", - "\n", - "![uniform distribution](ud.png)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "How are the two distributions different?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your answer below" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Normal Distribution\n", - "\n", - "1. In the same way in the Uniform Distribution challenge, write a function that generates normally distributed random numbers.\n", - "1. Generate 1,000 normally distributed numbers with the average of 10 and standard deviation of 1\n", - "1. Generate 1,000 normally distributed numbers with the average of 10 and standard deviation of 50\n", - "2. Plot the distributions of the data generated.\n", - "\n", - "Expected output:\n", - "\n", - "![normal distribution](nd.png)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "How are the two distributions different?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your answer below" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Normal Distribution of Real Data\n", - "\n", - "In this challenge we are going to take a look the real data. We will use vehicles.csv file for this exercise" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First import vehicles.csv.\n", - "Then plot the histograms for the following variables:\n", - "\n", - "1. Fuel Barrels/Year" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "2. CO2 Emission Grams/Mile " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "3. Combined MPG" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Which one(s) of the variables are nearly normally distributed? How do you know?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your answer here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Exponential Distribution" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "1. Using `numpy.random.exponential`, create a function that returns a list of numbers exponentially distributed with the mean of 10. \n", - "\n", - "1. Use the function to generate two number sequences with the size of 1 and 100.\n", - "\n", - "1. Plot the distributions as histograms with the nubmer of bins as 100.\n", - "\n", - "Your output should look like below:\n", - "\n", - "![exponential distribution](ed.png)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "How are the two distributions different?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your answer here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Exponential Distribution of Real Data\n", - "\n", - "Suppose that the amount of time one spends in a bank is exponentially distributed with mean as 10 minutes (i.e. λ = 1/10). What is the probability that a customer will spend less than fifteen minutes in the bank? \n", - "\n", - "Write a code in python to solve this problem" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your answer here\n", - "# Hint: This is same as saying P(x<15)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "What is the probability that the customer will spend more than 15 minutes" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your answer here" - ] - }, - { - "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 -}