221 lines
6.8 KiB
Plaintext
221 lines
6.8 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Przygotowali\n",
|
||
"Wojciech Jarmosz <br>\n",
|
||
"Michał Kubiak <br>\n",
|
||
"Przemysław Owczarczyk"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Temat:\n",
|
||
"Klasyfikacja za pomocą naiwnej metody bayesowskiej (rozkłady dyskretne). Implementacja powinna założyć, że cechy są dyskretne/jakościowe. Na wejściu oczekiwany jest zbiór, który zawiera p-cech dyskretnych/jakościowych, wektor etykiet oraz wektor prawdopodobieństw a priori dla klas. Na wyjściu otrzymujemy prognozowane etykiety oraz prawdopodobieństwa a posteriori. Dodatkową wartością odpowiednia wizualizacja."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Wstęp\n",
|
||
"Jednym z najbardziej użytecznych zastosowań twierdzenia Bayesa jest tzw. naiwny klasyfikator bayesowski - \n",
|
||
"Prosty klasyfikator probabilistyczny. Naiwne klasyfikatory bayesowskie są oparte na założeniu o wzajemnej niezależności predyktorów (zmiennych niezależnych). Często nie mają one żadnego związku z rzeczywistością i właśnie z tego powodu nazywa się je naiwnymi. Klasyfikator ten można wykorzystywać do określania prawdopodobieństwa klas na podstawie szeregu różnych obserwacji."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Pomimo swojego naiwnego charakteru naiwna metoda bayesowska zwykle dobrze się sprawdza w praktyce. Jest to odpowiedni przykład obrazujący, co oznacza popularne w statystyce powiedzenie „wszystkie modele są złe, ale niektóre są użyteczne” (za autora tego powiedzenia uznaje się na ogół statystyka George'a E.P. Boxa)."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Założenie naiwnego bayesa\n",
|
||
"$P(class | variable1, variable2, variable3) = \\frac{P(variable1, variable2, valriable3|class) * P(class)}{P(variable1, variable2, variable3)}$\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"**przy założeniu o niezależności zmiennych losowych $variable1$, $variable2$, $variable3$**:\n",
|
||
"\n",
|
||
"\n",
|
||
"$P(variable1, variable2, variable3|class) = P(variable1|class)* P(variable2|class) * P(variable3|class)$"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"**ostatecznie:**\n",
|
||
"\n",
|
||
"\n",
|
||
"$P(class | variable1, variable2, variable3) = \\frac{P(variable1|class)* P(variable2|class) * P(variable3|class) * P(class)}{\\sum_k{P(variable1|class_k)* P(variable2|class_k) * P(variable3|class_k) * P(class_k)}}$\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# DataSet\n",
|
||
"Według Światowej Organizacji Zdrowia (WHO) udar to druga najczęstsza przyczyna zgonów na świecie, odpowiedzialna za około 11% wszystkich zgonów. Ten zestaw danych jest używany do przewidywania, czy pacjent prawdopodobnie dostanie udaru, na podstawie parametrów wejściowych, takich jak płeć, wiek, różne choroby. \n",
|
||
"https://www.kaggle.com/fedesoriano/stroke-prediction-dataset"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Wizualizacja"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"𝑎𝑔𝑒:60−69<br>\n",
|
||
"ℎ𝑦𝑝𝑒𝑟𝑡𝑒𝑛𝑠𝑖𝑜𝑛:𝑛𝑜 <br>\n",
|
||
"ℎ𝑒𝑎𝑟𝑡_𝐷𝑖𝑠𝑒𝑎𝑠𝑒𝑦𝑒𝑠 <br>\n",
|
||
"𝑏𝑚𝑖:𝑜𝑏𝑒𝑠𝑖𝑡𝑦_1 <br>\n",
|
||
"𝑔𝑒𝑛𝑑𝑒𝑟:𝑓𝑒𝑚𝑎𝑙𝑒 <br>\n",
|
||
"𝑠𝑚𝑜𝑘𝑖𝑛𝑔𝑠𝑡𝑎𝑡𝑢𝑠:𝑠𝑚𝑜𝑘𝑒𝑠"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"![title](1.png)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"𝑎𝑔𝑒:70−79<br>\n",
|
||
"ℎ𝑦𝑝𝑒𝑟𝑡𝑒𝑛𝑠𝑖𝑜𝑛: yes <br>\n",
|
||
"ℎ𝑒𝑎𝑟𝑡_𝐷𝑖𝑠𝑒𝑎𝑠𝑒: 𝑦𝑒𝑠 <br>\n",
|
||
"𝑏𝑚𝑖:correct <br>\n",
|
||
"𝑔𝑒𝑛𝑑𝑒𝑟:𝑚𝑎𝑙𝑒 <br>\n",
|
||
"𝑠𝑚𝑜𝑘𝑖𝑛𝑔𝑠𝑡𝑎𝑡𝑢𝑠:never_𝑠𝑚𝑜𝑘𝑒d"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"![title](2.png)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"𝑎𝑔𝑒:70−79<br>\n",
|
||
"ℎ𝑦𝑝𝑒𝑟𝑡𝑒𝑛𝑠𝑖𝑜𝑛: yes<br>\n",
|
||
"ℎ𝑒𝑎𝑟𝑡_𝐷𝑖𝑠𝑒𝑎𝑠𝑒: 𝑦𝑒𝑠<br>\n",
|
||
"𝑏𝑚𝑖:correct<br>\n",
|
||
"𝑔𝑒𝑛𝑑𝑒𝑟:fe𝑚𝑎𝑙𝑒<br>\n",
|
||
"𝑠𝑚𝑜𝑘𝑖𝑛𝑔𝑠𝑡𝑎𝑡𝑢𝑠:never_𝑠𝑚𝑜𝑘𝑒d"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"![title](3.png)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"𝑎𝑔𝑒:30−39<br>\n",
|
||
"ℎ𝑦𝑝𝑒𝑟𝑡𝑒𝑛𝑠𝑖𝑜𝑛: no<br>\n",
|
||
"ℎ𝑒𝑎𝑟𝑡_𝐷𝑖𝑠𝑒𝑎𝑠𝑒: 𝑦𝑒𝑠<br>\n",
|
||
"𝑏𝑚𝑖: obesity_2<br>\n",
|
||
"avg_glucose_level: 250-270\n",
|
||
"𝑔𝑒𝑛𝑑𝑒𝑟:fe𝑚𝑎𝑙𝑒<br>\n",
|
||
"𝑠𝑚𝑜𝑘𝑖𝑛𝑔𝑠𝑡𝑎𝑡𝑢𝑠:smokes"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"![title](4.png)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"𝑎𝑔𝑒:0-29<br>\n",
|
||
"ℎ𝑦𝑝𝑒𝑟𝑡𝑒𝑛𝑠𝑖𝑜𝑛: no<br>\n",
|
||
"ℎ𝑒𝑎𝑟𝑡_𝐷𝑖𝑠𝑒𝑎𝑠𝑒: no<br>\n",
|
||
"𝑏𝑚𝑖: correct<br>\n",
|
||
"avg_glucose_level: 130-170\n",
|
||
"𝑔𝑒𝑛𝑑𝑒𝑟:𝑚𝑎𝑙𝑒<br>\n",
|
||
"𝑠𝑚𝑜𝑘𝑖𝑛𝑔𝑠𝑡𝑎𝑡𝑢𝑠:never_smoked"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"![title](5.png)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"𝑎𝑔𝑒:80-89<br>\n",
|
||
"ℎ𝑦𝑝𝑒𝑟𝑡𝑒𝑛𝑠𝑖𝑜𝑛: yes<br>\n",
|
||
"ℎ𝑒𝑎𝑟𝑡_𝐷𝑖𝑠𝑒𝑎𝑠𝑒: no<br>\n",
|
||
"𝑏𝑚𝑖: correct<br>\n",
|
||
"avg_glucose_level: 130-170\n",
|
||
"𝑔𝑒𝑛𝑑𝑒𝑟:𝑚𝑎𝑙𝑒<br>\n",
|
||
"𝑠𝑚𝑜𝑘𝑖𝑛𝑔𝑠𝑡𝑎𝑡𝑢𝑠:never_smoked"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"![title](6.png)"
|
||
]
|
||
}
|
||
],
|
||
"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.8.5"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 4
|
||
}
|