Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
2
2023-362
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
2023-362
2023-362
Commits
3b68e467
Commit
3b68e467
authored
Nov 03, 2023
by
Nirmal M.D.S
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Upload New File
parent
00259407
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1587 additions
and
0 deletions
+1587
-0
IT20074340/Final_Naive_Bayes_Prediction.ipynb
IT20074340/Final_Naive_Bayes_Prediction.ipynb
+1587
-0
No files found.
IT20074340/Final_Naive_Bayes_Prediction.ipynb
0 → 100644
View file @
3b68e467
{
"cells"
:
[
{
"cell_type"
:
"code"
,
"execution_count"
:
null
,
"metadata"
:
{
"id"
:
"pIPRzpKBdHYW"
,
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"outputId"
:
"8e883495-ed72-4704-ee9d-f9c5a6465ebf"
},
"outputs"
:
[
{
"output_type"
:
"stream"
,
"name"
:
"stdout"
,
"text"
:
[
"Mounted at /content/drive
\n
"
]
}
],
"source"
:
[
"from google.colab import drive
\n
"
,
"drive.mount('/content/drive')"
]
},
{
"cell_type"
:
"code"
,
"execution_count"
:
null
,
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"EQWrFYcidIGL"
,
"outputId"
:
"6035b7de-c51d-4374-b143-01fa48ba3934"
},
"outputs"
:
[
{
"output_type"
:
"stream"
,
"name"
:
"stdout"
,
"text"
:
[
"/content/drive/My Drive/PP1 Practice
\n
"
]
}
],
"source"
:
[
"%cd
\"
/content/drive/My Drive/PP1 Practice/
\"
"
]
},
{
"cell_type"
:
"code"
,
"execution_count"
:
null
,
"metadata"
:
{
"id"
:
"7cIHFinPt0KH"
},
"outputs"
:
[],
"source"
:
[
"#import packages
\n
"
,
"import pandas as pd
\n
"
,
"from sklearn.feature_extraction.text import TfidfVectorizer
\n
"
,
"from sklearn.feature_extraction.text import CountVectorizer
\n
"
,
"from sklearn.model_selection import train_test_split
\n
"
,
"from sklearn.naive_bayes import MultinomialNB
\n
"
,
"
\n
"
,
"from sklearn.metrics import classification_report
\n
"
,
"from sklearn.metrics import accuracy_score"
]
},
{
"cell_type"
:
"code"
,
"execution_count"
:
null
,
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
,
"height"
:
206
},
"id"
:
"rl4NpPiKt4Y-"
,
"outputId"
:
"d2a60f7e-080a-456e-bf64-07586069b272"
},
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
" ProjectName TaskDescription
\\\n
"
,
"0 E-commerce Website Implement a user registration and login system...
\n
"
,
"1 Mobile App Development Develop a push notification feature for the mo...
\n
"
,
"2 Data Analytics Platform Build a data visualization module that present...
\n
"
,
"3 CRM System Upgrade Enhance the existing customer relationship man...
\n
"
,
"4 Bug Tracking Tool Create a web-based bug tracking tool that allo...
\n
"
,
"
\n
"
,
" Level
\n
"
,
"0 Low
\n
"
,
"1 Low
\n
"
,
"2 Low
\n
"
,
"3 Low
\n
"
,
"4 Low "
],
"text/html"
:
[
"
\n
"
,
" <div id=
\"
df-65fab58d-70aa-44dc-b052-21323b44bec0
\"
class=
\"
colab-df-container
\"
>
\n
"
,
" <div>
\n
"
,
"<style scoped>
\n
"
,
" .dataframe tbody tr th:only-of-type {\n"
,
" vertical-align: middle;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .dataframe tbody tr th {\n"
,
" vertical-align: top;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .dataframe thead th {\n"
,
" text-align: right;
\n
"
,
" }
\n
"
,
"</style>
\n
"
,
"<table border=
\"
1
\"
class=
\"
dataframe
\"
>
\n
"
,
" <thead>
\n
"
,
" <tr style=
\"
text-align: right;
\"
>
\n
"
,
" <th></th>
\n
"
,
" <th>ProjectName</th>
\n
"
,
" <th>TaskDescription</th>
\n
"
,
" <th>Level</th>
\n
"
,
" </tr>
\n
"
,
" </thead>
\n
"
,
" <tbody>
\n
"
,
" <tr>
\n
"
,
" <th>0</th>
\n
"
,
" <td>E-commerce Website</td>
\n
"
,
" <td>Implement a user registration and login system...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>1</th>
\n
"
,
" <td>Mobile App Development</td>
\n
"
,
" <td>Develop a push notification feature for the mo...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>2</th>
\n
"
,
" <td>Data Analytics Platform</td>
\n
"
,
" <td>Build a data visualization module that present...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>3</th>
\n
"
,
" <td>CRM System Upgrade</td>
\n
"
,
" <td>Enhance the existing customer relationship man...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>4</th>
\n
"
,
" <td>Bug Tracking Tool</td>
\n
"
,
" <td>Create a web-based bug tracking tool that allo...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" </tr>
\n
"
,
" </tbody>
\n
"
,
"</table>
\n
"
,
"</div>
\n
"
,
" <div class=
\"
colab-df-buttons
\"
>
\n
"
,
"
\n
"
,
" <div class=
\"
colab-df-container
\"
>
\n
"
,
" <button class=
\"
colab-df-convert
\"
onclick=
\"
convertToInteractive('df-65fab58d-70aa-44dc-b052-21323b44bec0')
\"\n
"
,
" title=
\"
Convert this dataframe to an interactive table.
\"\n
"
,
" style=
\"
display:none;
\"
>
\n
"
,
"
\n
"
,
" <svg xmlns=
\"
http://www.w3.org/2000/svg
\"
height=
\"
24px
\"
viewBox=
\"
0 -960 960 960
\"
>
\n
"
,
" <path d=
\"
M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z
\"
/>
\n
"
,
" </svg>
\n
"
,
" </button>
\n
"
,
"
\n
"
,
" <style>
\n
"
,
" .colab-df-container {\n"
,
" display:flex;
\n
"
,
" gap: 12px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-convert {\n"
,
" background-color: #E8F0FE;
\n
"
,
" border: none;
\n
"
,
" border-radius: 50%;
\n
"
,
" cursor: pointer;
\n
"
,
" display: none;
\n
"
,
" fill: #1967D2;
\n
"
,
" height: 32px;
\n
"
,
" padding: 0 0 0 0;
\n
"
,
" width: 32px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-convert:hover {\n"
,
" background-color: #E2EBFA;
\n
"
,
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);
\n
"
,
" fill: #174EA6;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-buttons div {\n"
,
" margin-bottom: 4px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" [theme=dark] .colab-df-convert {\n"
,
" background-color: #3B4455;
\n
"
,
" fill: #D2E3FC;
\n
"
,
" }
\n
"
,
"
\n
"
,
" [theme=dark] .colab-df-convert:hover {\n"
,
" background-color: #434B5C;
\n
"
,
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);
\n
"
,
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
\n
"
,
" fill: #FFFFFF;
\n
"
,
" }
\n
"
,
" </style>
\n
"
,
"
\n
"
,
" <script>
\n
"
,
" const buttonEl =
\n
"
,
" document.querySelector('#df-65fab58d-70aa-44dc-b052-21323b44bec0 button.colab-df-convert');
\n
"
,
" buttonEl.style.display =
\n
"
,
" google.colab.kernel.accessAllowed ? 'block' : 'none';
\n
"
,
"
\n
"
,
" async function convertToInteractive(key) {\n"
,
" const element = document.querySelector('#df-65fab58d-70aa-44dc-b052-21323b44bec0');
\n
"
,
" const dataTable =
\n
"
,
" await google.colab.kernel.invokeFunction('convertToInteractive',
\n
"
,
" [key], {});
\n
"
,
" if (!dataTable) return;
\n
"
,
"
\n
"
,
" const docLinkHtml = 'Like what you see? Visit the ' +
\n
"
,
" '<a target=
\"
_blank
\"
href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'
\n
"
,
" + ' to learn more about interactive tables.';
\n
"
,
" element.innerHTML = '';
\n
"
,
" dataTable['output_type'] = 'display_data';
\n
"
,
" await google.colab.output.renderOutput(dataTable, element);
\n
"
,
" const docLink = document.createElement('div');
\n
"
,
" docLink.innerHTML = docLinkHtml;
\n
"
,
" element.appendChild(docLink);
\n
"
,
" }
\n
"
,
" </script>
\n
"
,
" </div>
\n
"
,
"
\n
"
,
"
\n
"
,
"<div id=
\"
df-1451cc01-be01-4fc6-b22d-3ae6b9dcce52
\"
>
\n
"
,
" <button class=
\"
colab-df-quickchart
\"
onclick=
\"
quickchart('df-1451cc01-be01-4fc6-b22d-3ae6b9dcce52')
\"\n
"
,
" title=
\"
Suggest charts.
\"\n
"
,
" style=
\"
display:none;
\"
>
\n
"
,
"
\n
"
,
"<svg xmlns=
\"
http://www.w3.org/2000/svg
\"
height=
\"
24px
\"
viewBox=
\"
0 0 24 24
\"\n
"
,
" width=
\"
24px
\"
>
\n
"
,
" <g>
\n
"
,
" <path d=
\"
M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z
\"
/>
\n
"
,
" </g>
\n
"
,
"</svg>
\n
"
,
" </button>
\n
"
,
"
\n
"
,
"<style>
\n
"
,
" .colab-df-quickchart {\n"
,
" --bg-color: #E8F0FE;
\n
"
,
" --fill-color: #1967D2;
\n
"
,
" --hover-bg-color: #E2EBFA;
\n
"
,
" --hover-fill-color: #174EA6;
\n
"
,
" --disabled-fill-color: #AAA;
\n
"
,
" --disabled-bg-color: #DDD;
\n
"
,
" }
\n
"
,
"
\n
"
,
" [theme=dark] .colab-df-quickchart {\n"
,
" --bg-color: #3B4455;
\n
"
,
" --fill-color: #D2E3FC;
\n
"
,
" --hover-bg-color: #434B5C;
\n
"
,
" --hover-fill-color: #FFFFFF;
\n
"
,
" --disabled-bg-color: #3B4455;
\n
"
,
" --disabled-fill-color: #666;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-quickchart {\n"
,
" background-color: var(--bg-color);
\n
"
,
" border: none;
\n
"
,
" border-radius: 50%;
\n
"
,
" cursor: pointer;
\n
"
,
" display: none;
\n
"
,
" fill: var(--fill-color);
\n
"
,
" height: 32px;
\n
"
,
" padding: 0;
\n
"
,
" width: 32px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-quickchart:hover {\n"
,
" background-color: var(--hover-bg-color);
\n
"
,
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);
\n
"
,
" fill: var(--button-hover-fill-color);
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-quickchart-complete:disabled,
\n
"
,
" .colab-df-quickchart-complete:disabled:hover {\n"
,
" background-color: var(--disabled-bg-color);
\n
"
,
" fill: var(--disabled-fill-color);
\n
"
,
" box-shadow: none;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-spinner {\n"
,
" border: 2px solid var(--fill-color);
\n
"
,
" border-color: transparent;
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" animation:
\n
"
,
" spin 1s steps(1) infinite;
\n
"
,
" }
\n
"
,
"
\n
"
,
" @keyframes spin {\n"
,
" 0% {\n"
,
" border-color: transparent;
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" border-left-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 20% {\n"
,
" border-color: transparent;
\n
"
,
" border-left-color: var(--fill-color);
\n
"
,
" border-top-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 30% {\n"
,
" border-color: transparent;
\n
"
,
" border-left-color: var(--fill-color);
\n
"
,
" border-top-color: var(--fill-color);
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 40% {\n"
,
" border-color: transparent;
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" border-top-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 60% {\n"
,
" border-color: transparent;
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 80% {\n"
,
" border-color: transparent;
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 90% {\n"
,
" border-color: transparent;
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" }
\n
"
,
"</style>
\n
"
,
"
\n
"
,
" <script>
\n
"
,
" async function quickchart(key) {\n"
,
" const quickchartButtonEl =
\n
"
,
" document.querySelector('#' + key + ' button');
\n
"
,
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.
\n
"
,
" quickchartButtonEl.classList.add('colab-df-spinner');
\n
"
,
" try {\n"
,
" const charts = await google.colab.kernel.invokeFunction(
\n
"
,
" 'suggestCharts', [key], {});
\n
"
,
" } catch (error) {\n"
,
" console.error('Error during call to suggestCharts:', error);
\n
"
,
" }
\n
"
,
" quickchartButtonEl.classList.remove('colab-df-spinner');
\n
"
,
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');
\n
"
,
" }
\n
"
,
" (() => {\n"
,
" let quickchartButtonEl =
\n
"
,
" document.querySelector('#df-1451cc01-be01-4fc6-b22d-3ae6b9dcce52 button');
\n
"
,
" quickchartButtonEl.style.display =
\n
"
,
" google.colab.kernel.accessAllowed ? 'block' : 'none';
\n
"
,
" })();
\n
"
,
" </script>
\n
"
,
"</div>
\n
"
,
" </div>
\n
"
,
" </div>
\n
"
]
},
"metadata"
:
{},
"execution_count"
:
5
}
],
"source"
:
[
"#import data
\n
"
,
"df = pd.read_csv(
\"
/content/drive/MyDrive/PP1 Practice/TaskDescCopy3.csv
\"
)
\n
"
,
"
\n
"
,
"#inspect dataset
\n
"
,
"df.head()"
]
},
{
"cell_type"
:
"code"
,
"execution_count"
:
null
,
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
,
"height"
:
210
},
"id"
:
"N7VfsALBt7E1"
,
"outputId"
:
"bf9728f0-4cb3-4ab1-c280-35d27c427a98"
},
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
" ProjectName
\\\n
"
,
" count unique top freq
\n
"
,
"Level
\n
"
,
"High 54 47 Recommendation System Evaluation 2
\n
"
,
"Low 94 82 Progressive Web Application 2
\n
"
,
"
\n
"
,
" TaskDescription
\\\n
"
,
" count unique
\n
"
,
"Level
\n
"
,
"High 54 47
\n
"
,
"Low 94 84
\n
"
,
"
\n
"
,
"
\n
"
,
" top freq
\n
"
,
"Level
\n
"
,
"High Evaluate and fine-tune the performance of a re... 2
\n
"
,
"Low Develop a custom data visualization library fo... 2 "
],
"text/html"
:
[
"
\n
"
,
" <div id=
\"
df-03695561-a5c6-4a46-bad1-590895806da8
\"
class=
\"
colab-df-container
\"
>
\n
"
,
" <div>
\n
"
,
"<style scoped>
\n
"
,
" .dataframe tbody tr th:only-of-type {\n"
,
" vertical-align: middle;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .dataframe tbody tr th {\n"
,
" vertical-align: top;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .dataframe thead tr th {\n"
,
" text-align: left;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .dataframe thead tr:last-of-type th {\n"
,
" text-align: right;
\n
"
,
" }
\n
"
,
"</style>
\n
"
,
"<table border=
\"
1
\"
class=
\"
dataframe
\"
>
\n
"
,
" <thead>
\n
"
,
" <tr>
\n
"
,
" <th></th>
\n
"
,
" <th colspan=
\"
4
\"
halign=
\"
left
\"
>ProjectName</th>
\n
"
,
" <th colspan=
\"
4
\"
halign=
\"
left
\"
>TaskDescription</th>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th></th>
\n
"
,
" <th>count</th>
\n
"
,
" <th>unique</th>
\n
"
,
" <th>top</th>
\n
"
,
" <th>freq</th>
\n
"
,
" <th>count</th>
\n
"
,
" <th>unique</th>
\n
"
,
" <th>top</th>
\n
"
,
" <th>freq</th>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>Level</th>
\n
"
,
" <th></th>
\n
"
,
" <th></th>
\n
"
,
" <th></th>
\n
"
,
" <th></th>
\n
"
,
" <th></th>
\n
"
,
" <th></th>
\n
"
,
" <th></th>
\n
"
,
" <th></th>
\n
"
,
" </tr>
\n
"
,
" </thead>
\n
"
,
" <tbody>
\n
"
,
" <tr>
\n
"
,
" <th>High</th>
\n
"
,
" <td>54</td>
\n
"
,
" <td>47</td>
\n
"
,
" <td>Recommendation System Evaluation</td>
\n
"
,
" <td>2</td>
\n
"
,
" <td>54</td>
\n
"
,
" <td>47</td>
\n
"
,
" <td>Evaluate and fine-tune the performance of a re...</td>
\n
"
,
" <td>2</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>Low</th>
\n
"
,
" <td>94</td>
\n
"
,
" <td>82</td>
\n
"
,
" <td>Progressive Web Application</td>
\n
"
,
" <td>2</td>
\n
"
,
" <td>94</td>
\n
"
,
" <td>84</td>
\n
"
,
" <td>Develop a custom data visualization library fo...</td>
\n
"
,
" <td>2</td>
\n
"
,
" </tr>
\n
"
,
" </tbody>
\n
"
,
"</table>
\n
"
,
"</div>
\n
"
,
" <div class=
\"
colab-df-buttons
\"
>
\n
"
,
"
\n
"
,
" <div class=
\"
colab-df-container
\"
>
\n
"
,
" <button class=
\"
colab-df-convert
\"
onclick=
\"
convertToInteractive('df-03695561-a5c6-4a46-bad1-590895806da8')
\"\n
"
,
" title=
\"
Convert this dataframe to an interactive table.
\"\n
"
,
" style=
\"
display:none;
\"
>
\n
"
,
"
\n
"
,
" <svg xmlns=
\"
http://www.w3.org/2000/svg
\"
height=
\"
24px
\"
viewBox=
\"
0 -960 960 960
\"
>
\n
"
,
" <path d=
\"
M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z
\"
/>
\n
"
,
" </svg>
\n
"
,
" </button>
\n
"
,
"
\n
"
,
" <style>
\n
"
,
" .colab-df-container {\n"
,
" display:flex;
\n
"
,
" gap: 12px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-convert {\n"
,
" background-color: #E8F0FE;
\n
"
,
" border: none;
\n
"
,
" border-radius: 50%;
\n
"
,
" cursor: pointer;
\n
"
,
" display: none;
\n
"
,
" fill: #1967D2;
\n
"
,
" height: 32px;
\n
"
,
" padding: 0 0 0 0;
\n
"
,
" width: 32px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-convert:hover {\n"
,
" background-color: #E2EBFA;
\n
"
,
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);
\n
"
,
" fill: #174EA6;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-buttons div {\n"
,
" margin-bottom: 4px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" [theme=dark] .colab-df-convert {\n"
,
" background-color: #3B4455;
\n
"
,
" fill: #D2E3FC;
\n
"
,
" }
\n
"
,
"
\n
"
,
" [theme=dark] .colab-df-convert:hover {\n"
,
" background-color: #434B5C;
\n
"
,
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);
\n
"
,
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
\n
"
,
" fill: #FFFFFF;
\n
"
,
" }
\n
"
,
" </style>
\n
"
,
"
\n
"
,
" <script>
\n
"
,
" const buttonEl =
\n
"
,
" document.querySelector('#df-03695561-a5c6-4a46-bad1-590895806da8 button.colab-df-convert');
\n
"
,
" buttonEl.style.display =
\n
"
,
" google.colab.kernel.accessAllowed ? 'block' : 'none';
\n
"
,
"
\n
"
,
" async function convertToInteractive(key) {\n"
,
" const element = document.querySelector('#df-03695561-a5c6-4a46-bad1-590895806da8');
\n
"
,
" const dataTable =
\n
"
,
" await google.colab.kernel.invokeFunction('convertToInteractive',
\n
"
,
" [key], {});
\n
"
,
" if (!dataTable) return;
\n
"
,
"
\n
"
,
" const docLinkHtml = 'Like what you see? Visit the ' +
\n
"
,
" '<a target=
\"
_blank
\"
href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'
\n
"
,
" + ' to learn more about interactive tables.';
\n
"
,
" element.innerHTML = '';
\n
"
,
" dataTable['output_type'] = 'display_data';
\n
"
,
" await google.colab.output.renderOutput(dataTable, element);
\n
"
,
" const docLink = document.createElement('div');
\n
"
,
" docLink.innerHTML = docLinkHtml;
\n
"
,
" element.appendChild(docLink);
\n
"
,
" }
\n
"
,
" </script>
\n
"
,
" </div>
\n
"
,
"
\n
"
,
"
\n
"
,
"<div id=
\"
df-95404b73-c644-4d4d-9790-d47c084d8012
\"
>
\n
"
,
" <button class=
\"
colab-df-quickchart
\"
onclick=
\"
quickchart('df-95404b73-c644-4d4d-9790-d47c084d8012')
\"\n
"
,
" title=
\"
Suggest charts.
\"\n
"
,
" style=
\"
display:none;
\"
>
\n
"
,
"
\n
"
,
"<svg xmlns=
\"
http://www.w3.org/2000/svg
\"
height=
\"
24px
\"
viewBox=
\"
0 0 24 24
\"\n
"
,
" width=
\"
24px
\"
>
\n
"
,
" <g>
\n
"
,
" <path d=
\"
M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z
\"
/>
\n
"
,
" </g>
\n
"
,
"</svg>
\n
"
,
" </button>
\n
"
,
"
\n
"
,
"<style>
\n
"
,
" .colab-df-quickchart {\n"
,
" --bg-color: #E8F0FE;
\n
"
,
" --fill-color: #1967D2;
\n
"
,
" --hover-bg-color: #E2EBFA;
\n
"
,
" --hover-fill-color: #174EA6;
\n
"
,
" --disabled-fill-color: #AAA;
\n
"
,
" --disabled-bg-color: #DDD;
\n
"
,
" }
\n
"
,
"
\n
"
,
" [theme=dark] .colab-df-quickchart {\n"
,
" --bg-color: #3B4455;
\n
"
,
" --fill-color: #D2E3FC;
\n
"
,
" --hover-bg-color: #434B5C;
\n
"
,
" --hover-fill-color: #FFFFFF;
\n
"
,
" --disabled-bg-color: #3B4455;
\n
"
,
" --disabled-fill-color: #666;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-quickchart {\n"
,
" background-color: var(--bg-color);
\n
"
,
" border: none;
\n
"
,
" border-radius: 50%;
\n
"
,
" cursor: pointer;
\n
"
,
" display: none;
\n
"
,
" fill: var(--fill-color);
\n
"
,
" height: 32px;
\n
"
,
" padding: 0;
\n
"
,
" width: 32px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-quickchart:hover {\n"
,
" background-color: var(--hover-bg-color);
\n
"
,
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);
\n
"
,
" fill: var(--button-hover-fill-color);
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-quickchart-complete:disabled,
\n
"
,
" .colab-df-quickchart-complete:disabled:hover {\n"
,
" background-color: var(--disabled-bg-color);
\n
"
,
" fill: var(--disabled-fill-color);
\n
"
,
" box-shadow: none;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-spinner {\n"
,
" border: 2px solid var(--fill-color);
\n
"
,
" border-color: transparent;
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" animation:
\n
"
,
" spin 1s steps(1) infinite;
\n
"
,
" }
\n
"
,
"
\n
"
,
" @keyframes spin {\n"
,
" 0% {\n"
,
" border-color: transparent;
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" border-left-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 20% {\n"
,
" border-color: transparent;
\n
"
,
" border-left-color: var(--fill-color);
\n
"
,
" border-top-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 30% {\n"
,
" border-color: transparent;
\n
"
,
" border-left-color: var(--fill-color);
\n
"
,
" border-top-color: var(--fill-color);
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 40% {\n"
,
" border-color: transparent;
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" border-top-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 60% {\n"
,
" border-color: transparent;
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 80% {\n"
,
" border-color: transparent;
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 90% {\n"
,
" border-color: transparent;
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" }
\n
"
,
"</style>
\n
"
,
"
\n
"
,
" <script>
\n
"
,
" async function quickchart(key) {\n"
,
" const quickchartButtonEl =
\n
"
,
" document.querySelector('#' + key + ' button');
\n
"
,
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.
\n
"
,
" quickchartButtonEl.classList.add('colab-df-spinner');
\n
"
,
" try {\n"
,
" const charts = await google.colab.kernel.invokeFunction(
\n
"
,
" 'suggestCharts', [key], {});
\n
"
,
" } catch (error) {\n"
,
" console.error('Error during call to suggestCharts:', error);
\n
"
,
" }
\n
"
,
" quickchartButtonEl.classList.remove('colab-df-spinner');
\n
"
,
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');
\n
"
,
" }
\n
"
,
" (() => {\n"
,
" let quickchartButtonEl =
\n
"
,
" document.querySelector('#df-95404b73-c644-4d4d-9790-d47c084d8012 button');
\n
"
,
" quickchartButtonEl.style.display =
\n
"
,
" google.colab.kernel.accessAllowed ? 'block' : 'none';
\n
"
,
" })();
\n
"
,
" </script>
\n
"
,
"</div>
\n
"
,
" </div>
\n
"
,
" </div>
\n
"
]
},
"metadata"
:
{},
"execution_count"
:
6
}
],
"source"
:
[
"df.groupby('Level').describe()"
]
},
{
"cell_type"
:
"code"
,
"execution_count"
:
null
,
"metadata"
:
{
"id"
:
"N55IenEMBV85"
},
"outputs"
:
[],
"source"
:
[
"df['high'] = df['Level'].apply(lambda x: 1 if x == 'High' else 0)"
]
},
{
"cell_type"
:
"code"
,
"execution_count"
:
null
,
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
,
"height"
:
424
},
"id"
:
"CpYAkj8iDqum"
,
"outputId"
:
"337669eb-4119-4c77-fb75-a397ecd83764"
},
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
" ProjectName
\\\n
"
,
"0 E-commerce Website
\n
"
,
"1 Mobile App Development
\n
"
,
"2 Data Analytics Platform
\n
"
,
"3 CRM System Upgrade
\n
"
,
"4 Bug Tracking Tool
\n
"
,
".. ...
\n
"
,
"143 Gamification Feature
\n
"
,
"144 Natural Language Understanding
\n
"
,
"145 Conversational Surveys
\n
"
,
"146 Data Privacy Impact Assessment
\n
"
,
"147 A/B Testing Platform
\n
"
,
"
\n
"
,
" TaskDescription Level high
\n
"
,
"0 Implement a user registration and login system... Low 0
\n
"
,
"1 Develop a push notification feature for the mo... Low 0
\n
"
,
"2 Build a data visualization module that present... Low 0
\n
"
,
"3 Enhance the existing customer relationship man... Low 0
\n
"
,
"4 Create a web-based bug tracking tool that allo... Low 0
\n
"
,
".. ... ... ...
\n
"
,
"143 Implement gamification features to enhance use... Low 0
\n
"
,
"144 Implement natural language understanding (NLU)... Low 0
\n
"
,
"145 Develop conversational surveys to collect feed... Low 0
\n
"
,
"146 Conduct a data privacy impact assessment (DPIA... High 1
\n
"
,
"147 Design and develop an A/B testing platform for... Low 0
\n
"
,
"
\n
"
,
"[148 rows x 4 columns]"
],
"text/html"
:
[
"
\n
"
,
" <div id=
\"
df-05b5924d-8eb6-41e7-bd96-af2144ab6f3f
\"
class=
\"
colab-df-container
\"
>
\n
"
,
" <div>
\n
"
,
"<style scoped>
\n
"
,
" .dataframe tbody tr th:only-of-type {\n"
,
" vertical-align: middle;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .dataframe tbody tr th {\n"
,
" vertical-align: top;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .dataframe thead th {\n"
,
" text-align: right;
\n
"
,
" }
\n
"
,
"</style>
\n
"
,
"<table border=
\"
1
\"
class=
\"
dataframe
\"
>
\n
"
,
" <thead>
\n
"
,
" <tr style=
\"
text-align: right;
\"
>
\n
"
,
" <th></th>
\n
"
,
" <th>ProjectName</th>
\n
"
,
" <th>TaskDescription</th>
\n
"
,
" <th>Level</th>
\n
"
,
" <th>high</th>
\n
"
,
" </tr>
\n
"
,
" </thead>
\n
"
,
" <tbody>
\n
"
,
" <tr>
\n
"
,
" <th>0</th>
\n
"
,
" <td>E-commerce Website</td>
\n
"
,
" <td>Implement a user registration and login system...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" <td>0</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>1</th>
\n
"
,
" <td>Mobile App Development</td>
\n
"
,
" <td>Develop a push notification feature for the mo...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" <td>0</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>2</th>
\n
"
,
" <td>Data Analytics Platform</td>
\n
"
,
" <td>Build a data visualization module that present...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" <td>0</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>3</th>
\n
"
,
" <td>CRM System Upgrade</td>
\n
"
,
" <td>Enhance the existing customer relationship man...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" <td>0</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>4</th>
\n
"
,
" <td>Bug Tracking Tool</td>
\n
"
,
" <td>Create a web-based bug tracking tool that allo...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" <td>0</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>...</th>
\n
"
,
" <td>...</td>
\n
"
,
" <td>...</td>
\n
"
,
" <td>...</td>
\n
"
,
" <td>...</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>143</th>
\n
"
,
" <td>Gamification Feature</td>
\n
"
,
" <td>Implement gamification features to enhance use...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" <td>0</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>144</th>
\n
"
,
" <td>Natural Language Understanding</td>
\n
"
,
" <td>Implement natural language understanding (NLU)...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" <td>0</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>145</th>
\n
"
,
" <td>Conversational Surveys</td>
\n
"
,
" <td>Develop conversational surveys to collect feed...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" <td>0</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>146</th>
\n
"
,
" <td>Data Privacy Impact Assessment</td>
\n
"
,
" <td>Conduct a data privacy impact assessment (DPIA...</td>
\n
"
,
" <td>High</td>
\n
"
,
" <td>1</td>
\n
"
,
" </tr>
\n
"
,
" <tr>
\n
"
,
" <th>147</th>
\n
"
,
" <td>A/B Testing Platform</td>
\n
"
,
" <td>Design and develop an A/B testing platform for...</td>
\n
"
,
" <td>Low</td>
\n
"
,
" <td>0</td>
\n
"
,
" </tr>
\n
"
,
" </tbody>
\n
"
,
"</table>
\n
"
,
"<p>148 rows × 4 columns</p>
\n
"
,
"</div>
\n
"
,
" <div class=
\"
colab-df-buttons
\"
>
\n
"
,
"
\n
"
,
" <div class=
\"
colab-df-container
\"
>
\n
"
,
" <button class=
\"
colab-df-convert
\"
onclick=
\"
convertToInteractive('df-05b5924d-8eb6-41e7-bd96-af2144ab6f3f')
\"\n
"
,
" title=
\"
Convert this dataframe to an interactive table.
\"\n
"
,
" style=
\"
display:none;
\"
>
\n
"
,
"
\n
"
,
" <svg xmlns=
\"
http://www.w3.org/2000/svg
\"
height=
\"
24px
\"
viewBox=
\"
0 -960 960 960
\"
>
\n
"
,
" <path d=
\"
M120-120v-720h720v720H120Zm60-500h600v-160H180v160Zm220 220h160v-160H400v160Zm0 220h160v-160H400v160ZM180-400h160v-160H180v160Zm440 0h160v-160H620v160ZM180-180h160v-160H180v160Zm440 0h160v-160H620v160Z
\"
/>
\n
"
,
" </svg>
\n
"
,
" </button>
\n
"
,
"
\n
"
,
" <style>
\n
"
,
" .colab-df-container {\n"
,
" display:flex;
\n
"
,
" gap: 12px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-convert {\n"
,
" background-color: #E8F0FE;
\n
"
,
" border: none;
\n
"
,
" border-radius: 50%;
\n
"
,
" cursor: pointer;
\n
"
,
" display: none;
\n
"
,
" fill: #1967D2;
\n
"
,
" height: 32px;
\n
"
,
" padding: 0 0 0 0;
\n
"
,
" width: 32px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-convert:hover {\n"
,
" background-color: #E2EBFA;
\n
"
,
" box-shadow: 0px 1px 2px rgba(60, 64, 67, 0.3), 0px 1px 3px 1px rgba(60, 64, 67, 0.15);
\n
"
,
" fill: #174EA6;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-buttons div {\n"
,
" margin-bottom: 4px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" [theme=dark] .colab-df-convert {\n"
,
" background-color: #3B4455;
\n
"
,
" fill: #D2E3FC;
\n
"
,
" }
\n
"
,
"
\n
"
,
" [theme=dark] .colab-df-convert:hover {\n"
,
" background-color: #434B5C;
\n
"
,
" box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.15);
\n
"
,
" filter: drop-shadow(0px 1px 2px rgba(0, 0, 0, 0.3));
\n
"
,
" fill: #FFFFFF;
\n
"
,
" }
\n
"
,
" </style>
\n
"
,
"
\n
"
,
" <script>
\n
"
,
" const buttonEl =
\n
"
,
" document.querySelector('#df-05b5924d-8eb6-41e7-bd96-af2144ab6f3f button.colab-df-convert');
\n
"
,
" buttonEl.style.display =
\n
"
,
" google.colab.kernel.accessAllowed ? 'block' : 'none';
\n
"
,
"
\n
"
,
" async function convertToInteractive(key) {\n"
,
" const element = document.querySelector('#df-05b5924d-8eb6-41e7-bd96-af2144ab6f3f');
\n
"
,
" const dataTable =
\n
"
,
" await google.colab.kernel.invokeFunction('convertToInteractive',
\n
"
,
" [key], {});
\n
"
,
" if (!dataTable) return;
\n
"
,
"
\n
"
,
" const docLinkHtml = 'Like what you see? Visit the ' +
\n
"
,
" '<a target=
\"
_blank
\"
href=https://colab.research.google.com/notebooks/data_table.ipynb>data table notebook</a>'
\n
"
,
" + ' to learn more about interactive tables.';
\n
"
,
" element.innerHTML = '';
\n
"
,
" dataTable['output_type'] = 'display_data';
\n
"
,
" await google.colab.output.renderOutput(dataTable, element);
\n
"
,
" const docLink = document.createElement('div');
\n
"
,
" docLink.innerHTML = docLinkHtml;
\n
"
,
" element.appendChild(docLink);
\n
"
,
" }
\n
"
,
" </script>
\n
"
,
" </div>
\n
"
,
"
\n
"
,
"
\n
"
,
"<div id=
\"
df-63938025-cce3-48cd-80a4-282bf55d5152
\"
>
\n
"
,
" <button class=
\"
colab-df-quickchart
\"
onclick=
\"
quickchart('df-63938025-cce3-48cd-80a4-282bf55d5152')
\"\n
"
,
" title=
\"
Suggest charts.
\"\n
"
,
" style=
\"
display:none;
\"
>
\n
"
,
"
\n
"
,
"<svg xmlns=
\"
http://www.w3.org/2000/svg
\"
height=
\"
24px
\"
viewBox=
\"
0 0 24 24
\"\n
"
,
" width=
\"
24px
\"
>
\n
"
,
" <g>
\n
"
,
" <path d=
\"
M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z
\"
/>
\n
"
,
" </g>
\n
"
,
"</svg>
\n
"
,
" </button>
\n
"
,
"
\n
"
,
"<style>
\n
"
,
" .colab-df-quickchart {\n"
,
" --bg-color: #E8F0FE;
\n
"
,
" --fill-color: #1967D2;
\n
"
,
" --hover-bg-color: #E2EBFA;
\n
"
,
" --hover-fill-color: #174EA6;
\n
"
,
" --disabled-fill-color: #AAA;
\n
"
,
" --disabled-bg-color: #DDD;
\n
"
,
" }
\n
"
,
"
\n
"
,
" [theme=dark] .colab-df-quickchart {\n"
,
" --bg-color: #3B4455;
\n
"
,
" --fill-color: #D2E3FC;
\n
"
,
" --hover-bg-color: #434B5C;
\n
"
,
" --hover-fill-color: #FFFFFF;
\n
"
,
" --disabled-bg-color: #3B4455;
\n
"
,
" --disabled-fill-color: #666;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-quickchart {\n"
,
" background-color: var(--bg-color);
\n
"
,
" border: none;
\n
"
,
" border-radius: 50%;
\n
"
,
" cursor: pointer;
\n
"
,
" display: none;
\n
"
,
" fill: var(--fill-color);
\n
"
,
" height: 32px;
\n
"
,
" padding: 0;
\n
"
,
" width: 32px;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-quickchart:hover {\n"
,
" background-color: var(--hover-bg-color);
\n
"
,
" box-shadow: 0 1px 2px rgba(60, 64, 67, 0.3), 0 1px 3px 1px rgba(60, 64, 67, 0.15);
\n
"
,
" fill: var(--button-hover-fill-color);
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-quickchart-complete:disabled,
\n
"
,
" .colab-df-quickchart-complete:disabled:hover {\n"
,
" background-color: var(--disabled-bg-color);
\n
"
,
" fill: var(--disabled-fill-color);
\n
"
,
" box-shadow: none;
\n
"
,
" }
\n
"
,
"
\n
"
,
" .colab-df-spinner {\n"
,
" border: 2px solid var(--fill-color);
\n
"
,
" border-color: transparent;
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" animation:
\n
"
,
" spin 1s steps(1) infinite;
\n
"
,
" }
\n
"
,
"
\n
"
,
" @keyframes spin {\n"
,
" 0% {\n"
,
" border-color: transparent;
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" border-left-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 20% {\n"
,
" border-color: transparent;
\n
"
,
" border-left-color: var(--fill-color);
\n
"
,
" border-top-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 30% {\n"
,
" border-color: transparent;
\n
"
,
" border-left-color: var(--fill-color);
\n
"
,
" border-top-color: var(--fill-color);
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 40% {\n"
,
" border-color: transparent;
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" border-top-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 60% {\n"
,
" border-color: transparent;
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 80% {\n"
,
" border-color: transparent;
\n
"
,
" border-right-color: var(--fill-color);
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" 90% {\n"
,
" border-color: transparent;
\n
"
,
" border-bottom-color: var(--fill-color);
\n
"
,
" }
\n
"
,
" }
\n
"
,
"</style>
\n
"
,
"
\n
"
,
" <script>
\n
"
,
" async function quickchart(key) {\n"
,
" const quickchartButtonEl =
\n
"
,
" document.querySelector('#' + key + ' button');
\n
"
,
" quickchartButtonEl.disabled = true; // To prevent multiple clicks.
\n
"
,
" quickchartButtonEl.classList.add('colab-df-spinner');
\n
"
,
" try {\n"
,
" const charts = await google.colab.kernel.invokeFunction(
\n
"
,
" 'suggestCharts', [key], {});
\n
"
,
" } catch (error) {\n"
,
" console.error('Error during call to suggestCharts:', error);
\n
"
,
" }
\n
"
,
" quickchartButtonEl.classList.remove('colab-df-spinner');
\n
"
,
" quickchartButtonEl.classList.add('colab-df-quickchart-complete');
\n
"
,
" }
\n
"
,
" (() => {\n"
,
" let quickchartButtonEl =
\n
"
,
" document.querySelector('#df-63938025-cce3-48cd-80a4-282bf55d5152 button');
\n
"
,
" quickchartButtonEl.style.display =
\n
"
,
" google.colab.kernel.accessAllowed ? 'block' : 'none';
\n
"
,
" })();
\n
"
,
" </script>
\n
"
,
"</div>
\n
"
,
" </div>
\n
"
,
" </div>
\n
"
]
},
"metadata"
:
{},
"execution_count"
:
8
}
],
"source"
:
[
"df"
]
},
{
"cell_type"
:
"code"
,
"execution_count"
:
null
,
"metadata"
:
{
"id"
:
"9XVubeEMDwJN"
},
"outputs"
:
[],
"source"
:
[
"#train test split
\n
"
,
"x_train, x_test, y_train, y_test = train_test_split(df.TaskDescription, df.high, test_size=0.2)"
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"x_train"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"XkomH8f2215K"
,
"outputId"
:
"e56869db-7caa-4fca-d370-38fa26c1f2cd"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
"127 Optimize cloud costs by analyzing resource usa...
\n
"
,
"111 Design and develop an A/B testing platform for...
\n
"
,
"146 Conduct a data privacy impact assessment (DPIA...
\n
"
,
"90 Implement a speech recognition system to conve...
\n
"
,
"45 Develop an inventory management system to trac...
\n
"
,
" ...
\n
"
,
"18 Redesign the company website to make it more m...
\n
"
,
"123 Implement voice biometrics for user authentica...
\n
"
,
"129 Perform sales funnel analysis to identify bott...
\n
"
,
"3 Enhance the existing customer relationship man...
\n
"
,
"39 Develop a chatbot feature for customer support...
\n
"
,
"Name: TaskDescription, Length: 118, dtype: object"
]
},
"metadata"
:
{},
"execution_count"
:
10
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"x_train.describe()"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"hAaehk3024w2"
,
"outputId"
:
"694b3746-a488-4081-b7ae-f3290e300772"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
"count 118
\n
"
,
"unique 109
\n
"
,
"top Design and implement a data lake architecture ...
\n
"
,
"freq 2
\n
"
,
"Name: TaskDescription, dtype: object"
]
},
"metadata"
:
{},
"execution_count"
:
11
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"#find the word count and storing data in a numerical matrix
\n
"
,
"cv = CountVectorizer()
\n
"
,
"x_train_count = cv.fit_transform(x_train.values) #turning the descriptions in train dataset into a matrix
\n
"
],
"metadata"
:
{
"id"
:
"_td_dr0s3CBN"
},
"execution_count"
:
null
,
"outputs"
:
[]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"x_train_count"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"S5ufUn1-4dpf"
,
"outputId"
:
"898b7896-84b8-4aec-843b-01fd75a40b37"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
"<118x798 sparse matrix of type '<class 'numpy.int64'>'
\n
"
,
"
\t
with 2333 stored elements in Compressed Sparse Row format>"
]
},
"metadata"
:
{},
"execution_count"
:
13
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"x_train_count.toarray()"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"n5WzCLqX4h9M"
,
"outputId"
:
"a76ef34f-2172-4db1-9894-7c1e9e579337"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
"array([[0, 0, 0, ..., 0, 0, 0],
\n
"
,
" [0, 0, 0, ..., 0, 0, 0],
\n
"
,
" [0, 0, 0, ..., 0, 0, 0],
\n
"
,
" ...,
\n
"
,
" [0, 0, 0, ..., 0, 0, 0],
\n
"
,
" [0, 0, 0, ..., 0, 0, 0],
\n
"
,
" [0, 0, 0, ..., 0, 0, 0]])"
]
},
"metadata"
:
{},
"execution_count"
:
14
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"#train model
\n
"
,
"model = MultinomialNB()
\n
"
,
"model.fit(x_train_count, y_train) #training the model using our converted x train value set and y_train data"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
,
"height"
:
75
},
"id"
:
"OejJluIB4pO8"
,
"outputId"
:
"f7ddef8e-ff54-4716-e005-e204644b0491"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
"MultinomialNB()"
],
"text/html"
:
[
"<style>#sk-container-id-1 {color: black;background-color: white;}#sk-container-id-1 pre{padding: 0;}#sk-container-id-1 div.sk-toggleable {background-color: white;}#sk-container-id-1 label.sk-toggleable__label {cursor: pointer;display: block;width: 100%;margin-bottom: 0;padding: 0.3em;box-sizing: border-box;text-align: center;}#sk-container-id-1 label.sk-toggleable__label-arrow:before {content:
\"
▸
\"
;float: left;margin-right: 0.25em;color: #696969;}#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {color: black;}#sk-container-id-1 div.sk-estimator:hover label.sk-toggleable__label-arrow:before {color: black;}#sk-container-id-1 div.sk-toggleable__content {max-height: 0;max-width: 0;overflow: hidden;text-align: left;background-color: #f0f8ff;}#sk-container-id-1 div.sk-toggleable__content pre {margin: 0.2em;color: black;border-radius: 0.25em;background-color: #f0f8ff;}#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {max-height: 200px;max-width: 100%;overflow: auto;}#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {content:
\"
▾
\"
;}#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 input.sk-hidden--visually {border: 0;clip: rect(1px 1px 1px 1px);clip: rect(1px, 1px, 1px, 1px);height: 1px;margin: -1px;overflow: hidden;padding: 0;position: absolute;width: 1px;}#sk-container-id-1 div.sk-estimator {font-family: monospace;background-color: #f0f8ff;border: 1px dotted black;border-radius: 0.25em;box-sizing: border-box;margin-bottom: 0.5em;}#sk-container-id-1 div.sk-estimator:hover {background-color: #d4ebff;}#sk-container-id-1 div.sk-parallel-item::after {content:
\"\"
;width: 100%;border-bottom: 1px solid gray;flex-grow: 1;}#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {background-color: #d4ebff;}#sk-container-id-1 div.sk-serial::before {content:
\"\"
;position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: 0;}#sk-container-id-1 div.sk-serial {display: flex;flex-direction: column;align-items: center;background-color: white;padding-right: 0.2em;padding-left: 0.2em;position: relative;}#sk-container-id-1 div.sk-item {position: relative;z-index: 1;}#sk-container-id-1 div.sk-parallel {display: flex;align-items: stretch;justify-content: center;background-color: white;position: relative;}#sk-container-id-1 div.sk-item::before, #sk-container-id-1 div.sk-parallel-item::before {content:
\"\"
;position: absolute;border-left: 1px solid gray;box-sizing: border-box;top: 0;bottom: 0;left: 50%;z-index: -1;}#sk-container-id-1 div.sk-parallel-item {display: flex;flex-direction: column;z-index: 1;position: relative;background-color: white;}#sk-container-id-1 div.sk-parallel-item:first-child::after {align-self: flex-end;width: 50%;}#sk-container-id-1 div.sk-parallel-item:last-child::after {align-self: flex-start;width: 50%;}#sk-container-id-1 div.sk-parallel-item:only-child::after {width: 0;}#sk-container-id-1 div.sk-dashed-wrapped {border: 1px dashed gray;margin: 0 0.4em 0.5em 0.4em;box-sizing: border-box;padding-bottom: 0.4em;background-color: white;}#sk-container-id-1 div.sk-label label {font-family: monospace;font-weight: bold;display: inline-block;line-height: 1.2em;}#sk-container-id-1 div.sk-label-container {text-align: center;}#sk-container-id-1 div.sk-container {/* jupyter's `normalize.less` sets `[hidden] { display: none; }` but bootstrap.min.css set `[hidden] { display: none !important; }` so we also need the `!important` here to be able to override the default hidden behavior on the sphinx rendered scikit-learn.org. See: https://github.com/scikit-learn/scikit-learn/issues/21755 */display: inline-block !important;position: relative;}#sk-container-id-1 div.sk-text-repr-fallback {display: none;}</style><div id=
\"
sk-container-id-1
\"
class=
\"
sk-top-container
\"
><div class=
\"
sk-text-repr-fallback
\"
><pre>MultinomialNB()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=
\"
sk-container
\"
hidden><div class=
\"
sk-item
\"
><div class=
\"
sk-estimator sk-toggleable
\"
><input class=
\"
sk-toggleable__control sk-hidden--visually
\"
id=
\"
sk-estimator-id-1
\"
type=
\"
checkbox
\"
checked><label for=
\"
sk-estimator-id-1
\"
class=
\"
sk-toggleable__label sk-toggleable__label-arrow
\"
>MultinomialNB</label><div class=
\"
sk-toggleable__content
\"
><pre>MultinomialNB()</pre></div></div></div></div></div>"
]
},
"metadata"
:
{},
"execution_count"
:
15
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"#validation
\n
"
,
"task1 = [
\"
Machine learning pplatform to predict Cardiac Diseases
\"
]
\n
"
,
"task1_count = cv.transform(task1) #Using CountVectorizer Function
\n
"
,
"model.predict(task1_count)"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"5w0z9Rt47nGS"
,
"outputId"
:
"a2b3d4aa-70dc-4ba6-a90e-7d08de4f9d34"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
"array([1])"
]
},
"metadata"
:
{},
"execution_count"
:
16
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"#validation
\n
"
,
"task2 = [
\"
Refactor a code
\"
]
\n
"
,
"task2_count = cv.transform(task2) #Using CountVectorizer Function conversion is done
\n
"
,
"model.predict(task2_count)"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"bzZMZ3G58Oco"
,
"outputId"
:
"e4dbf420-4d6b-4ff8-b67a-4f406b0def0d"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
"array([0])"
]
},
"metadata"
:
{},
"execution_count"
:
17
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"#testing the model
\n
"
,
"x_test_count = cv.transform(x_test) #converting test data to matrix form
\n
"
,
"model.score(x_test_count, y_test) #testing against the y labels of the testing data"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"8rEHDqXF9BoP"
,
"outputId"
:
"4b28b1d8-ff18-4eea-ab00-27719e8d8439"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
"0.8333333333333334"
]
},
"metadata"
:
{},
"execution_count"
:
18
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"#make predictions using testing data
\n
"
,
"y_pred = model.predict(x_test_count)"
],
"metadata"
:
{
"id"
:
"qWGXwN2X9y-W"
},
"execution_count"
:
null
,
"outputs"
:
[]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"#Evaluate the performance of the classifier
\n
"
,
"print(classification_report(y_test,y_pred))"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"kPbI2biv-g-F"
,
"outputId"
:
"1920de39-9ab0-4035-8b54-25eec764d369"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"stream"
,
"name"
:
"stdout"
,
"text"
:
[
" precision recall f1-score support
\n
"
,
"
\n
"
,
" 0 0.89 0.84 0.86 19
\n
"
,
" 1 0.75 0.82 0.78 11
\n
"
,
"
\n
"
,
" accuracy 0.83 30
\n
"
,
" macro avg 0.82 0.83 0.82 30
\n
"
,
"weighted avg 0.84 0.83 0.83 30
\n
"
,
"
\n
"
]
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"# Calculate the accuracy of the model
\n
"
,
"accuracy = accuracy_score(y_test, y_pred)
\n
"
,
"print(
\"
Accuracy:
\"
, accuracy)"
],
"metadata"
:
{
"id"
:
"thbdaDaA-tsF"
,
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"outputId"
:
"f6f373c6-0057-43eb-e1f4-ddaaf1860675"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"stream"
,
"name"
:
"stdout"
,
"text"
:
[
"Accuracy: 0.8333333333333334
\n
"
]
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"from sklearn.metrics import f1_score
\n
"
,
"f1 = f1_score(y_test, y_pred)
\n
"
,
"print(
\"
F1 score:
\"
, f1)"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"favBrnZWJnLt"
,
"outputId"
:
"a22dc8c6-fdab-4e8a-867a-67e8107983cf"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"stream"
,
"name"
:
"stdout"
,
"text"
:
[
"F1 score: 0.7826086956521738
\n
"
]
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"from sklearn.metrics import recall_score
\n
"
,
"recall = recall_score(y_test, y_pred)
\n
"
,
"print(
\"
Recall:
\"
, recall)"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"Scr5KlNdJ5xw"
,
"outputId"
:
"cfedfba5-a751-4876-c201-0202bff54196"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"stream"
,
"name"
:
"stdout"
,
"text"
:
[
"Recall: 0.8181818181818182
\n
"
]
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"from sklearn.metrics import precision_score
\n
"
,
"precision = precision_score(y_test, y_pred)
\n
"
,
"print(
\"
Precision:
\"
, precision)"
],
"metadata"
:
{
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
},
"id"
:
"5Th4pX7NKqF2"
,
"outputId"
:
"21fb8a68-6405-438e-cafc-4536b7ff4158"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"stream"
,
"name"
:
"stdout"
,
"text"
:
[
"Precision: 0.75
\n
"
]
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"from sklearn.metrics import accuracy_score,confusion_matrix
\n
"
,
"import matplotlib.pyplot as plt
\n
"
,
"import seaborn as sns"
],
"metadata"
:
{
"id"
:
"o7clj6nahd4E"
},
"execution_count"
:
null
,
"outputs"
:
[]
},
{
"cell_type"
:
"code"
,
"source"
:
[
"cm=confusion_matrix(y_test,y_pred)
\n
"
,
"fig=plt.figure(figsize=(12,8))
\n
"
,
"sns.heatmap(
\n
"
,
" cm,
\n
"
,
" annot=True,
\n
"
,
")
\n
"
,
"plt.title(
\"
Confusion Matrix for Naive Bayes Classifier
\"
)
\n
"
,
"cm"
],
"metadata"
:
{
"id"
:
"mWEuzWnZLiPN"
,
"colab"
:
{
"base_uri"
:
"https://localhost:8080/"
,
"height"
:
691
},
"outputId"
:
"4723b7fb-4caf-427c-8959-54dfe5f8d9a2"
},
"execution_count"
:
null
,
"outputs"
:
[
{
"output_type"
:
"execute_result"
,
"data"
:
{
"text/plain"
:
[
"array([[16, 3],
\n
"
,
" [ 2, 9]])"
]
},
"metadata"
:
{},
"execution_count"
:
31
},
{
"output_type"
:
"display_data"
,
"data"
:
{
"text/plain"
:
[
"<Figure size 1200x800 with 2 Axes>"
],
"image/png"
:
"iVBORw0KGgoAAAANSUhEUgAAA3wAAAKqCAYAAABhBFykAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDtUlEQVR4nO3dd5hV1dk/7mdoA1IGUaoFsCJqMCoaRQUikSCixAJYKTH2ijFKbGAbNb6KLbZERdS8GGPvDUKM2MVeQFBjASKKCMKIzP794Zf5sWFABgfOsN779jrX5eyzz97PPhzOxTOftdcqyrIsCwAAAJJTq9AFAAAAsGpo+AAAABKl4QMAAEiUhg8AACBRGj4AAIBEafgAAAASpeEDAABIlIYPAAAgURo+AACARGn4gJxJkybFHnvsESUlJVFUVBT33ntvtR7/ww8/jKKiorjllluq9bhrsm7dukW3bt2q7Xhz5syJww8/PFq1ahVFRUVx0kknVduxV6dx48ZFUVFRjBs3rtCl/J9VE/6+tmvXLgYNGpTbVtn31C233BJFRUXx4YcfFqROgJpKwwc10AcffBBHHnlkbLTRRlG/fv1o0qRJdOnSJa644oqYN2/eKj33wIED44033ogLLrggRo8eHdtvv/0qPd/qNGjQoCgqKoomTZpU+j5OmjQpioqKoqioKC699NIqH/+zzz6L4cOHx8SJE6uh2pV34YUXxi233BJHH310jB49Og499NBVer527dpFUVFRHH/88Us9t6hpu+uuu1ZpDdVpUc2LP5o1axa/+MUv4vbbby90edVm3Lhxse+++0arVq2iXr160aJFi+jTp0/cfffdhS7tR6X8PQVQ3eoUugAg76GHHooDDjggiouL47DDDoutttoqvvvuu3jmmWfi1FNPjbfeeituuOGGVXLuefPmxYQJE+KMM86I4447bpWco23btjFv3ryoW7fuKjn+j6lTp058++238cADD0S/fv1yz91+++1Rv379mD9//kod+7PPPosRI0ZEu3btYptttlnh1z3++OMrdb5lefrpp+MXv/hFnHPOOdV63B9z4403xrBhw6JNmzbVcrzddtst5s2bF/Xq1auW41XVCSecEJ07d46IiJkzZ8aYMWPikEMOiVmzZsWxxx5bkJqqyznnnBPnnntubLrppnHkkUdG27ZtY+bMmfHwww/HfvvtF7fffnscdNBBhS4zIiLee++9qFXr///99LK+pw499NAYMGBAFBcXF6JMgBpLwwc1yNSpU2PAgAHRtm3bePrpp6N169YVzx177LExefLkeOihh1bZ+f/73/9GRETTpk1X2TmKioqifv36q+z4P6a4uDi6dOkSf/vb35Zq+O64447o3bt3/OMf/1gttXz77bex1lprVXtDM2PGjOjYsWO1He/777+P8vLy5da55ZZbxnvvvRcXXXRRXHnlldVy3lq1ahX0s7LrrrvG/vvvX/Hz0UcfHRtttFHccccda3TDd9ddd8W5554b+++/f9xxxx25X76ceuqp8dhjj8WCBQsKWGHekg3csr6nateuHbVr1662886dOzcaNmxYbccDKBRDOqEGueSSS2LOnDnx17/+NdfsLbLJJpvEiSeeWPHz999/H+edd15svPHGUVxcHO3atYs//vGPUVZWlntdu3btYq+99opnnnkmdthhh6hfv35stNFGceutt1bsM3z48Gjbtm1E/PCPvqKiomjXrl1E/DAUctH/L2748OFRVFSU2/bEE0/ELrvsEk2bNo1GjRrF5ptvHn/84x8rnl/WPUFPP/107LrrrtGwYcNo2rRp7LPPPvHOO+9Uer7JkyfHoEGDomnTplFSUhKDBw+Ob7/9dtlv7BIOOuigeOSRR2LWrFkV21588cWYNGlSpanGl19+Gb///e9j6623jkaNGkWTJk2iV69e8dprr1XsM27cuIo0aPDgwRVDARddZ7du3WKrrbaKl19+OXbbbbdYa621Kt6XJe/hGzhwYNSvX3+p6+/Zs2esvfba8dlnn1V6XYuGIk6dOjUeeuihihoW3dM0Y8aM+O1vfxstW7aM+vXrR6dOnWLUqFG5Yyz687n00ktj5MiRFZ+tt99+e7nvabt27eKwww6LG2+8cZn1LfLRRx/FMcccE5tvvnk0aNAg1llnnTjggAOWuvdqyXv4jjvuuGjUqFGlf9YHHnhgtGrVKhYuXFix7ZFHHqn4TDVu3Dh69+4db7311nJrW5569erF2muvHXXq5H9XevPNN8cvf/nLaNGiRRQXF0fHjh3j2muvze0zcODAWHfddSttpPbYY4/YfPPNc9tuu+222G677aJBgwbRrFmzGDBgQPznP//J7TNp0qTYb7/9olWrVlG/fv1Yf/31Y8CAAfH1118v9zrOOuusaNasWdx0002VJu09e/aMvfbaa5mvf/3112PQoEEVQ85btWoVQ4YMiZkzZ+b2++abb+Kkk06Kdu3aRXFxcbRo0SJ+9atfxSuvvFKla1j8Hr7lfU8t6x6+FfkcDBo0KBo1ahQffPBB7LnnntG4ceM4+OCDl/s+AqwpJHxQgzzwwAOx0UYbxc4777xC+x9++OExatSo2H///eOUU06J559/PkpLS+Odd96Je+65J7fv5MmTY//994/f/va3MXDgwLjpppti0KBBsd1228WWW24Z++67bzRt2jROPvnkOPDAA2PPPfeMRo0aVan+t956K/baa6/42c9+Fueee24UFxfH5MmT49///vdyX/fkk09Gr169YqONNorhw4fHvHnz4qqrroouXbrEK6+8slSz2a9fv2jfvn2UlpbGK6+8En/5y1+iRYsWcfHFF69Qnfvuu28cddRRcffdd8eQIUMi4od0r0OHDrHtttsutf+UKVPi3nvvjQMOOCDat28f06dPj+uvvz66du0ab7/9drRp0ya22GKLOPfcc+Pss8+OI444InbdddeIiNyf5cyZM6NXr14xYMCAOOSQQ6Jly5aV1nfFFVfE008/HQMHDowJEyZE7dq14/rrr4/HH388Ro8evcwhk1tssUWMHj06Tj755Fh//fXjlFNOiYiI5s2bx7x586Jbt24xefLkOO6446J9+/bx97//PQYNGhSzZs3K/SIh4ocmZv78+XHEEUdEcXFxNGvW7Eff1zPOOCNuvfXWH035XnzxxXj22WdjwIABsf7668eHH34Y1157bXTr1i3efvvtWGuttSp9Xf/+/eOaa66pGPa8yKIhuoMGDapIeEaPHh0DBw6Mnj17xsUXXxzffvttXHvttbHLLrvEq6++WukvMJb0zTffxBdffBERPzT9d9xxR7z55pvx17/+NbfftddeG1tuuWXsvffeUadOnXjggQfimGOOifLy8ook8NBDD41bb701HnvssVwzNW3atHj66adzw28vuOCCOOuss6Jfv35x+OGHx3//+9+46qqrYrfddotXX301mjZtGt9991307NkzysrK4vjjj49WrVrFp59+Gg8++GDMmjUrSkpKKr2mSZMmxbvvvhtDhgyJxo0b/+h7UJknnngipkyZEoMHD45WrVpVDDN/66234rnnnqv4JdBRRx0Vd911Vxx33HHRsWPHmDlzZjzzzDPxzjvvxLbbbrtS11DV76mqfA6+//776NmzZ+yyyy5x6aWXLvNzCLDGyYAa4euvv84iIttnn31WaP+JEydmEZEdfvjhue2///3vs4jInn766Yptbdu2zSIiGz9+fMW2GTNmZMXFxdkpp5xSsW3q1KlZRGR/+tOfcsccOHBg1rZt26VqOOecc7LFv0Yuv/zyLCKy//73v8use9E5br755opt22yzTdaiRYts5syZFdtee+21rFatWtlhhx221PmGDBmSO+ZvfvObbJ111lnmORe/joYNG2ZZlmX7779/tvvuu2dZlmULFy7MWrVqlY0YMaLS92D+/PnZwoULl7qO4uLi7Nxzz63Y9uKLLy51bYt07do1i4jsuuuuq/S5rl275rY99thjWURk559/fjZlypSsUaNGWd++fX/0GrPshz/v3r1757aNHDkyi4jstttuq9j23XffZTvttFPWqFGjbPbs2RXXFRFZkyZNshkzZlT5fIMHD87q16+fffbZZ1mWZdnYsWOziMj+/ve/V+z/7bffLnWMCRMmZBGR3XrrrRXbFr127NixWZZlWXl5ebbeeutl++23X+61d955Z+7z/c0332RNmzbNfve73+X2mzZtWlZSUrLU9iUtOu+Sj1q1amUXXHDBUvtXdj09e/bMNtpoo4qfFy5cmK2//vpZ//79c/tddtllWVFRUTZlypQsy7Lsww8/zGrXrr3Ued54442sTp06FdtfffXVpd7XFXHfffdlEZFdfvnlK7R/ZX9fK7vev/3tb0t9x5SUlGTHHnvsMo+9otfQtm3bbODAgUvVtOT31M0335xFRDZ16tQsy6r2ORg4cGAWEdnpp5++3FoA1kSGdEINMXv27IiIFf6t+8MPPxwREUOHDs1tX5TqLHmvX8eOHStSp4gfUp/NN988pkyZstI1L2nRPTX33XdflJeXr9BrPv/885g4cWIMGjQolyL97Gc/i1/96lcV17m4o446KvfzrrvuGjNnzqx4D1fEQQcdFOPGjatIWKZNm7bMSSqKi4srJo1YuHBhzJw5s2K46uLD035McXFxDB48eIX23WOPPeLII4+Mc889N/bdd9+oX79+XH/99St8riU9/PDD0apVqzjwwAMrttWtWzdOOOGEmDNnTvzzn//M7b/ffvtF8+bNq3yeM888M77//vu46KKLlrlPgwYNKv5/wYIFMXPmzNhkk02iadOmy30/i4qK4oADDoiHH3445syZU7F9zJgxsd5668Uuu+wSET8kULNmzYoDDzwwvvjii4pH7dq1Y8cdd4yxY8eu0LWcffbZ8cQTT8QTTzwRY8aMiQMPPDDOOOOMuOKKK5Z5PV9//XV88cUX0bVr15gyZUrF0MRatWrFwQcfHPfff3988803FfvffvvtsfPOO0f79u0jIuLuu++O8vLy6NevX672Vq1axaabblpR+6L067HHHqvScOaqfs9UZvHrnT9/fnzxxRfxi1/8IiIi9+fXtGnTeP7555c5xHdlr2FFrczn4Oijj672OgAKTcMHNUSTJk0iInL/GFyejz76KGrVqhWbbLJJbnurVq2iadOm8dFHH+W2b7jhhksdY+21146vvvpqJSteWv/+/aNLly5x+OGHR8uWLWPAgAFx5513Lrf5W1TnkvcwRfwwRPGLL76IuXPn5rYveS1rr712RESVrmXRfTpjxoyJ22+/PTp37rzUe7lIeXl5XH755bHppptGcXFxrLvuutG8efN4/fXXf/R+qcWtt956VZqg5dJLL41mzZrFxIkT48orr4wWLVqs8GuX9NFHH8Wmm26am+0w4of3eNHzi1vUgFTVRhttFIceemjccMMN8fnnn1e6z7x58+Lss8+ODTbYIPd+zpo160ffz/79+8e8efPi/vvvj4gf1hx8+OGH44ADDqgYSjhp0qSIiPjlL38ZzZs3zz0ef/zxmDFjxgpdy9Zbbx09evSIHj16RL9+/eK2226LvfbaK04//fSKiUMiIv79739Hjx49Ku4/bd68ecX9mYtfz2GHHRbz5s2rGG793nvvxcsvv5xbNmPSpEmRZVlsuummS9X+zjvvVNTevn37GDp0aPzlL3+JddddN3r27BnXXHPNj75/Vf2eqcyXX34ZJ554YrRs2TIaNGgQzZs3r/i8LH7+Sy65JN58883YYIMNYocddojhw4fnfsG0stewoqr6OahTp06sv/761XJugJrEPXxQQzRp0iTatGkTb775ZpVet+SkKcuyrNnrsixb6XMsPkFGxA+/+R8/fnyMHTs2HnrooXj00UdjzJgx8ctf/jIef/zxaptB76dcyyLFxcWx7777xqhRo2LKlCkxfPjwZe574YUXxllnnRVDhgyJ8847L5o1axa1atWKk046aYWTzIh8MrIiXn311Yp/lL7xxhu5dG5Vq2qtizvjjDNi9OjRcfHFF0ffvn2Xev7444+Pm2++OU466aTYaaedKhbPHjBgwI++n7/4xS+iXbt2ceedd8ZBBx0UDzzwQMybNy/69+9fsc+iY4wePTpatWq11DGWnHSlKnbfffd48MEH44UXXojevXvHBx98ELvvvnt06NAhLrvssthggw2iXr168fDDD8fll1+eu56OHTvGdtttF7fddlscdthhcdttt0W9evVys8WWl5dHUVFRPPLII5V+zhe/X+1//ud/YtCgQXHffffF448/HieccEKUlpbGc889t8zGpUOHDhHxw+dpZfXr1y+effbZOPXUU2ObbbaJRo0aRXl5efz617/OXW+/fv1i1113jXvuuScef/zx+NOf/hQXX3xx3H333dGrV6+VvoYVVdXPweJJPkBKNHxQg+y1115xww03xIQJE2KnnXZa7r5t27aN8vLymDRpUkVKExExffr0mDVrVsVMdtVh7bXXzs1ouciSqVDED0PXdt9999h9993jsssuiwsvvDDOOOOMGDt2bPTo0aPS64j4Ie1Y0rvvvhvrrrvuKpsa/aCDDoqbbropatWqFQMGDFjmfnfddVd07959qck6Zs2aFeuuu27FzyvafK+IuXPnxuDBg6Njx46x8847xyWXXBK/+c1vKmYCraq2bdvG66+/HuXl5bl/1L777rsVz1eXjTfeOA455JC4/vrrY8cdd1zq+bvuuisGDhwY//M//1Oxbf78+ZV+xirTr1+/uOKKK2L27NkxZsyYaNeuXcWQwkXnj4ho0aJFpZ+5n+L777+PiKgYUvrAAw9EWVlZ3H///bnkeVnDRg877LAYOnRofP755xXLgCxKqBfVnmVZtG/fPjbbbLMfrWfrrbeOrbfeOs4888x49tlno0uXLnHdddfF+eefX+n+m222WWy++eZx3333xRVXXFHliZm++uqreOqpp2LEiBFx9tlnV2xflKYtqXXr1nHMMcfEMcccEzNmzIhtt902LrjggoqGb2WuYUWtys8BwJrEr7KgBvnDH/4QDRs2jMMPPzymT5++1PMffPBBxf1De+65Z0REjBw5MrfPZZddFhERvXv3rra6Nt544/j666/j9ddfr9j2+eefLzUT6JdffrnUaxctQL7kUhGLtG7dOrbZZpsYNWpU7h/8b775Zjz++OMV17kqdO/ePc4777y4+uqrK00AFqldu/ZS6eHf//73+PTTT3PbFjWmK9q4LM9pp50WH3/8cYwaNSouu+yyaNeuXQwcOHCZ7+OP2XPPPWPatGkxZsyYim3ff/99XHXVVdGoUaPo2rXrT655cWeeeWYsWLAgLrnkkqWeq+z9vOqqq5ZKjJelf//+UVZWFqNGjYpHH310qfUUe/bsGU2aNIkLL7yw0mUQFh+OWVUPPvhgRER06tQpIv7/tHnx6/n666/j5ptvrvT1Bx54YBQVFcWJJ54YU6ZMiUMOOST3/L777hu1a9eOESNGLPUeZVlWsfTB7NmzK5rPRbbeeuuoVavWj35GRowYETNnzozDDz98qWNERDz++OMV17mkyq43YunvoYULFy41NLNFixbRpk2bivp+yjWsiFX5OQBYk0j4oAbZeOON44477oj+/fvHFltsEYcddlhstdVW8d1338Wzzz5bMY1+xA//4Bw4cGDccMMNMWvWrOjatWu88MILMWrUqOjbt29079692uoaMGBAnHbaafGb3/wmTjjhhIqpzTfbbLPcJA3nnntujB8/Pnr37h1t27aNGTNmxJ///OdYf/31KybUqMyf/vSn6NWrV+y0007x29/+tmJZhpKSkuUOtfypatWqFWeeeeaP7rfXXnvFueeeG4MHD46dd9453njjjbj99ttjo402yu238cYbR9OmTeO6666Lxo0bR8OGDWPHHXes8v1wTz/9dPz5z3+Oc845p2KZiJtvvjm6desWZ511VqVN1I854ogj4vrrr49BgwbFyy+/HO3atYu77ror/v3vf8fIkSN/0iQelVmU8i25zl/ED+/n6NGjo6SkJDp27BgTJkyIJ598MtZZZ50VOva2224bm2yySZxxxhlRVlaWG84Z8cPw6GuvvTYOPfTQ2HbbbWPAgAHRvHnz+Pjjj+Ohhx6KLl26xNVXX/2j5/nXv/4V8+fPj4gffplx//33xz//+c8YMGBAxdDIPfbYI+rVqxd9+vSJI488MubMmRM33nhjtGjRotJ7GJs3bx6//vWv4+9//3s0bdp0qV/MbLzxxnH++efHsGHD4sMPP4y+fftG48aNY+rUqXHPPffEEUccEb///e/j6aefjuOOOy4OOOCA2GyzzeL777+P0aNHR+3atWO//fZb7nX1798/3njjjbjgggvi1VdfjQMPPDDatm0bM2fOjEcffTSeeuqpuOOOOyp9bZMmTWK33XaLSy65JBYsWBDrrbdePP744zF16tTcft98802sv/76sf/++0enTp2iUaNG8eSTT8aLL75Ykez+lGtYEdX1OQBY4xVqelBg2d5///3sd7/7XdauXbusXr16WePGjbMuXbpkV111VTZ//vyK/RYsWJCNGDEia9++fVa3bt1sgw02yIYNG5bbJ8sqn6Y/y5ZeDmBZ051nWZY9/vjj2VZbbZXVq1cv23zzzbPbbrttqWUZnnrqqWyfffbJ2rRpk9WrVy9r06ZNduCBB2bvv//+UudYcumCJ598MuvSpUvWoEGDrEmTJlmfPn2yt99+O7fPovMtuezDktOxL8viyzIsy7KWZTjllFOy1q1bZw0aNMi6dOmSTZgwodLlFO67776sY8eOWZ06dXLX2bVr12zLLbes9JyLH2f27NlZ27Zts2233TZbsGBBbr+TTz45q1WrVjZhwoTlXsOy/rynT5+eDR48OFt33XWzevXqZVtvvfVSfw7L+wxU9XyTJk3KateuvdTU+1999VVFHY0aNcp69uyZvfvuu0tNv7/ksgyLO+OMM7KIyDbZZJNl1jV27NisZ8+eWUlJSVa/fv1s4403zgYNGpS99NJLy72eypZlqFevXtahQ4fsggsuyL777rvc/vfff3/2s5/9LKtfv37Wrl277OKLL85uuummZX4mFy0jccQRRyyzhn/84x/ZLrvskjVs2DBr2LBh1qFDh+zYY4/N3nvvvSzLsmzKlCnZkCFDso033jirX79+1qxZs6x79+7Zk08+udxrW9yiv68tWrTI6tSpkzVv3jzr06dPdt9991XsU9nf108++ST7zW9+kzVt2jQrKSnJDjjggOyzzz7LIiI755xzsizLsrKysuzUU0/NOnXqlDVu3Dhr2LBh1qlTp+zPf/5zxXFW9BpWdlmGRVbkc7Ai3w0Aa6qiLKvCLAcAwE9y3333Rd++fWP8+PG5pVIAYFXQ8AHAarTXXnvFO++8E5MnT67WiX4AoDLu4QOA1eB///d/4/XXX4+HHnoorrjiCs0eAKuFhA8AVoOioqJo1KhR9O/fP6677rqftB4gAKwoyzIAwGqQZVl888038Ze//EWzB0CMHz8++vTpE23atImioqK49957l9rnnXfeib333jtKSkqiYcOG0blz5/j4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WIcvT8IHAACQKAkfAACQDMsy5En4AAAAEiXhAwAAklEu48uR8AEAACRKwwcAAJAoQzoBAIBkWJYhT8IHAACQKAkfAACQDFO25En4AAAAEqXhAwAASJQhnQAAQDJM2pIn4QMAAEiUhA8AAEhGeVGhK6hZJHwAAACJkvABAADJKLcwQ46EDwAAIFEaPgAAgEQZ0gkAACTDgM48CR8AAECiJHwAAEAyLLyeJ+EDAABIlIYPAAAgUYZ0AgAAybAOX56EDwAAIFESPgAAIBnyvTwJHwAAQKIkfAAAQDIsy5An4QMAAEiUhg8AACBRGj4AACAZ5ZEV7FFVn376aRxyyCGxzjrrRIMGDWLrrbeOl156qVrfD/fwAQAArGZfffVVdOnSJbp37x6PPPJING/ePCZNmhRrr712tZ5HwwcAACRjTVmW4eKLL44NNtggbr755opt7du3r/bzGNIJAABQDcrKymL27Nm5R1lZWaX73n///bH99tvHAQccEC1atIif//znceONN1Z7TRo+AACAalBaWholJSW5R2lpaaX7TpkyJa699trYdNNN47HHHoujjz46TjjhhBg1alS11lSUZVmNSD3r1Fuv0CUAUA2ea9G50CUAUA22/+TeQpewUk5sN6Bg577kvVFLJXrFxcVRXFy81L716tWL7bffPp599tmKbSeccEK8+OKLMWHChGqryT18AAAA1WBZzV1lWrduHR07dsxt22KLLeIf//hHtdak4QMAAJKRrSHTtnTp0iXee++93Lb3338/2rZtW63ncQ8fAADAanbyySfHc889FxdeeGFMnjw57rjjjrjhhhvi2GOPrdbzaPgAAIBklBfwURWdO3eOe+65J/72t7/FVlttFeedd16MHDkyDj744JW88soZ0gkAAFAAe+21V+y1116r9BwSPgAAgERJ+AAAgGSUryGTtqwuEj4AAIBESfgAAIBkyPfyJHwAAACJ0vABAAAkypBOAAAgGSZtyZPwAQAAJErCBwAAJKO80AXUMBI+WIVO+8NxMeHZh+Krme/FZ5+8Fv+466+x2WYbF7osAFZCrYb1Y4Phv42tn7shtp08Jjrce1Gs1WmTQpcFsFwaPliFdtv1F3HttaOiy6594td7Hhh169SNRx66I9Zaq0GhSwOgitr96bhosmunmHriyHirx4kxe/zE2OxvI6Juq2aFLg1YTFbA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8AEAAMkol/DlSPgAAAASpeEDAABIlCGdAABAMjLLMuRI+AAAABIl4QMAAJJhWYY8CR8AAECiNHwAAACJMqQTAABIRrlJW3IkfAAAAImS8AEAAMkwaUuehA8AACBREj4AACAZ5RK+HAkfAABAojR8AAAAiTKkEwAASIZJW/IkfAAAAImS8AEAAMmw8HqehA8AACBRGj4AAIBEGdIJAAAkw6QteRI+AACAREn4AACAZJRL+HIkfAAAAImS8AEAAMnILMuQI+EDAABIlIYPAAAgUYZ0AgAAyTBpS56EDwAAIFESPgAAIBkWXs+T8AEAACRKwwcAAJAoQzoBAIBkWIcvT8IHAACQKAkfAACQDJO25En4AAAAEiXhAwAAkiHhy5PwAQAArGalpaXRuXPnaNy4cbRo0SL69u0b7733XrWfR8MHAACwmv3zn/+MY489Np577rl44oknYsGCBbHHHnvE3Llzq/U8RVkNyTzr1Fuv0CUAUA2ea9G50CUAUA22/+TeQpewUgrZV3z/3acr/dr//ve/0aJFi/jnP/8Zu+22W7XV5B4+AACAalBWVhZlZWW5bcXFxVFcXPyjr/36668jIqJZs2bVWlONSfggdWVlZVFaWhrDhg1bob/0ANRMvs+BZRk+fHiMGDEit+2cc86J4cOHL/d15eXlsffee8esWbPimWeeqdaaNHywmsyePTtKSkri66+/jiZNmhS6HABWku9zYFlWNuE7+uij45FHHolnnnkm1l9//WqtyZBOAACAarCiwzcXd9xxx8WDDz4Y48ePr/ZmL0LDBwAAsNplWRbHH3983HPPPTFu3Lho3779KjmPhg8AAGA1O/bYY+OOO+6I++67Lxo3bhzTpk2LiIiSkpJo0KBBtZ3HOnywmhQXF8c555zjBn+ANZzvc6A6XHvttfH1119Ht27donXr1hWPMWPGVOt5TNoCAACQKAkfAABAojR8AAAAidLwAQAAJErDBwAAkCgNH6wG11xzTbRr1y7q168fO+64Y7zwwguFLgmAKho/fnz06dMn2rRpE0VFRXHvvfcWuiSAH6Xhg1VszJgxMXTo0DjnnHPilVdeiU6dOkXPnj1jxowZhS4NgCqYO3dudOrUKa655ppClwKwwizLAKvYjjvuGJ07d46rr746IiLKy8tjgw02iOOPPz5OP/30AlcHwMooKiqKe+65J/r27VvoUgCWS8IHq9B3330XL7/8cvTo0aNiW61ataJHjx4xYcKEAlYGAMD/BRo+WIW++OKLWLhwYbRs2TK3vWXLljFt2rQCVQUAwP8VGj4AAIBEafhgFVp33XWjdu3aMX369Nz26dOnR6tWrQpUFQAA/1do+GAVqlevXmy33Xbx1FNPVWwrLy+Pp556KnbaaacCVgYAwP8FdQpdAKRu6NChMXDgwNh+++1jhx12iJEjR8bcuXNj8ODBhS4NgCqYM2dOTJ48ueLnqVOnxsSJE6NZs2ax4YYbFrAygGWzLAOsBldffXX86U9/imnTpsU222wTV155Zey4446FLguAKhg3blx07959qe0DBw6MW265ZfUXBLACNHwAAACJcg8fAABAojR8AAAAidLwAQAAJErDBwAAkCgNHwAAQKI0fAAAAInS8AEAACRKwwcAAJAoDR8AAECiNHwAAACJ0vABAAAkSsMHAACQqP8PrTMoIDdtjLoAAAAASUVORK5CYII=
\n
"
},
"metadata"
:
{}
}
]
},
{
"cell_type"
:
"code"
,
"source"
:
[],
"metadata"
:
{
"id"
:
"DkNbZ5zbhLBc"
},
"execution_count"
:
null
,
"outputs"
:
[]
}
],
"metadata"
:
{
"colab"
:
{
"provenance"
:
[]
},
"kernelspec"
:
{
"display_name"
:
"Python 3"
,
"name"
:
"python3"
},
"language_info"
:
{
"name"
:
"python"
}
},
"nbformat"
:
4
,
"nbformat_minor"
:
0
}
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment