umz21/lab/03_Regresja_liniowa.ipynb
2021-05-19 07:49:54 +02:00

79 lines
2.4 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "-"
}
},
"source": [
"## Uczenie maszynowe zastosowania\n",
"### Zajęcia laboratoryjne\n",
"# 3. Regresja liniowa zadanie"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Zadanie 3"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Część podstawowa (4 punkty)\n",
"\n",
"Plik `fires_thefts.csv` zawiera rzeczywiste dane zebrane przez *U.S. Commission on Civil Rights*, przedstawiające liczbę pożarów w danej dzielnicy na tysiąc gospodarstw domowych (pierwsza kolumna) oraz liczbę włamań w tej samej dzielnicy na tysiąc mieszkańców (druga kolumna). \n",
"\n",
"Stwórz model (regresja liniowa) przewidujący liczbę włamań na podstawie liczby pożarów:\n",
" * Oblicz parametry $\\theta$ krzywej regresyjnej za pomocą metody gradientu prostego (*gradient descent*). Możesz wybrać wersję iteracyjną lub macierzową algorytmu.\n",
" * Wykorzystując uzyskaną krzywą regresyjną przepowiedz liczbę włamań na tysiąc mieszkańców dla dzielnicy, w której występuje średnio 50, 100, 200 pożarów na tysiąc gospodarstw domowych."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Część zaawansowana (2 punkty)\n",
"\n",
"Dla różnych wartości długości kroku $\\alpha \\in \\{ 0.001, 0.01 , 0.1 \\}$ stwórz wykres, który zilustruje progresję wartości $J(\\theta)$ dla pierwszych 200 króków algorytmu gradientu prostego:\n",
" * Oś $x$ wykresu to kolejne kroki algorytmu od 0 do 200.\n",
" * Oś $y$ wykresu to wartosci $J(\\theta)$.\n",
" * Wykres powinien skłądać się z trzech krzywych:\n",
" 1. dla $\\alpha = 0.001$\n",
" 2. dla $\\alpha = 0.01$\n",
" 3. dla $\\alpha = 0.1$"
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"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.8.3"
},
"livereveal": {
"start_slideshow_at": "selected",
"theme": "amu"
}
},
"nbformat": 4,
"nbformat_minor": 4
}