{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Drzewo decyzyjne - RMS Titanic"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"import pandas as pd\n",
"from bs4 import BeautifulSoup\n",
"import requests"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Pobieramy dane"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"url = \"https://www.encyclopedia-titanica.org/titanic-passengers-and-crew/\"\n",
"strona = requests.get(url).text"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"#### Szukamy tabel na stronie"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"soup = BeautifulSoup(strona,\"html.parser\")\n",
"table = soup.find('table')"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"#### Korzystając z silnika bs4 zapisujemy pierwszą tabelę"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"data = pd.read_html(str(table), flavor = 'bs4')[0]"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(2456, 8)\n"
]
}
],
"source": [
"print(data.shape)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" Class/Dept | \n",
" Ticket | \n",
" Joined | \n",
" Job | \n",
" Boat [Body] | \n",
" Unnamed: 7 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" ABī-AL-MUNà, Mr Nāsīf Qāsim | \n",
" 27 | \n",
" 3rd Class Passenger | \n",
" 2699£18 15s 9d | \n",
" Cherbourg | \n",
" NaN | \n",
" 15 | \n",
" NaN | \n",
"
\n",
" \n",
" 1 | \n",
" ABBING, Mr Anthony | \n",
" 42 | \n",
" 3rd Class Passenger | \n",
" 5547£7 11s | \n",
" Southampton | \n",
" Blacksmith | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
" 2 | \n",
" ABBOTT, Mrs Rhoda Mary 'Rosa' | \n",
" 39 | \n",
" 3rd Class Passenger | \n",
" CA2673£20 5s | \n",
" Southampton | \n",
" NaN | \n",
" A | \n",
" NaN | \n",
"
\n",
" \n",
" 3 | \n",
" ABBOTT, Mr Rossmore Edward | \n",
" 16 | \n",
" 3rd Class Passenger | \n",
" CA2673£20 5s | \n",
" Southampton | \n",
" Jeweller | \n",
" [190] | \n",
" NaN | \n",
"
\n",
" \n",
" 4 | \n",
" ABBOTT, Mr Eugene Joseph | \n",
" 13 | \n",
" 3rd Class Passenger | \n",
" CA2673£20 5s | \n",
" Southampton | \n",
" Scholar | \n",
" NaN | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age Class/Dept Ticket \\\n",
"0 ABī-AL-MUNà, Mr Nāsīf Qāsim 27 3rd Class Passenger 2699£18 15s 9d \n",
"1 ABBING, Mr Anthony 42 3rd Class Passenger 5547£7 11s \n",
"2 ABBOTT, Mrs Rhoda Mary 'Rosa' 39 3rd Class Passenger CA2673£20 5s \n",
"3 ABBOTT, Mr Rossmore Edward 16 3rd Class Passenger CA2673£20 5s \n",
"4 ABBOTT, Mr Eugene Joseph 13 3rd Class Passenger CA2673£20 5s \n",
"\n",
" Joined Job Boat [Body] Unnamed: 7 \n",
"0 Cherbourg NaN 15 NaN \n",
"1 Southampton Blacksmith NaN NaN \n",
"2 Southampton NaN A NaN \n",
"3 Southampton Jeweller [190] NaN \n",
"4 Southampton Scholar NaN NaN "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"#### Usuwamy nieważne dane"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"data = data[[\"Name\",\"Age\",\"Class/Dept\",\"Boat [Body]\"]]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" Class/Dept | \n",
" Boat [Body] | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" ABī-AL-MUNà, Mr Nāsīf Qāsim | \n",
" 27 | \n",
" 3rd Class Passenger | \n",
" 15 | \n",
"
\n",
" \n",
" 1 | \n",
" ABBING, Mr Anthony | \n",
" 42 | \n",
" 3rd Class Passenger | \n",
" NaN | \n",
"
\n",
" \n",
" 2 | \n",
" ABBOTT, Mrs Rhoda Mary 'Rosa' | \n",
" 39 | \n",
" 3rd Class Passenger | \n",
" A | \n",
"
\n",
" \n",
" 3 | \n",
" ABBOTT, Mr Rossmore Edward | \n",
" 16 | \n",
" 3rd Class Passenger | \n",
" [190] | \n",
"
\n",
" \n",
" 4 | \n",
" ABBOTT, Mr Eugene Joseph | \n",
" 13 | \n",
" 3rd Class Passenger | \n",
" NaN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age Class/Dept Boat [Body]\n",
"0 ABī-AL-MUNà, Mr Nāsīf Qāsim 27 3rd Class Passenger 15\n",
"1 ABBING, Mr Anthony 42 3rd Class Passenger NaN\n",
"2 ABBOTT, Mrs Rhoda Mary 'Rosa' 39 3rd Class Passenger A\n",
"3 ABBOTT, Mr Rossmore Edward 16 3rd Class Passenger [190]\n",
"4 ABBOTT, Mr Eugene Joseph 13 3rd Class Passenger NaN"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"data[\"Boat [Body]\"]= data[\"Boat [Body]\"].fillna(\"\")"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" Class/Dept | \n",
" Boat [Body] | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" ABī-AL-MUNà, Mr Nāsīf Qāsim | \n",
" 27 | \n",
" 3rd Class Passenger | \n",
" 15 | \n",
"
\n",
" \n",
" 1 | \n",
" ABBING, Mr Anthony | \n",
" 42 | \n",
" 3rd Class Passenger | \n",
" | \n",
"
\n",
" \n",
" 2 | \n",
" ABBOTT, Mrs Rhoda Mary 'Rosa' | \n",
" 39 | \n",
" 3rd Class Passenger | \n",
" A | \n",
"
\n",
" \n",
" 3 | \n",
" ABBOTT, Mr Rossmore Edward | \n",
" 16 | \n",
" 3rd Class Passenger | \n",
" [190] | \n",
"
\n",
" \n",
" 4 | \n",
" ABBOTT, Mr Eugene Joseph | \n",
" 13 | \n",
" 3rd Class Passenger | \n",
" | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age Class/Dept Boat [Body]\n",
"0 ABī-AL-MUNà, Mr Nāsīf Qāsim 27 3rd Class Passenger 15\n",
"1 ABBING, Mr Anthony 42 3rd Class Passenger \n",
"2 ABBOTT, Mrs Rhoda Mary 'Rosa' 39 3rd Class Passenger A\n",
"3 ABBOTT, Mr Rossmore Edward 16 3rd Class Passenger [190]\n",
"4 ABBOTT, Mr Eugene Joseph 13 3rd Class Passenger "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Tworzymy kolumnę przetrwania"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"def przetrwanie(val):\n",
" if val==\"\" or \"[\" in val:\n",
" return 0\n",
" else:\n",
" return 1"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"data[\"Przetrwanie\"] = data[\"Boat [Body]\"].apply(przetrwanie)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"#### Zastępujemy napis liczby liczbą"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"data[\"Age\"] = data[\"Age\"].apply(pd.to_numeric, errors = \"coerce\")"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" Class/Dept | \n",
" Boat [Body] | \n",
" Przetrwanie | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" ABī-AL-MUNà, Mr Nāsīf Qāsim | \n",
" 27.0 | \n",
" 3rd Class Passenger | \n",
" 15 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" ABBING, Mr Anthony | \n",
" 42.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" ABBOTT, Mrs Rhoda Mary 'Rosa' | \n",
" 39.0 | \n",
" 3rd Class Passenger | \n",
" A | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" ABBOTT, Mr Rossmore Edward | \n",
" 16.0 | \n",
" 3rd Class Passenger | \n",
" [190] | \n",
" 0 | \n",
"
\n",
" \n",
" 4 | \n",
" ABBOTT, Mr Eugene Joseph | \n",
" 13.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age Class/Dept Boat [Body] \\\n",
"0 ABī-AL-MUNà, Mr Nāsīf Qāsim 27.0 3rd Class Passenger 15 \n",
"1 ABBING, Mr Anthony 42.0 3rd Class Passenger \n",
"2 ABBOTT, Mrs Rhoda Mary 'Rosa' 39.0 3rd Class Passenger A \n",
"3 ABBOTT, Mr Rossmore Edward 16.0 3rd Class Passenger [190] \n",
"4 ABBOTT, Mr Eugene Joseph 13.0 3rd Class Passenger \n",
"\n",
" Przetrwanie \n",
"0 1 \n",
"1 0 \n",
"2 1 \n",
"3 0 \n",
"4 0 "
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"#### Tworzymy kolumnę klasa"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"def jaka_klasa(klasa):\n",
" if \"Passenger\" in klasa:\n",
" return klasa.split()[0][0]\n",
" else:\n",
" return \"Załoga\""
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"data[\"Klasa\"] = data[\"Class/Dept\"].apply(jaka_klasa)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" Class/Dept | \n",
" Boat [Body] | \n",
" Przetrwanie | \n",
" Klasa | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" ABī-AL-MUNà, Mr Nāsīf Qāsim | \n",
" 27.0 | \n",
" 3rd Class Passenger | \n",
" 15 | \n",
" 1 | \n",
" 3 | \n",
"
\n",
" \n",
" 1 | \n",
" ABBING, Mr Anthony | \n",
" 42.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
" 3 | \n",
"
\n",
" \n",
" 2 | \n",
" ABBOTT, Mrs Rhoda Mary 'Rosa' | \n",
" 39.0 | \n",
" 3rd Class Passenger | \n",
" A | \n",
" 1 | \n",
" 3 | \n",
"
\n",
" \n",
" 3 | \n",
" ABBOTT, Mr Rossmore Edward | \n",
" 16.0 | \n",
" 3rd Class Passenger | \n",
" [190] | \n",
" 0 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" ABBOTT, Mr Eugene Joseph | \n",
" 13.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
" 3 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age Class/Dept Boat [Body] \\\n",
"0 ABī-AL-MUNà, Mr Nāsīf Qāsim 27.0 3rd Class Passenger 15 \n",
"1 ABBING, Mr Anthony 42.0 3rd Class Passenger \n",
"2 ABBOTT, Mrs Rhoda Mary 'Rosa' 39.0 3rd Class Passenger A \n",
"3 ABBOTT, Mr Rossmore Edward 16.0 3rd Class Passenger [190] \n",
"4 ABBOTT, Mr Eugene Joseph 13.0 3rd Class Passenger \n",
"\n",
" Przetrwanie Klasa \n",
"0 1 3 \n",
"1 0 3 \n",
"2 1 3 \n",
"3 0 3 \n",
"4 0 3 "
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"#### Tworzymy kolumnę dorosłości"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"def jaka_grupa(wiek):\n",
" if wiek<18:\n",
" return \"Dziecko\"\n",
" else:\n",
" return \"Dorosły\""
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"data[\"Dziecko/Dorosły\"] = data[\"Age\"].apply(jaka_grupa)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" Class/Dept | \n",
" Boat [Body] | \n",
" Przetrwanie | \n",
" Klasa | \n",
" Dziecko/Dorosły | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" ABī-AL-MUNà, Mr Nāsīf Qāsim | \n",
" 27.0 | \n",
" 3rd Class Passenger | \n",
" 15 | \n",
" 1 | \n",
" 3 | \n",
" Dorosły | \n",
"
\n",
" \n",
" 1 | \n",
" ABBING, Mr Anthony | \n",
" 42.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
" 3 | \n",
" Dorosły | \n",
"
\n",
" \n",
" 2 | \n",
" ABBOTT, Mrs Rhoda Mary 'Rosa' | \n",
" 39.0 | \n",
" 3rd Class Passenger | \n",
" A | \n",
" 1 | \n",
" 3 | \n",
" Dorosły | \n",
"
\n",
" \n",
" 3 | \n",
" ABBOTT, Mr Rossmore Edward | \n",
" 16.0 | \n",
" 3rd Class Passenger | \n",
" [190] | \n",
" 0 | \n",
" 3 | \n",
" Dziecko | \n",
"
\n",
" \n",
" 4 | \n",
" ABBOTT, Mr Eugene Joseph | \n",
" 13.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
" 3 | \n",
" Dziecko | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age Class/Dept Boat [Body] \\\n",
"0 ABī-AL-MUNà, Mr Nāsīf Qāsim 27.0 3rd Class Passenger 15 \n",
"1 ABBING, Mr Anthony 42.0 3rd Class Passenger \n",
"2 ABBOTT, Mrs Rhoda Mary 'Rosa' 39.0 3rd Class Passenger A \n",
"3 ABBOTT, Mr Rossmore Edward 16.0 3rd Class Passenger [190] \n",
"4 ABBOTT, Mr Eugene Joseph 13.0 3rd Class Passenger \n",
"\n",
" Przetrwanie Klasa Dziecko/Dorosły \n",
"0 1 3 Dorosły \n",
"1 0 3 Dorosły \n",
"2 1 3 Dorosły \n",
"3 0 3 Dziecko \n",
"4 0 3 Dziecko "
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"#### Tworzymy kolumnę płci"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"def jaka_plec(imie):\n",
" po_przecinku = imie[imie.index(\",\")+2:].split(\" \")\n",
" forma = po_przecinku[0]\n",
" if forma in [\"Mr\",\"Master\", \"Sig.\", \"Sr.\"]:\n",
" return \"Mężczyzna\"\n",
" else: \n",
" return \"Kobieta\""
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"data[\"Płeć\"] = data[\"Name\"].apply(jaka_plec)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" Class/Dept | \n",
" Boat [Body] | \n",
" Przetrwanie | \n",
" Klasa | \n",
" Dziecko/Dorosły | \n",
" Płeć | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" ABī-AL-MUNà, Mr Nāsīf Qāsim | \n",
" 27.0 | \n",
" 3rd Class Passenger | \n",
" 15 | \n",
" 1 | \n",
" 3 | \n",
" Dorosły | \n",
" Mężczyzna | \n",
"
\n",
" \n",
" 1 | \n",
" ABBING, Mr Anthony | \n",
" 42.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
" 3 | \n",
" Dorosły | \n",
" Mężczyzna | \n",
"
\n",
" \n",
" 2 | \n",
" ABBOTT, Mrs Rhoda Mary 'Rosa' | \n",
" 39.0 | \n",
" 3rd Class Passenger | \n",
" A | \n",
" 1 | \n",
" 3 | \n",
" Dorosły | \n",
" Kobieta | \n",
"
\n",
" \n",
" 3 | \n",
" ABBOTT, Mr Rossmore Edward | \n",
" 16.0 | \n",
" 3rd Class Passenger | \n",
" [190] | \n",
" 0 | \n",
" 3 | \n",
" Dziecko | \n",
" Mężczyzna | \n",
"
\n",
" \n",
" 4 | \n",
" ABBOTT, Mr Eugene Joseph | \n",
" 13.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
" 3 | \n",
" Dziecko | \n",
" Mężczyzna | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age Class/Dept Boat [Body] \\\n",
"0 ABī-AL-MUNà, Mr Nāsīf Qāsim 27.0 3rd Class Passenger 15 \n",
"1 ABBING, Mr Anthony 42.0 3rd Class Passenger \n",
"2 ABBOTT, Mrs Rhoda Mary 'Rosa' 39.0 3rd Class Passenger A \n",
"3 ABBOTT, Mr Rossmore Edward 16.0 3rd Class Passenger [190] \n",
"4 ABBOTT, Mr Eugene Joseph 13.0 3rd Class Passenger \n",
"\n",
" Przetrwanie Klasa Dziecko/Dorosły Płeć \n",
"0 1 3 Dorosły Mężczyzna \n",
"1 0 3 Dorosły Mężczyzna \n",
"2 1 3 Dorosły Kobieta \n",
"3 0 3 Dziecko Mężczyzna \n",
"4 0 3 Dziecko Mężczyzna "
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"#### Garść informacji o zbiorze"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"Płeć\n",
"Kobieta 533\n",
"Mężczyzna 1923\n",
"Name: Name, dtype: int64"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.groupby([\"Płeć\"])[\"Name\"].count()"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"Płeć\n",
"Kobieta 341\n",
"Mężczyzna 294\n",
"Name: Przetrwanie, dtype: int64"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.groupby([\"Płeć\"])[\"Przetrwanie\"].sum()"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"def porownanie_przezywalnosci(grupa):\n",
" return data.groupby([grupa])[\"Przetrwanie\"].sum()/data.groupby([grupa])[\"Przetrwanie\"].count()"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"Płeć\n",
"Kobieta 0.639775\n",
"Mężczyzna 0.152886\n",
"Name: Przetrwanie, dtype: float64"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"porownanie_przezywalnosci(\"Płeć\")"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"Klasa\n",
"1 0.574286\n",
"2 0.378840\n",
"3 0.242595\n",
"Załoga 0.136775\n",
"Name: Przetrwanie, dtype: float64"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"porownanie_przezywalnosci(\"Klasa\")"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"Dziecko/Dorosły\n",
"Dorosły 0.248343\n",
"Dziecko 0.378238\n",
"Name: Przetrwanie, dtype: float64"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"porownanie_przezywalnosci(\"Dziecko/Dorosły\")"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Name | \n",
" Age | \n",
" Class/Dept | \n",
" Boat [Body] | \n",
" Przetrwanie | \n",
" Klasa | \n",
" Dziecko/Dorosły | \n",
" Płeć | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" ABī-AL-MUNà, Mr Nāsīf Qāsim | \n",
" 27.0 | \n",
" 3rd Class Passenger | \n",
" 15 | \n",
" 1 | \n",
" 3 | \n",
" Dorosły | \n",
" Mężczyzna | \n",
"
\n",
" \n",
" 1 | \n",
" ABBING, Mr Anthony | \n",
" 42.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
" 3 | \n",
" Dorosły | \n",
" Mężczyzna | \n",
"
\n",
" \n",
" 2 | \n",
" ABBOTT, Mrs Rhoda Mary 'Rosa' | \n",
" 39.0 | \n",
" 3rd Class Passenger | \n",
" A | \n",
" 1 | \n",
" 3 | \n",
" Dorosły | \n",
" Kobieta | \n",
"
\n",
" \n",
" 3 | \n",
" ABBOTT, Mr Rossmore Edward | \n",
" 16.0 | \n",
" 3rd Class Passenger | \n",
" [190] | \n",
" 0 | \n",
" 3 | \n",
" Dziecko | \n",
" Mężczyzna | \n",
"
\n",
" \n",
" 4 | \n",
" ABBOTT, Mr Eugene Joseph | \n",
" 13.0 | \n",
" 3rd Class Passenger | \n",
" | \n",
" 0 | \n",
" 3 | \n",
" Dziecko | \n",
" Mężczyzna | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Age Class/Dept Boat [Body] \\\n",
"0 ABī-AL-MUNà, Mr Nāsīf Qāsim 27.0 3rd Class Passenger 15 \n",
"1 ABBING, Mr Anthony 42.0 3rd Class Passenger \n",
"2 ABBOTT, Mrs Rhoda Mary 'Rosa' 39.0 3rd Class Passenger A \n",
"3 ABBOTT, Mr Rossmore Edward 16.0 3rd Class Passenger [190] \n",
"4 ABBOTT, Mr Eugene Joseph 13.0 3rd Class Passenger \n",
"\n",
" Przetrwanie Klasa Dziecko/Dorosły Płeć \n",
"0 1 3 Dorosły Mężczyzna \n",
"1 0 3 Dorosły Mężczyzna \n",
"2 1 3 Dorosły Kobieta \n",
"3 0 3 Dziecko Mężczyzna \n",
"4 0 3 Dziecko Mężczyzna "
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data.head()"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"train = data[[\"Płeć\",\"Klasa\",\"Age\",\"Dziecko/Dorosły\",\"Przetrwanie\"]]"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Płeć | \n",
" Klasa | \n",
" Age | \n",
" Dziecko/Dorosły | \n",
" Przetrwanie | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" Mężczyzna | \n",
" 3 | \n",
" 27.0 | \n",
" Dorosły | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" Mężczyzna | \n",
" 3 | \n",
" 42.0 | \n",
" Dorosły | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" Kobieta | \n",
" 3 | \n",
" 39.0 | \n",
" Dorosły | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" Mężczyzna | \n",
" 3 | \n",
" 16.0 | \n",
" Dziecko | \n",
" 0 | \n",
"
\n",
" \n",
" 4 | \n",
" Mężczyzna | \n",
" 3 | \n",
" 13.0 | \n",
" Dziecko | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Płeć Klasa Age Dziecko/Dorosły Przetrwanie\n",
"0 Mężczyzna 3 27.0 Dorosły 1\n",
"1 Mężczyzna 3 42.0 Dorosły 0\n",
"2 Kobieta 3 39.0 Dorosły 1\n",
"3 Mężczyzna 3 16.0 Dziecko 0\n",
"4 Mężczyzna 3 13.0 Dziecko 0"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train.head()"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"#### Zamiana wartości kategorycznych na liczby"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/sorsik/.local/lib/python3.5/site-packages/pandas/core/frame.py:2440: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n",
" self[k1] = value[k2]\n"
]
},
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Płeć | \n",
" Klasa | \n",
" Age | \n",
" Dziecko/Dorosły | \n",
" Przetrwanie | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" 2 | \n",
" 27.0 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" 2 | \n",
" 42.0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" 0 | \n",
" 2 | \n",
" 39.0 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
" 2 | \n",
" 16.0 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 4 | \n",
" 1 | \n",
" 2 | \n",
" 13.0 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Płeć Klasa Age Dziecko/Dorosły Przetrwanie\n",
"0 1 2 27.0 0 1\n",
"1 1 2 42.0 0 0\n",
"2 0 2 39.0 0 1\n",
"3 1 2 16.0 1 0\n",
"4 1 2 13.0 1 0"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def toNum(val):\n",
" val = val.astype('category')\n",
" return val.cat.codes\n",
"train2 = train[[\"Klasa\",\"Dziecko/Dorosły\",\"Płeć\"]].apply(toNum)\n",
"train[[\"Klasa\",\"Dziecko/Dorosły\",\"Płeć\"]] = train2\n",
"train.head()"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"Płeć 0\n",
"Klasa 0\n",
"Age 40\n",
"Dziecko/Dorosły 0\n",
"Przetrwanie 0\n",
"dtype: int64"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train.isnull().sum()"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"2456"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(train)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"train = train.dropna()"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"2416"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(train)"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"Płeć 0\n",
"Klasa 0\n",
"Age 0\n",
"Dziecko/Dorosły 0\n",
"Przetrwanie 0\n",
"dtype: int64"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train.isnull().sum()"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Płeć | \n",
" Klasa | \n",
" Age | \n",
" Dziecko/Dorosły | \n",
" Przetrwanie | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 1 | \n",
" 2 | \n",
" 27.0 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
" 1 | \n",
" 1 | \n",
" 2 | \n",
" 42.0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" 0 | \n",
" 2 | \n",
" 39.0 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
" 3 | \n",
" 1 | \n",
" 2 | \n",
" 16.0 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
" 4 | \n",
" 1 | \n",
" 2 | \n",
" 13.0 | \n",
" 1 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Płeć Klasa Age Dziecko/Dorosły Przetrwanie\n",
"0 1 2 27.0 0 1\n",
"1 1 2 42.0 0 0\n",
"2 0 2 39.0 0 1\n",
"3 1 2 16.0 1 0\n",
"4 1 2 13.0 1 0"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train.head()"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Płeć | \n",
" Klasa | \n",
" Age | \n",
" Dziecko/Dorosły | \n",
" Przetrwanie | \n",
"
\n",
" \n",
" \n",
" \n",
" Płeć | \n",
" 1.000000 | \n",
" 0.427418 | \n",
" 0.033126 | \n",
" -0.146984 | \n",
" -0.468146 | \n",
"
\n",
" \n",
" Klasa | \n",
" 0.427418 | \n",
" 1.000000 | \n",
" -0.124860 | \n",
" -0.080689 | \n",
" -0.352164 | \n",
"
\n",
" \n",
" Age | \n",
" 0.033126 | \n",
" -0.124860 | \n",
" 1.000000 | \n",
" -0.506012 | \n",
" -0.055350 | \n",
"
\n",
" \n",
" Dziecko/Dorosły | \n",
" -0.146984 | \n",
" -0.080689 | \n",
" -0.506012 | \n",
" 1.000000 | \n",
" 0.080117 | \n",
"
\n",
" \n",
" Przetrwanie | \n",
" -0.468146 | \n",
" -0.352164 | \n",
" -0.055350 | \n",
" 0.080117 | \n",
" 1.000000 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Płeć Klasa Age Dziecko/Dorosły Przetrwanie\n",
"Płeć 1.000000 0.427418 0.033126 -0.146984 -0.468146\n",
"Klasa 0.427418 1.000000 -0.124860 -0.080689 -0.352164\n",
"Age 0.033126 -0.124860 1.000000 -0.506012 -0.055350\n",
"Dziecko/Dorosły -0.146984 -0.080689 -0.506012 1.000000 0.080117\n",
"Przetrwanie -0.468146 -0.352164 -0.055350 0.080117 1.000000"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def corrplot(df):\n",
" return df.corr()\n",
"corrplot(train)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Nauka modelu"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from sklearn.model_selection import train_test_split"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Dzielimy zbiór na treningowy oraz testownik"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"train,test = train_test_split(train, test_size = 0.2)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Płeć | \n",
" Klasa | \n",
" Age | \n",
" Dziecko/Dorosły | \n",
" Przetrwanie | \n",
"
\n",
" \n",
" \n",
" \n",
" 2393 | \n",
" 0 | \n",
" 1 | \n",
" 30.0 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
" 984 | \n",
" 1 | \n",
" 3 | \n",
" 28.0 | \n",
" 0 | \n",
" 1 | \n",
"
\n",
" \n",
" 115 | \n",
" 1 | \n",
" 1 | \n",
" 18.0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" 2047 | \n",
" 1 | \n",
" 0 | \n",
" 51.0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" 2150 | \n",
" 1 | \n",
" 3 | \n",
" 20.0 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Płeć Klasa Age Dziecko/Dorosły Przetrwanie\n",
"2393 0 1 30.0 0 1\n",
"984 1 3 28.0 0 1\n",
"115 1 1 18.0 0 0\n",
"2047 1 0 51.0 0 0\n",
"2150 1 3 20.0 0 0"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"train.head()"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"2416"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(train)+len(test)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Importujemy i tworzymy [...]"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from sklearn.tree import DecisionTreeClassifier"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"drzewko = DecisionTreeClassifier(max_leaf_nodes=10)"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"DecisionTreeClassifier(class_weight=None, criterion='gini', max_depth=None,\n",
" max_features=None, max_leaf_nodes=10, min_impurity_split=1e-07,\n",
" min_samples_leaf=1, min_samples_split=2,\n",
" min_weight_fraction_leaf=0.0, presort=False, random_state=None,\n",
" splitter='best')"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"drzewko"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"drzewko = drzewko.fit(train[[\"Klasa\",\"Age\",\"Dziecko/Dorosły\",\"Płeć\"]], train[\"Przetrwanie\"])"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"{'Age': 0.088324038125327783,\n",
" 'Dziecko/Dorosły': 0.0,\n",
" 'Klasa': 0.2003748631509486,\n",
" 'Płeć': 0.71130109872372371}"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dict(zip([\"Klasa\",\"Age\",\"Dziecko/Dorosły\",\"Płeć\"],list(drzewko.feature_importances_)))"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Tworzymy graf drzewa decyzyjnego"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from sklearn import tree\n",
"with open(\"titanic.dot\", \"w\") as f:\n",
" f = tree.export_graphviz(drzewko, feature_names = [\"Klasa\",\"Age\",\"Dziecko/Dorosły\",\"Płeć\"], out_file = f)"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"predictions = drzewko.predict(test[[\"Klasa\",\"Age\",\"Dziecko/Dorosły\",\"Płeć\"]])"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from sklearn.metrics import accuracy_score"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"### Sprawdzamy dokładność predykcji"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.8223140495867769"
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"accuracy_score(test[\"Przetrwanie\"], predictions)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"## Random Forest"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"from sklearn.ensemble import RandomForestClassifier\n",
"rf = RandomForestClassifier()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"rf"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"outputs": [],
"source": [
"def jaka_skutecznosc(rf):\n",
" rf = rf.fit(train[[\"Klasa\",\"Age\",\"Dziecko/Dorosły\",\"Płeć\"]], train[\"Przetrwanie\"])\n",
" predictions = rf.predict(test[[\"Klasa\",\"Age\",\"Dziecko/Dorosły\",\"Płeć\"]])\n",
" return accuracy_score(test[\"Przetrwanie\"],predictions)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"deletable": true,
"editable": true,
"scrolled": true
},
"outputs": [],
"source": [
"jaka_skutecznosc(rf)"
]
},
{
"cell_type": "markdown",
"metadata": {
"deletable": true,
"editable": true
},
"source": [
"# The Koniec"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true,
"deletable": true,
"editable": true
},
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}