-
Notifications
You must be signed in to change notification settings - Fork 2
/
Project2_Presentation.html
104 lines (68 loc) · 15.5 KB
/
Project2_Presentation.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Panel</title>
<link rel="stylesheet" href="https://unpkg.com/@holoviz/panel@0.12.6/dist/css/alerts.css" type="text/css" />
<link rel="stylesheet" href="https://unpkg.com/@holoviz/panel@0.12.6/dist/css/card.css" type="text/css" />
<link rel="stylesheet" href="https://unpkg.com/@holoviz/panel@0.12.6/dist/css/dataframe.css" type="text/css" />
<link rel="stylesheet" href="https://unpkg.com/@holoviz/panel@0.12.6/dist/css/json.css" type="text/css" />
<link rel="stylesheet" href="https://unpkg.com/@holoviz/panel@0.12.6/dist/css/loading.css" type="text/css" />
<link rel="stylesheet" href="https://unpkg.com/@holoviz/panel@0.12.6/dist/css/markdown.css" type="text/css" />
<link rel="stylesheet" href="https://unpkg.com/@holoviz/panel@0.12.6/dist/css/widgets.css" type="text/css" />
<style>
.bk.pn-loading.arcs:before {
background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBzdHlsZT0ibWFyZ2luOiBhdXRvOyBiYWNrZ3JvdW5kOiBub25lOyBkaXNwbGF5OiBibG9jazsgc2hhcGUtcmVuZGVyaW5nOiBhdXRvOyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4gIDxjaXJjbGUgY3g9IjUwIiBjeT0iNTAiIHI9IjMyIiBzdHJva2Utd2lkdGg9IjgiIHN0cm9rZT0iI2MzYzNjMyIgc3Ryb2tlLWRhc2hhcnJheT0iNTAuMjY1NDgyNDU3NDM2NjkgNTAuMjY1NDgyNDU3NDM2NjkiIGZpbGw9Im5vbmUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+ICAgIDxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9InRyYW5zZm9ybSIgdHlwZT0icm90YXRlIiByZXBlYXRDb3VudD0iaW5kZWZpbml0ZSIgZHVyPSIxcyIga2V5VGltZXM9IjA7MSIgdmFsdWVzPSIwIDUwIDUwOzM2MCA1MCA1MCI+PC9hbmltYXRlVHJhbnNmb3JtPiAgPC9jaXJjbGU+PC9zdmc+");
max-height: 400px;
}
</style>
<script type="text/javascript" src="https://cdn.bokeh.org/bokeh/release/bokeh-2.4.2.min.js"></script>
<script type="text/javascript" src="https://cdn.bokeh.org/bokeh/release/bokeh-gl-2.4.2.min.js"></script>
<script type="text/javascript" src="https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.4.2.min.js"></script>
<script type="text/javascript" src="https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.4.2.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/@holoviz/panel@0.12.6/dist/panel.min.js"></script>
<script type="text/javascript">
Bokeh.set_log_level("info");
</script>
</head>
<body>
<div class="bk-root" id="b188ded1-9770-4f83-b5a1-fecaeb43515b" data-root-id="1728"></div>
<script type="application/json" id="1748">
{"a7cc9c40-9714-463f-89f6-00c2de7e90b2":{"defs":[{"extends":null,"module":null,"name":"ReactiveHTML1","overrides":[],"properties":[]},{"extends":null,"module":null,"name":"FlexBox1","overrides":[],"properties":[{"default":"flex-start","kind":null,"name":"align_content"},{"default":"flex-start","kind":null,"name":"align_items"},{"default":"row","kind":null,"name":"flex_direction"},{"default":"wrap","kind":null,"name":"flex_wrap"},{"default":"flex-start","kind":null,"name":"justify_content"}]},{"extends":null,"module":null,"name":"TemplateActions1","overrides":[],"properties":[{"default":0,"kind":null,"name":"open_modal"},{"default":0,"kind":null,"name":"close_modal"}]},{"extends":null,"module":null,"name":"MaterialTemplateActions1","overrides":[],"properties":[{"default":0,"kind":null,"name":"open_modal"},{"default":0,"kind":null,"name":"close_modal"}]}],"roots":{"references":[{"attributes":{"child":{"id":"1739"},"name":"Training/Testing and Evaluation","title":"Training/Testing and Evaluation"},"id":"1740","type":"Panel"},{"attributes":{"child":{"id":"1729"},"name":"Project 2 Group C","title":"Project 2 Group C"},"id":"1730","type":"Panel"},{"attributes":{"margin":[0,0,0,0],"tabs":[{"id":"1730"},{"id":"1732"},{"id":"1734"},{"id":"1736"},{"id":"1738"},{"id":"1740"},{"id":"1742"},{"id":"1744"},{"id":"1746"}],"tags":["embedded"]},"id":"1728","type":"Tabs"},{"attributes":{"css_classes":["markdown"],"margin":[5,5,5,5],"name":"Project Objective","text":"&lt;h1&gt;Project Objective and Hypothesis&lt;/h1&gt;\n&lt;p&gt;Our objective was to research and learn what salaries are possible with skills obtained in this FinTech Bootcamp.&lt;br&gt;\nWe used the Monster India API to retrieve data regarding job descriptions, skills, and salaries&lt;br&gt;\nto determine the following:&lt;br&gt;\n- What jobs require skills from this bootcamp?&lt;br&gt;\n- What are the potential jobs and salaries for graduates with these skills?&lt;br&gt;\n- Can we predict an accurate salary range based on these skills? &lt;/p&gt;\n&lt;p&gt;Our hypothesis is that the more key skills you possess, the higher the salary.&lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/salaryafterbootcamp.png&quot;&gt;&lt;/p&gt;"},"id":"1731","type":"panel.models.markup.HTML"},{"attributes":{"css_classes":["markdown"],"margin":[5,5,5,5],"name":"Model Performance","text":"&lt;h1&gt;Model Performance&lt;/h1&gt;\n&lt;p&gt;Techniques used to evaluate the model performance included running various machine learning algorithms \nto determine the best model. Overall, we determined the Linear Regression model was the best fit for \nour project because it resulted in an R2 value closest to 1 and the lowest Mean Squared Error and Root \nMean Squared Error scores the most times when re-running the model. &lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/data.png&quot;&gt; &lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/r2.png&quot;&gt; &lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/mse.png&quot;&gt; &lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/rmse.png&quot;&gt; &lt;/p&gt;"},"id":"1741","type":"panel.models.markup.HTML"},{"attributes":{"css_classes":["markdown"],"margin":[5,5,5,5],"name":"Conclusion","text":"&lt;h1&gt;Conclusion&lt;/h1&gt;\n&lt;p&gt;Based on our analysis, we were not able to determine salary ranges for FinTech Bootcamp graduates.&lt;br&gt;\nHowever, the job salaries that included skills we have learned in this bootcamp were up to $80,000 \n(converted from Indian rupees, of course!) &lt;/p&gt;\n&lt;p&gt;&lt;em&gt;Difficulties/Implications:&lt;/em&gt;&lt;br&gt;\n Overall, the API used was not the best and resulted in various data implications as discussed previously.&lt;br&gt;\n We could have spent $200 for access to the US Monster API, but we were cheap and perhaps will consider \n it for another future project based on the frustration of our data outcome! &lt;/p&gt;\n&lt;p&gt;&lt;em&gt;Potential Next Steps:&lt;/em&gt;&lt;br&gt;\nContinue searching for an API with US-based jobs in USD, or pay the fee for the Monster US API. &lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/fintechjobs.png&quot;&gt;&lt;/p&gt;"},"id":"1745","type":"panel.models.markup.HTML"},{"attributes":{"child":{"id":"1735"},"name":"Datasets Used","title":"Datasets Used"},"id":"1736","type":"Panel"},{"attributes":{"css_classes":["markdown"],"margin":[5,5,5,5],"name":"Project 2 Group C","text":"&lt;h1&gt;Predicting FinTech Bootcamp Graduate Salaries&lt;/h1&gt;\n&lt;p&gt;Presentation Date: January 15, 2022 &lt;/p&gt;\n&lt;p&gt;Prepared by Andrew, Rachel, Margee, and Jinhyeong &lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/programmingsalaries.png&quot;&gt;&lt;/p&gt;"},"id":"1729","type":"panel.models.markup.HTML"},{"attributes":{"child":{"id":"1737"},"name":"Data Phases and Issues","title":"Data Phases and Issues"},"id":"1738","type":"Panel"},{"attributes":{"child":{"id":"1731"},"name":"Project Objective","title":"Project Objective"},"id":"1732","type":"Panel"},{"attributes":{"child":{"id":"1733"},"name":"Skills Gained in Bootcamp","title":"Skills Gained in Bootcamp"},"id":"1734","type":"Panel"},{"attributes":{"child":{"id":"1743"},"name":"Summary","title":"Summary"},"id":"1744","type":"Panel"},{"attributes":{"css_classes":["markdown"],"margin":[5,5,5,5],"name":"Datasets Used","text":"&lt;h1&gt;Datasets Used&lt;/h1&gt;\n&lt;p&gt;We used data obtained from the Monster India API. &lt;/p&gt;\n&lt;p&gt;We selected the following skills obtained during this FinTech Bootcamp to use in our model:&lt;br&gt;\n1. Database&lt;br&gt;\n2. Python&lt;br&gt;\n3. API&lt;br&gt;\n4. Algorithm&lt;br&gt;\n5. Cloud&lt;br&gt;\n6. Forecast&lt;br&gt;\n7. Big data &lt;br&gt;\n8. Dashboard&lt;br&gt;\n9. Project Management&lt;br&gt;\n10. Finance &lt;/p&gt;\n&lt;p&gt;We also used like-terms in our model to capture these skills using various terminology. &lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/indemandskills.png&quot;&gt;&lt;/p&gt;"},"id":"1735","type":"panel.models.markup.HTML"},{"attributes":{"child":{"id":"1745"},"name":"Conclusion","title":"Conclusion"},"id":"1746","type":"Panel"},{"attributes":{"css_classes":["markdown"],"margin":[5,5,5,5],"name":"Skills Gained in Bootcamp","text":"&lt;h1&gt;What Skills Have We Gained as FinTech Bootcamp Students?&lt;/h1&gt;\n&lt;p&gt;As part of the U of MN FinTech Bootcamp, we have obtained the necessary skills to automate&lt;br&gt;\nand improve financial services using cutting-edge technology. Upon graduation, skills gained will include the following:&lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/Skills.png&quot;&gt;&lt;/p&gt;\n&lt;p&gt;We selected key skills from this course to use in our analysis.&lt;/p&gt;"},"id":"1733","type":"panel.models.markup.HTML"},{"attributes":{"css_classes":["markdown"],"margin":[5,5,5,5],"name":"Data Phases and Issues","text":"&lt;h1&gt;Data Phases&lt;/h1&gt;\n&lt;p&gt;Our process consisted of data exploration, data preparation, and data cleanup. &lt;/p&gt;\n&lt;ul&gt;\n&lt;li&gt;Data Exploration: Google seaches, API searches, Monster India API, FinTech Bootcamp Curriculum &lt;/li&gt;\n&lt;li&gt;Data Preparation: Searching through variables in Spyder, selecting key data, narrowing down jobs, determining key skills &lt;/li&gt;\n&lt;li&gt;Data Cleanup: Dropping unnecessary information, searching the data to find jobs that include at least one key skill &lt;/li&gt;\n&lt;/ul&gt;\n&lt;p&gt;Data Issues: &lt;/p&gt;\n&lt;ul&gt;\n&lt;li&gt;Most salaries were in Indian rupees, not USD, so conversion was necessary. &lt;/li&gt;\n&lt;li&gt;Some salaries may be skewed because there are some outliers from different countries/currencies in the data obtained from the API. &lt;/li&gt;\n&lt;li&gt;There were likely job postings/salaries posted multiple times.&lt;/li&gt;\n&lt;li&gt;The job posting &amp;ldquo;skills&amp;rdquo; section did not include the information we needed, so we had to rely on the job description to find job skills. &lt;/li&gt;\n&lt;li&gt;Determining like-words for key skills was subjective, which may not capture all. &lt;/li&gt;\n&lt;li&gt;As shown in the graph below, the most broad salary range includes at least one skill. &lt;/li&gt;\n&lt;/ul&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/salarydistributiontotalskills.png&quot;&gt;&lt;/p&gt;"},"id":"1737","type":"panel.models.markup.HTML"},{"attributes":{"css_classes":["markdown"],"margin":[5,5,5,5],"name":"Summary","text":"&lt;h1&gt;Summary of Conclusions/Predictions&lt;/h1&gt;\n&lt;p&gt;Our model was not able to accurately predict salaries due to the limited data set.&lt;br&gt;\nPredicted salaries appear to be more of an average across the population.&lt;br&gt;\nData implications, as discussed earlier, resulted in less reliable results,\nbut could be improved with more data and a more relevant API. &lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/predictedvaluechart.png&quot;&gt; &lt;/p&gt;\n&lt;p&gt;&lt;img alt=&quot;image&quot; src=&quot;./images/predictedsalaries.png&quot;&gt; &lt;/p&gt;"},"id":"1743","type":"panel.models.markup.HTML"},{"attributes":{"css_classes":["markdown"],"margin":[5,5,5,5],"name":"Training/Testing and Evaluation","text":"&lt;h1&gt;Training/Testing and Predictive Model Evaluation&lt;/h1&gt;\n&lt;p&gt;We ran a variety of machine learning algorithms to determine the best model to use:&lt;br&gt;\n1. Linear Regression&lt;br&gt;\n2. Extra Trees&lt;br&gt;\n3. Lasso&lt;br&gt;\n4. Random Forest&lt;br&gt;\n5. Ridge&lt;br&gt;\n6. Stochastic Gradient Descent &lt;/p&gt;"},"id":"1739","type":"panel.models.markup.HTML"},{"attributes":{"child":{"id":"1741"},"name":"Model Performance","title":"Model Performance"},"id":"1742","type":"Panel"}],"root_ids":["1728"]},"title":"Bokeh Application","version":"2.4.2"}}
</script>
<script type="text/javascript">
(function() {
const fn = function() {
Bokeh.safely(function() {
(function(root) {
function embed_document(root) {
const docs_json = document.getElementById('1748').textContent;
const render_items = [{"docid":"a7cc9c40-9714-463f-89f6-00c2de7e90b2","root_ids":["1728"],"roots":{"1728":"b188ded1-9770-4f83-b5a1-fecaeb43515b"}}];
root.Bokeh.embed.embed_items(docs_json, render_items);
}
if (root.Bokeh !== undefined) {
embed_document(root);
} else {
let attempts = 0;
const timer = setInterval(function(root) {
if (root.Bokeh !== undefined) {
clearInterval(timer);
embed_document(root);
} else {
attempts++;
if (attempts > 100) {
clearInterval(timer);
console.log("Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing");
}
}
}, 10, root)
}
})(window);
});
};
if (document.readyState != "loading") fn();
else document.addEventListener("DOMContentLoaded", fn);
})();
</script>
</body>
</html>