Difference between revisions of "Página de pruebas"

From Sinfronteras
Jump to: navigation, search
(The algorithm)
Line 1: Line 1:
==Decision Trees==
+
<accesscontrol>
Noel's lecture (10/06): https://drive.google.com/drive/folders/1TW494XF-laGGJiLFApz8bJfMstG4Yqk_
+
Autoconfirmed users
 +
</accesscontrol>
  
StatQuest: https://www.youtube.com/watch?v=7VeUPuFGJHk  &nbsp; &nbsp;   https://www.youtube.com/watch?v=wpNl-JwwplA  &nbsp; &nbsp;   https://www.youtube.com/watch?v=g9c66TUylZ4
+
<div style="padding: 20px; margin-right: 0px; margin-left: 0px; background-color: #ededf2; width:67%">
 +
<div style="padding: 0px; margin-right: 0px; margin-left: 0px; background-color: #ededf2;">
 +
<!-- <div style="padding-right: 0px; margin-right: -20px; margin-left: -20px; background-color: #4081de; height:8pt"> </div> -->
  
 +
[[Página base|<span style="color:#B8860B; font-size:13pt;font-weight: bold">Página base</span>]]
  
[[File:Decision_Trees_terminology1.png|400px|thumb|right|]]
+
[[Timeline|<span style="color:#B8860B; font-size:13pt;font-weight: bold">Timeline</span>]]
  
[[File:Decision_Trees_terminology2.png|400px|thumb|right|]]
+
[[CV|<span style="color:#B8860B; font-size:13pt;font-weight: bold">CV</span>]]
  
[[File:Decision_Trees_terminology3.png|400px|thumb|right|]]
+
[[Desktop|<span style="color:#B8860B; font-size:13pt;font-weight: bold">Desktop</span>]]
  
 +
</div>
 +
</div>
 +
 +
<section begin=formal_natural_and_applied_sciences0 />
 +
<div class="marco1-ext" style="padding: 0px 20px 20px 20px; margin-right: 0px; margin-left: 0px; background-color: #ededf2; width:67%; min-height:50px">
 +
<div class="marco1-int" style="padding: 0px; margin-right: 0px; margin-left: 0px ;background-color: #ededf2;">
 +
<div class="titulo1-text-marco">
 +
<div>[[Formal Natural and Applied sciences|<span class="titulo1-text" style="font: 700 21px / 27.3px 'Linux Libertine', Georgia, Times, serif; color:white; font-weight: bold">Formal, Natural/Pure and Applied sciences</span>]]</div>
 +
</div>
 +
<div class="titulo1-marco-twolines" style="padding-right: 0px; margin-right: -20px; margin-left: -20px; background-color: #4081de; min-height:40pt; margin-top:-32pt"> </div>
 +
<section begin=formal_natural_and_applied_sciences />
 +
<div style="margin-top: -37px;" class="mw-collapsible" data-expandtext="+/-" data-collapsetext="+/-">
 +
<br /> <br />
 +
<section begin=formal_natural_and_applied_sciences1 />
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
* <div style="text-align:left;">[[My projects portfolio|<p style="color:#0000ff; font-weight: bold; margin-top:-5pt">My projects portfolio</p>]]</div>
 +
<div class="mw-collapsible-content">
 +
<section begin=it />
 +
<section begin=portfolio />
 +
<ul style="padding-left:23px; margin-top:-10pt">
 +
<section begin=portfolio_data_science /> <div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-"> <li style="">[[Developing a Web Dashboard for analyzing Amazon's Laptop sales data]]</li>
 +
<div class="mw-collapsible-content">
 +
<li style="margin-bottom: 10px; margin-top: 10px; margin-left: 20px"> Try the App at http://dashboard.sinfronteras.ws </li>
 +
<li style="margin-bottom: 10px; margin-top: 10px; margin-left: 20px"> Github repository: https://github.com/adeloaleman/AmazonLaptopsDashboard </li>
 +
<li style="margin-bottom: 30px; margin-left: 20px"> A demo video is available at https://www.youtube.com/watch?v=WrvEoA9DD4g </li>
 +
</div>
 +
</div>
  
DT is an predictive algorithm that build models in the form of a tree structure, that is composed of a series of branching Boolean tests (tests for which the answer is true or false). The princpel is to use these boolean tests to split the data into smaller and smaller subsets to identify patterns that can be used for prediction. [Noel Cosgrave slides]
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
<li style="margin-bottom: 10px; margin-top: 30px;">[[Supervised Machine Learning for Fake News Detection]]</li>
 +
<div class="mw-collapsible-content">
 +
<li style="margin-bottom: 10px; margin-top: 10px; margin-left: 20px"> {{#lst:Supervised_Machine_Learning_for_Fake_News_Detection|fake_news_result1}} </li>
 +
<li style="margin-bottom: 30px; margin-left: 20px"> {{#lst:Supervised_Machine_Learning_for_Fake_News_Detection|fake_news_result2}}. </li>
 +
</div>
 +
</div>
  
In a DT, each '''internal node''' represents a "test" on an attribute (e.g. whether a coin flip comes up heads or tails), each '''branch''' represents the outcome of the test, and each '''leaf node''' represents a class label (decision taken after computing all attributes). The paths from root to leaf are called '''decision rules/classification rules'''. https://en.wikipedia.org/wiki/Decision_tree
+
<li style="margin-bottom: 10px; margin-top: 30px;">[[Social Media Sentiment Analysis using Twitter Data]]</li> <section end=portfolio_data_science />
  
 +
<section begin=portfolio_programming  /> <div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
<li style="margin-bottom: 10px; margin-top: 30px;">[[Java Desktop App - Zoo Management System]]</li>
 +
<div class="mw-collapsible-content">
 +
In this project, we have created a GUI Java (Swing) Application for a Zoo Management System.
 +
<li style="margin-bottom: 10px; margin-left: 20px"> You can try the application by downloading the Java Jar file from this link: http://wiki.sinfronteras.ws/images/2/27/ZooManagementSystem.jar </li>
 +
<li style="margin-bottom: 5px; margin-left: 20px"> Github repository: https://github.com/adeloaleman/JavaDesktopApp-ZooManagementSystem </li>
 +
</div>
 +
</div>
  
<br />
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
'''A dataset can have many possible decision trees'''
+
<li style="margin-bottom: 10px; margin-top: 30px">[[Java Desktop App - Stock Market Simulator]]</li>
 +
<div class="mw-collapsible-content">
 +
In this project, we have created a GUI Java (Swing) Application that simulates a trading day of a simplified model of a stock market.
 +
<li style="margin-bottom: 10px; margin-left: 20px"> You can try the application by downloading the Java Jar file from this link: http://wiki.sinfronteras.ws/images/0/00/SMSimulator.jar </li>
 +
<li style="margin-bottom: 5px; margin-left: 20px"> Github repository: https://github.com/adeloaleman/JavaDesktopApp-StockMarketSimulator </li>
 +
</div>
 +
</div>
  
In practice, we want small & accurate trees
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
<li style="margin-bottom: 10px; margin-top: 30px;">[[Web App - Clone of Twitter]]</li>
 +
<div class="mw-collapsible-content">
 +
<li style="margin-bottom: 10px; margin-left: 20px"> Visit the Web App at http://62.171.143.243 </li>
 +
<li style="margin-bottom: 5px; margin-left: 20px"> Github repository: https://github.com/adeloaleman/WebApp-CloneOfTwitter </li>
 +
<li style="margin-bottom: 5px; margin-left: 20px"> This Application was developed using: </li>
 +
<li style="margin-bottom: 5px; margin-left: 40px"> '''Back-end:''' Node.js (Express) (TypeScript) </li>
 +
<li style="margin-bottom: 30px; margin-left: 40px"> '''Front-end:''' React (TypeScript) </li>
 +
</div>
 +
</div>
  
* What is the inductive bias in Decision Tree learning?
+
<li style="margin-bottom: 30px; margin-top: 30px">[[Web App - Library Management System]]</li> <section end=portfolio_programming  />
:* Shorter trees are preferred over longer trees: Smaller trees are more general, usually more accurate, and easier to understand by humans (and to communicate!)
 
  
:* Prefer trees that place high information gain attributes close to the root
+
<section begin=portfolio_others  /> <li style="margin-bottom: 30px;">[[Automatic backup in the cloud using shell scripting]]</li>
  
 +
<li style="margin-bottom: 30px;">[[Modelado_sísmico|Seismic Wave Propagation Modelling]]</li>
 +
<!-- <li style="margin-bottom: 30px;">[[Seismic Wave Propagation Modelling]]</li> -->
 +
<section end=portfolio_others  />
 +
</ul>
 +
</div>
 +
</div>
 +
<section end=portfolio />
  
* More succinct hypotheses are preferred. Why?
 
:* There are fewer succinct hypotheses than complex ones
 
:* If a succinct hypothesis explains the data this is unlikely to be a coincidence
 
:* However, not every succinct hypothesis is a reasonable one.
 
  
 +
<div class="divline1" style="padding: 0; border: 0; display: block; margin-top:-10px; margin-right: -20px; margin-left: -20px; background-color: white; height:1.3pt"> </div>
  
<br />
 
'''Example 1:'''
 
  
A decision tree model can be used to decide whether or not to provide a loan to a customer (wheather or not a custoer is likely to pay a loan)
+
<div class="mw-collapsible" data-expandtext="+/-" data-collapsetext="+/-">
 +
* <h4 style="text-align:left;">[[Computer Science and IT|<p style="color:#0000ff; font-weight: bold; margin-top:-5pt">Computer Science and IT</p>]]</h4>
 +
<div class="mw-collapsible-content">
 +
<section begin=it />
  
{|
 
<!-- |[[File:DecisionTree-NoelCosgraveSlides_3.png|350px|thumb|center|]] -->
 
|[[File:Decision_tree_ex1.jpeg|550px|thumb|center|]]
 
| style="vertical-align: text-top" |
 
* <math>16</math> training examples
 
* The <math>x/y</math> values mean that <math>x</math> out of <math>y</math> training examples that reach this leaf node has the class of the leaf. This is the confidence
 
* The <math>x</math> value is the support count
 
* <math>x/total</math> training examples is the support
 
|}
 
  
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
:* <h5 style="text-align:left">[[Programming and Software Development|<p style="color:#A52A2A; font-weight: bold; margin-top:-5pt">Programming and Software Development</p>]]</h5>
 +
<div class="mw-collapsible-content">
 +
<section begin=programming />
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* '''Some of the languages I have worked with:'''
 +
<div class="mw-collapsible-content">
 +
<section begin=languages />
 +
:::* [[Python]]
 +
::::* [[Python for Data Science]]
 +
::::* [[Dash - Plotly]]
 +
::::* [[Scrapy]]
 +
::::* [[Manim]]
  
<br />
+
:::* [[JavaScript]]
'''Example 2:'''
+
::::* [[React]]
 +
::::* [[Node.js - Express.js]]
  
A model for predicting the future success of a movie:
+
:::* [[Web Development#HTML|HTML]]  &  [[Web Development#CSS|CSS]]
  
{|
+
:::* [[Object-Oriented Concepts and Constructs#Java|Java]]
|
+
::::* [[Java GUI Programming]]
{| class="wikitable"
 
!Movie
 
!Number of celebrities
 
!Budget
 
!Success (True label)
 
!Success (Predicted label)
 
|- style="background-color:#ff794d"
 
|Movie 1
 
|low
 
|hight
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#ff794d"
 
|Movie 2
 
|low
 
|low
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#ff794d"
 
|Movie 3
 
|low
 
|hight
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#ff794d"
 
|Movie 4
 
|low
 
|low
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#ff794d"
 
|Movie 5
 
|low
 
|hight
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#ff794d"
 
|Movie 6
 
|low
 
|low
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#ff794d"
 
|Movie 7
 
|low
 
|hight
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#ff794d"
 
|Movie 8
 
|low
 
|low
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#ff794d"
 
|Movie 9
 
|low
 
|hight
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#ff794d"
 
|Movie 10
 
|low
 
|low
 
|boxoffice flop
 
|boxoffice flop
 
|- style="background-color:#66a3ff"
 
|Movie 11
 
|hight
 
|hight
 
|mainstream hit
 
|mainstream hit
 
|- style="background-color:#66a3ff"
 
|Movie 12
 
|hight
 
|hight
 
|mainstream hit
 
|mainstream hit
 
|- style="background-color:#66a3ff"
 
|Movie 13
 
|hight
 
|hight
 
|mainstream hit
 
|mainstream hit
 
|- style="background-color:#66a3ff"
 
|'''Movie 14'''
 
|'''low'''
 
|'''hight'''
 
|'''mainstream hit'''
 
|style="background-color:#ff794d"|'''boxoffice flop'''
 
|- style="background-color:#66a3ff"
 
|Movie 15
 
|hight
 
|hight
 
|mainstream hit
 
|mainstream hit
 
|- style="background-color:#66a3ff"
 
|Movie 16
 
|hight
 
|hight
 
|mainstream hit
 
|mainstream hit
 
|- style="background-color:#66a3ff"
 
|Movie 17
 
|hight
 
|hight
 
|mainstream hit
 
|mainstream hit
 
|- style="background-color:#66a3ff"
 
|Movie 18
 
|hight
 
|hight
 
|mainstream hit
 
|mainstream hit
 
|- style="background-color:#66a3ff"
 
|Movie 19
 
|hight
 
|hight
 
|mainstream hit
 
|mainstream hit
 
|- style="background-color:#66a3ff"
 
|Movie 20
 
|hight
 
|hight
 
|mainstream hit
 
|mainstream hit
 
|- style="background-color:#00e6b0"
 
|Movie 21
 
|hight
 
|low
 
|critical success
 
|critical success
 
|- style="background-color:#00e6b0"
 
|Movie 22
 
|hight
 
|low
 
|critical success
 
|critical success
 
|- style="background-color:#00e6b0"
 
|Movie 23
 
|hight
 
|low
 
|critical success
 
|critical success
 
|- style="background-color:#00e6b0"
 
|'''Movie 24'''
 
|'''low'''
 
|'''hight'''
 
|'''critical success'''
 
|style="background-color:#ff794d"|'''boxoffice flop'''
 
|- style="background-color:#00e6b0"
 
|Movie 25
 
|hight
 
|low
 
|critical success
 
|critical success
 
|- style="background-color:#00e6b0"
 
|'''Movie 26'''
 
|'''hight'''
 
|'''hight'''
 
|'''critical success'''
 
|style="background-color:#66a3ff"|'''mainstream hit'''
 
|- style="background-color:#00e6b0"
 
|Movie 27
 
|hight
 
|low
 
|critical success
 
|critical success
 
|- style="background-color:#00e6b0"
 
|Movie 28
 
|hight
 
|low
 
|critical success
 
|critical success
 
|- style="background-color:#00e6b0"
 
|Movie 29
 
|hight
 
|low
 
|critical success
 
|critical success
 
|- style="background-color:#00e6b0"
 
|Movie 30
 
|hight
 
|low
 
|critical success
 
|critical success
 
|}
 
|
 
[[File:DecisionTree-NoelCosgraveSlides_2.png|500px|thumb|center|]]
 
  
[[File:DecisionTree-NoelCosgraveSlides_1.png|500px|thumb|center|]]
+
:::* [[MySQL|SQL]]
|}
 
  
 +
:::* [[Shell Scripting]]
  
 +
:::* [[R]]
  
<br />
+
:::* [[Web Development#PHP|PHP]]
===The algorithm===
 
  
 +
:::* [[C]]
 +
<section end=languages />
 +
</div>
 +
</div>
  
<br />
 
====Basic explanation of the algorithm====
 
https://www.youtube.com/watch?v=7VeUPuFGJHk
 
  
 +
<section begin=programming1 />
 +
::* '''[[Multi-Paradigm Programming and Scripting]]'''
  
This is a basic but nice explanation of the algorithm.
 
  
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* '''[[Object-Oriented Concepts and Constructs]]'''
 +
<div class="mw-collapsible-content">
 +
<section begin=objectOriented />
 +
:::* [[Object-Oriented Concepts and Constructs#SOLID Principles|SOLID Principles]]
 +
:::* [[Object-Oriented Concepts and Constructs#Class vs Object vs Instance|Class vs Object vs Instance]]
 +
:::* [[Object-Oriented Concepts and Constructs#Methods|Methods]]
 +
:::* [[Object-Oriented Concepts and Constructs#Variables|Variables]]
 +
:::* [[Object-Oriented Concepts and Constructs#Modifiers|Modifiers]]
  
In this example, we want to create a tree that uses '''chest pain''', '''good blood circulation''', and '''blocked artery status''' to predict whether or not a patient has heart disease:
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
:::* [[Object-Oriented Concepts and Constructs#Four fundamental OOP concepts|Four fundamental OOP concepts]]
 +
<div class="mw-collapsible-content">
 +
::::* [[Object-Oriented Concepts and Constructs#Encapsulation|Encapsulation]]
 +
::::* [[Object-Oriented Concepts and Constructs#Inheritance|Inheritance]]
 +
::::* [[Object-Oriented Concepts and Constructs#Polymorphism|Polymorphism]]
 +
::::* [[Object-Oriented Concepts and Constructs#Abstraction|Abstraction]]
 +
</div>
 +
</div>
  
 +
:::* [[Object-Oriented Concepts and Constructs#Nested classes|Nested classes]]
 +
:::* [[Object-Oriented Concepts and Constructs#Upcasting - Downcasting|Upcasting - Downcasting]]
 +
:::* [[Object-Oriented Concepts and Constructs#Errors and Exceptions|Errors and Exceptions]]
 +
:::* [[Object-Oriented Concepts and Constructs#Passing Object References|Passing Object References]]
 +
:::* [[Object-Oriented Concepts and Constructs#Connecting to a MySQL database using Java|Connecting to a MySQL database using Java]]
 +
:::* [[Object-Oriented Concepts and Constructs#Threads|Threads]]
 +
:::* [[Object-Oriented Concepts and Constructs#Serialization|Serialization]]
  
<center>
 
<div style="width: 420pt;">{{#ev:youtube|https://www.youtube.com/watch?v=7VeUPuFGJHk|||||start=110}}
 
 
</div>
 
</div>
</center>
+
</div>
  
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
:::* '''[[Object Orientation with Design Patterns]]'''
 +
<div class="mw-collapsible-content">
  
[[File:Decision_tree-heart_disease_example.png|600px|thumb|center|Taken from https://www.youtube.com/watch?v=7VeUPuFGJHk]]
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::::* [[Object Orientation with Design Patterns#Creational Patterns|Creational Patterns]]
 +
<div class="mw-collapsible-content">
 +
:::::* [[Object Orientation with Design Patterns#Singleton Pattern|Singleton Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Factory Pattern|Factory Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Abstract Factory Pattern|Abstract Factory Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Builder Pattern|Builder Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Prototype Pattern|Prototype Pattern]]
 +
</div>
 +
</div>
  
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::::* [[Object Orientation with Design Patterns#Structural Patterns|Structural Patterns]]
 +
<div class="mw-collapsible-content">
 +
:::::* [[Object Orientation with Design Patterns#Adapter Pattern|Adapter Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Facade Pattern|Facade Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Proxy pattern|Proxy pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Decorator Pattern|Decorator Pattern]]
 +
</div>
 +
</div>
  
'''The algorithm to build the model is based on the following steps:'''
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::::* [[Object Orientation with Design Patterns#Behavioural Patterns|Behavioural Patterns]]
 +
<div class="mw-collapsible-content">
 +
:::::* [[Object Orientation with Design Patterns#Chain of Responsibility Pattern|Chain of Responsibility Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Command Pattern|Command Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Iterator Pattern|Iterator Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Observer Pattern|Observer Pattern]]
 +
:::::* [[Object Orientation with Design Patterns#Mediator Pattern|Mediator Pattern]]
 +
</div>
 +
</div>
  
* '''We first need to determine which will be the Root:'''
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::::* [[Object Orientation with Design Patterns#Data Access Patterns|Data Access Patterns]]
 +
<div class="mw-collapsible-content">
 +
:::::* [[Object Orientation with Design Patterns#Data Access Object Pattern|Data Access Object Pattern]]
 +
</div>
 +
</div>
  
:* The attribute (Chest pain, Good blood circulation, Blocked arteries) that determines better whether a Patient has '''Heart Disease''' or not will be chosen as the Root.
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::::* [[Object Orientation with Design Patterns#Model-View-Controller MVC|Model-View-Controller MVC]]
 +
<div class="mw-collapsible-content">
 +
</div>
 +
</div>
 +
<section end=objectOriented />
 +
</div>
 +
</div>
  
:* To do so, we need to evaluate the three attributes by calculating what is known as '''Impurity''', which is a measure of how bad the Attribute is able to separate (determine) our label attribute (Heart Disease in our case).
 
  
:*There are many ways to measure Impurity, one of the popular ones is to calculate the '''Gini''' impurity.
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* '''[[Data Structures & Algorithms]]'''
 +
<div class="mw-collapsible-content">
 +
<section begin=algorithms />
 +
:::* [[Data Structures & Algorithms#Analysis of algorithms|Analysis of algorithms]]
 +
:::* [[Data Structures & Algorithms#The Stack Data Structure|The Stack Data Structure]]
 +
:::* [[Data Structures & Algorithms#The Queue Data Structure|The Queue Data Structure]]
 +
:::* [[Data Structures & Algorithms#The Array Data Structure|The Array Data Structure]]
 +
:::* [[Data Structures & Algorithms#The List Data Structure|The List Data Structure]]
 +
:::* [[Data Structures & Algorithms#The Linked List Data Structure|The Linked List Data Structure]]
 +
:::* [[Data Structures & Algorithms#The Tree Data Structure|The Tree Data Structure]]
 +
:::* [[Data Structures & Algorithms#Recursion vs Iteration|Recursion vs Iteration]]
 +
:::* [[Data Structures & Algorithms#Bubble and Insertion Sort|Bubble and Insertion Sort]]
 +
<section end=algorithms />
 +
</div>
 +
</div>
 +
<section end=programming1 />
  
 +
<section begin=web />
 +
<div class="mw-collapsible  mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* '''[[Web Development]]'''
 +
<div class="mw-collapsible-content">
 +
<section begin=web0 />
 +
:::* [[Web Development#HTML|HTML]]
  
:* '''So, let's calculate the Gini impurity for our «Chest pain» attribute:'''
+
:::* [[Web Development#CSS|CSS]]
  
::* We look at chest pain for all 303 patients in our data:
+
:::* [[JavaScript]]
  
[[File:Decision_trees-StatQuest1.png|600px|thumb|center|Taken from https://www.youtube.com/watch?v=7VeUPuFGJHk]]
+
::::* [[React]]
  
 +
:::* [[Node.js - Express.js]]
  
::* We calculate the Gini impurity for each branch (True: The patient has chest pain | False: The patient does not have chest pain):
+
:::* [[Dash - Plotly]]
  
:::<div style='font-size:15pt'><math>\color{blue}{
+
:::* [[Web Development#PHP|PHP]]
Gini\ Impurity = 1 - \sum_{i=1}^{N} P_{i}^{2}
+
 
}
+
:::* [[Ruby on Rails]]
</math>
+
 
 +
:::* [[Web server]]
 +
 
 +
:::* [[Web mapping]]
 +
 
 +
:::* [[HTML presentation with Reveal.js]]
 +
<section end=web0 />
 +
:::* [[Excelentes diseños de WebSites]]
 
</div>
 
</div>
 +
</div>
 +
<section end=web />
  
 +
<section begin=mobile />
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* '''[[Mobile Development]]'''
 +
<div class="mw-collapsible-content">
 +
<section begin=mobile0 />
 +
:::* [[Mobile Development#Native vs Hybrid Frameworks|Native vs Hybrid Frameworks]]
 +
:::* [[Cordova - PhoneGap]]
 +
:::* [[Ionic and Capacitor]]
 +
<section end=mobile0 />
 +
</div>
 +
</div>
 +
<section end=mobile />
  
::* For the '''True''' branch:
+
<section begin=systemAnalysis />
 +
::* [[Systems Analysis & Design]]
  
:::<math>
 
Gini\ Impurity_{True} = 1 - (Probability\ of\ Yes)^{2} + (Probability\ of\ No)^{2}
 
</math>
 
  
:::<math>
+
::* [[Universal design]]
Gini\ Impurity_{True} = 1 - \biggl(\frac{105}{105 + 39}\biggl)^2 - \biggl(\frac{39}{105 + 39}\biggl)^2 = 0.395
 
</math>
 
  
  
::* For the '''False''' branch:
+
::* [[GitHub]]
 +
<section end=systemAnalysis />
 +
</div>
 +
</div>
 +
<section end=programming />
 +
 
 +
 
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
:* <h5 style="text-align:left">[[Data Science|<p style="color:#A52A2A; font-weight: bold; margin-top:-5pt">Data Science</p>]]</h5>   
 +
<div class="mw-collapsible-content">
 +
<section begin=datascience />
 +
::* [[Data Science#Descriptive Data Analysis|Descriptive Data Analysis]]
 +
 
 +
::* [[Data Science#Correlation & Simple and Multiple Regression|Correlation & Simple and Multiple Regression]]
 +
 
 +
::* [[Data Science#Naive Bayes|Naive Bayes]]
 +
 
 +
::* [[Data Science#Decision Trees|Decision Trees]]
  
:::<math>
+
::* [[Data Science#K-Nearest Neighbour|K-Nearest Neighbour]]
Gini\ Impurity_{False} = 0.336
 
</math>
 
  
 +
::* [[Data Science#Boosting|Boosting]]
  
::*<div style='font-size:13pt'><math>\color{blue}{
+
::* [[Data Science#Perceptrons - Neural Networks and Support Vector Machines|Perceptrons - Neural Networks and Support Vector Machines]]
Total\ Gini\ Impurity = Weighted\ average\ of\ Gini\ impurities\ for\ the\ leaf\ nodes\ (branches)}
 
</math></div>
 
  
:::<math>
+
::* [[Data Science#Association Rules - Market Basket Analysis|Association Rules - Market Basket Analysis]]
Gini\ Impurity_{Chest pain} = \biggl( \frac{144}{144 + 159} \biggl)0.395\ +\ \biggl( \frac{159}{144 + 159} \biggl)0.336 = 0.364
 
</math>
 
  
 +
::* [[Data Science#Clustering|Clustering]]
  
:* '''Good Blood Circulation'''
+
::* [[Data Science#Time Series Analysis|Time Series Analysis]]
::<math>
 
Gini\ Impurity_{Good\ Blood\ Circulation} = 0.360
 
</math>
 
  
 +
::* [[Data Science#Model Evaluation|Model Evaluation]]
  
:* '''Blocked Arteries'''
+
::* [[Text Analytics]]
::<math>
 
Gini\ Impurity_{Blocked\ Arteries} = 0.381
 
</math>
 
  
 +
:::* [[Text Analytics#Information Retrieval|Information Retrieval]]
  
[[File:Decision_trees-StatQuest2.png|600px|thumb|center|Taken from https://www.youtube.com/watch?v=7VeUPuFGJHk]]
+
:::* [[Text Analytics#Natural Language Processing|Natural Language Processing]]
  
 +
::* [[Python for Data Science]]
  
* '''Then, we follow the same method to determine the following nodes'''
+
:::* [[NumPy and Pandas]]
  
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
:::* [[Data Visualization with Python]]
 +
<div class="mw-collapsible-content">
 +
::::* [[Data Visualization with Python#Pandas Built-in Data Visualization|Pandas Built-in Data Visualization]]
 +
::::* [[Data Visualization with Python#Data Visualization with Matplotlib|Matplotlib]]
 +
::::* [[Data Visualization with Python#Data visualization with Seaborn|Seaborn]]
 +
::::* [[Data Visualization with Python#Plotly and Cufflinks Data Visualization|Plotly and Cufflinks]]
 +
::::* [[Data Visualization with Python#Word cloud|Word cloud]]
 +
</div>
 +
</div>
  
* '''A node becomes a leaf when the Gini impurity for a node before is lower than the Gini impurity after using a new attribute'''
+
:::* [[Text Analytics in Python]]
  
[[File:Decision_trees-StatQuest3.png|600px|thumb|center|Taken from https://www.youtube.com/watch?v=7VeUPuFGJHk]]
+
:::* [[Dash - Plotly]]
  
 +
:::* [[Scrapy]]
  
* '''At the end, our DT looks like this:'''
+
::* [[R]]
  
[[File:Decision_trees-StatQuest4.png|600px|thumb|center|Taken from https://www.youtube.com/watch?v=7VeUPuFGJHk]]
+
:::* [[R tutorial]]
  
 +
::* [[RapidMiner]]
  
 +
::* [[Python for Data Science#Jupyter|Jupyter]]
  
* '''For numeric data:'''
+
::* [[Mathematics and Statistics for Data Science]]
: Ex.: Patient weight
 
  
 +
::* [[Big Data Integration]]
 +
<section end=datascience />
 +
</div>
 +
</div>
  
* '''Ranked data and Multiple choice data:'''
 
: Ranked data: For example, "Rank my jokes on a scale of 1 to 4".
 
: Multiple choice data: For example, "Which color do you like: red, blue or green".
 
  
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
:* <h5 style="text-align:left"><p style="color:#A52A2A; font-weight: bold; margin-top:-5pt">Other qualifications in IT</p></h5>
 +
<div class="mw-collapsible-content"> <section begin=otherinterests />
  
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* <h5 style="text-align:left">[[Databases|<p style="color:black; font-weight: bold; margin-top:-5pt">Databases</p>]]</h5>
 +
<div class="mw-collapsible-content">
 +
<section begin=databases />
 +
:::* '''[[Database design]]'''
 +
::::* [[Database design#Conceptual design|Conceptual design]]
 +
:::::* [[Database design#Entity relationship modelling|Entity relationship modelling]]
 +
:::::* [[Database design#The Enhanced Entity-Relation Model|The Enhanced Entity-Relation Model]]
 +
::::* [[Database design#Logical design|Logical design]]
 +
:::::* [[Database design#Relational Model|Relational Model]]
 +
:::::* [[Database design#Normalisation|Normalisation]]
  
<br /> <br />
+
:::* '''RDBMS'''
Decision Trees, Part 2 - Feature Selection and Missing Data: https://www.youtube.com/watch?v=wpNl-JwwplA
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::::* [[MySQL]]
 +
<div class="mw-collapsible-content">
 +
:::::* [[MySQL#Backup and Restore MySQL/MariaDB Databases|Backup and Restore MySQL/MariaDB Databases]]
 +
:::::* [[MySQL#Import a CSV file into a MySQL database|Import a CSV file into a MySQL database]]
 +
:::::* [[MySQL#Reset the MySQL/MariaDB Password|Reset the MySQL/MariaDB Password]]
 +
:::::* [[MySQL#Databases Authentication and Authorization|Authentication and Authorization]]
 +
:::::* [[MySQL#SQL Practice Lab 1|SQL Practice Labs]]
 +
:::::* [[MySQL#Stored Procedures|Stored Procedures]]
 +
:::::* [[MySQL#Stored Functions|Stored Functions]]
 +
:::::* [[MySQL#Triggers|Triggers]]
 +
:::::* [[MySQL#Events|Events]]
 +
:::::* [[MySQL#Cursors|Cursors]]
 +
:::::* [[MySQL#Transactions|Transactions]]
 +
:::::* [[MySQL#Exception Handling|Exception Handling]]
 +
</div>
 +
</div>
 +
::::* [[PostgreSQL]]
  
 +
:::* '''GUI DB administration tools'''
 +
::::* [[MySQL#MySQL Workbench|MySQL Workbench]]
 +
::::* [[MySQL#PhpMyAdmin|PhpMyAdmin]]
 +
::::* [[PostgreSQL#Connecting to Postgres from SQLectron|SQLectron]]
 +
<section end=databases />
  
<br />
+
</div>
Regression Trees: https://www.youtube.com/watch?v=g9c66TUylZ4
+
</div>
 +
 
 +
<div style="" class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* <h5 style="text-align:left">[[Cloud Computing|<p style="color:black; font-weight: bold; margin-top:-5pt">Cloud Computing</p>]]</h5>
 +
<div class="mw-collapsible-content">
 +
<section begin=cloud />
 +
:::* [[AWS]]
 +
:::* [[Google Cloud]]
 +
<section end=cloud />
 +
 
 +
</div>
 +
</div>
  
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* <h5 style="text-align:left">[[Operating Systems|<p style="color:black; font-weight: bold; margin-top:-5pt">Operating Systems</p>]]</h5>
 +
<div class="mw-collapsible-content">
 +
<section begin=os />
 +
:::* '''[[Linux]]'''
 +
<section begin=linux />
 +
::::* [[Shell Scripting]]
 +
::::* [[Study points for the RHCSA exam]]
 +
<section end=linux />
 +
:::* [[Windows]]
 +
:::* [[Android]]
 +
<section end=os />
  
<br />
+
</div>
 +
</div>
  
====Algorithms addressed in Noel s Lecture====
+
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* <h5 style="text-align:left">[[Networking|<p style="color:black; font-weight: bold; margin-top:-5pt">Networking</p>]]</h5>
 +
<div class="mw-collapsible-content">
 +
<section begin=networking />
 +
:::* [[Network Simulation using PacketTracer]]
 +
<section end=networking />
  
 +
</div>
 +
</div>
 +
<section begin=virtualization />
 +
::* <h5 style="text-align:left">[[Virtualization|<p style="color:black; font-weight: bold; margin-top:-5pt">Virtualization</p>]]</h5>
 +
<section end=virtualization />
 +
<section end=otherinterests /> <div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
::* <h5 style="text-align:left"><p style="color:black; font-weight: bold; margin-top:-5pt">Other IT pages</p></h5>
 +
<div class="mw-collapsible-content">
 +
:::* [[Google]]
 +
:::* [[Mi computadora]]
 +
</div>
 +
</div>
 +
</div>
 +
</div>
  
<br />
 
=====The ID3 algorithm=====
 
ID3 (Quinlan, 1986) is an early algorithm for learning Decision Trees. The learning of the tree is top-down. The algorithm is greedy, it looks at a single attribute and gain in each step. This may fail when a combination of attributes is needed to improve the purity of a node.
 
  
 +
:* '''[[Some important concepts]]'''
 +
</div>
 +
</div>
 +
<section end=it />
  
At each split, the question is "which attribute should be tested next? Which logical test gives us more information?". This is determined by the measures of '''entropy''' and '''information gain'''. These are discussed later.
 
  
 +
<div class="divline1" style="padding: 0; border: 0; display: block; margin-right: -20px; margin-left: -20px; background-color: white; height:1.3pt"> </div>
  
A new decision node is then created for each outcome of the test and examples are partitioned according to this value. The process is repeated for each new node until all the examples are classified correctly or there are no attributes left.
 
  
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
* <h4 style="text-align:left"> <p style="color:#0000ff; font-weight: bold; margin-top:-5pt">Physics and Mathematics</p></h4>
 +
<div class="mw-collapsible-content">
 +
:* [[Physics]]
 +
::* https://www.youtube.com/watch?v=M22MEShcyx8
 +
::* https://www.youtube.com/watch?v=tfSMcDqnh00&t=2061s
 +
::* https://www.youtube.com/watch?v=NrjFE_Rd2OQ&t=81s
 +
::* https://www.youtube.com/watch?v=e5_V78SWGF0
 +
:* [[Mathematics]]
 +
</div>
 +
</div>
  
<br />
 
=====The C5.0 algorithm=====
 
C5.0 (Quinlan, 1993) is a refinement of C4.5 which in itself improved upon ID3. '''It is the industry standard for producing decision trees'''. It performs well for most problems out-of-the-box. Unlike other machine-learning techniques, it has high explanatory power, it can be understood and explained.
 
  
.
+
<div class="divline1" style="padding: 0; border: 0; display: block; margin-right: -20px; margin-left: -20px; background-color: white; height:1.3pt"> </div>
 +
 
  
.
+
<section begin=geo />
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
* <h4 style="text-align:left">[[Geophysics|<p style="color:#0000ff; font-weight: bold; margin-top:-5pt">Geophysics</p>]]</h4>
 +
<div class="mw-collapsible-content">
 +
:* [[Modelado sísmico]]
 +
:* [[Procesamiento sísmico]]
 +
:* [[Seismic imaging]]
 +
</div>
 +
<section end=formal_natural_and_applied_sciences1 />
 +
</div>
 +
<section end=geo /> <section end=formal_natural_and_applied_sciences />
 +
</div>
 +
<br />
 +
</div>
 +
</div>
 +
<section end=formal_natural_and_applied_sciences0 />
  
.
+
<section begin=social_sciences0 />
 +
<div class="marco1-ext" style="padding: 0px 20px 20px 20px; margin-right: 0px; margin-left: 0px; background-color: #ededf2; width:67%; min-height:50px">
 +
<div class="marco1-int" style="padding: 0px; margin-right: 0px; margin-left: 0px; background-color: #ededf2;">
 +
<div class="titulo1-text-marco">
 +
<div>[[Social sciences and Humanities|<span class="titulo1-text" style="font: 700 21px / 27.3px 'Linux Libertine', Georgia, Times, serif; color:white; font-weight: bold">Social sciences and Humanities</span>]]</div>
 +
</div>
 +
<div class="titulo1-marco-twolines" style="padding-right: 0px; margin-right: -20px; margin-left: -20px; background-color: #4081de; min-height:40pt; margin-top:-32pt"> </div>
 +
<section begin=social_sciences />
 +
<div style="margin-top: -37px;" class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
<br />
 +
<div style="margin-top: 20px;">
 +
* [[Computational Modeling of Social and Political Systems]]
 +
* [[Filosofía]]
 +
* [[Historia]]
 +
<section begin=historia />
 +
:* [[La Révolution Cubana]]
 +
:* [[La Revolución Rusa]]
 +
:* [[Independencia de Venezuela]]
 +
:* [[La Révolution Française]]
 +
:* [[Cristianismo]]
 +
:* [[Judaísmo]]
 +
:* [[Origin and evolution of Homo sapiens]]
 +
:* [[The big bang theory]]
 +
<section end=historia />
 +
* [[Lideres]]
 +
<section begin=lideres />
 +
:* [[Discursos]]
 +
:* [[Marx]]
 +
:* [[Che]]
 +
:* [[Fidel]]
 +
:* [[Chávez]]
 +
:* [[Ali]]
 +
:* [[Silvio]]
 +
:* [[Facundo]]
 +
:* [[Rubén]]
 +
:* [[Mohamed Ali]]
 +
* [[Debates]]
 +
* [[Tesis]]
 +
<section end=lideres />
 +
<div class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
* [[Idiomas]]
 +
<div class="mw-collapsible-content">
 +
:* [[Español]]
 +
:* [[English]]
 +
:* [[Français]]
 +
</div>
 +
</div>
 +
<section end=Idiomas />
 +
* [[Archivo]]
 +
* [[Frases]]
 +
* [[Constitución de la República Bolivariana de Venezuela]]
 +
</div>
 +
</div>
 +
<section end=social_sciences />
 +
<br />
 +
</div>
 +
</div>
 +
<section end=social_sciences0 />
  
 +
<section begin=musica0 />
 +
<div class="marco1-ext" style="padding: 0px 20px 20px 20px; margin-right: 0px; margin-left: 0px; background-color: #ededf2; width:67%; min-height:50px">
 +
<div class="marco1-int" style="padding: 0px; margin-right: 0px; margin-left: 0px; background-color: #ededf2;">
 +
<div class="titulo1-text-marco">
 +
[[Música|<span class="titulo1-text" style="font: 700 21px / 27.3px 'Linux Libertine', Georgia, Times, serif; color:white; font-weight: bold">Música</span>]]
 +
</div>
 +
<div class="titulo1-marco-oneline" style="padding-right: 0px; margin-right: -20px; margin-left: -20px; background-color: #4081de; min-height:40pt; margin-top:-32pt"> </div>
 +
<section begin=musica />
 +
<div style="margin-top: -37px;" class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
<br />
 +
<div style="margin-top: 20px;">
 +
* [[Salsa]]
 +
* [[Composición]]
 +
* [[Bajo]]
 +
* [[Guitarra]]
 +
* [[Canciones]]
 +
* [[Videos]]
 +
</div>
 +
</div>
 +
<section end=musica />
 +
<br />
 +
</div>
 +
</div>
 +
<section end=musica0 />
  
 +
<section begin=Carrera0 />
 +
<div class="marco1-ext" style="padding: 0px 20px 20px 20px; margin-right: 0px; margin-left: 0px; background-color: #ededf2; width:67%; min-height:50px">
 +
<div class="marco1-int" style="padding: 0px; margin-right: 0px; margin-left: 0px; background-color: #ededf2;">
 +
<div class="titulo1-text-marco">
 +
[[Carrera|<span class="titulo1-text" style="font: 700 21px / 27.3px 'Linux Libertine', Georgia, Times, serif; color:#B8860B; font-weight: bold">Carrera</span>]]
 +
</div>
 +
<div class="titulo1-marco-oneline" style="padding-right: 0px; margin-right: -20px; margin-left: -20px; background-color: #E6E6FA; min-height:40pt; margin-top:-37pt"> </div>
 +
<section begin=Carrera />
 +
<div style="margin-top: -32px;" class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 
<br />
 
<br />
 +
<section begin=Carrera1 />
 +
<div style="margin-top: 20px; margin-bottom: 12px" class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
 +
* '''[[CV]]'''
 +
<div class="mw-collapsible-content">
 +
:* [[CV - Skills and Qualifications]]
 +
:* [[CV - Skills and Qualifications_1]]
 +
:* [[CV - Work experience]]
 +
:* [[CV - Education]]
 +
:* [[CV - Courses]]
 +
:* [[CV - Publications]]
 +
:* [[CV - Languages]]
 +
:* [[CV - Interests]]
 +
</div>
 +
</div>
  
===Example in RapidMiner===
+
<div style="margin-bottom: 12px" class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
<div style="text-align: center;">
+
* '''[[Job search]]'''
 +
<div class="mw-collapsible-content">
 +
:* [[Entrevista]]
 +
:* [[Job application email]]
 +
:* [[Coverletter]]
 +
</div>
 +
</div>
  
[[File:Decision_tree_RapidMiner_example-Iris_data.mp4|1500px|thumb|center|]]
+
* '''[[Mis proyectos]]'''
 +
<section end=Carrera1 />
 +
</div>
 +
<section end=Carrera />
 +
<br />
 +
</div>
 +
</div>
 +
<section end=Carrera0 />
  
 +
<div style="padding: 0px 20px 20px 20px; margin-right: 0px; margin-left: 0px; background-color: #ededf2; width:67%; min-height:50px">
 +
<div style="padding: 0px; margin-right: 0px; margin-left: 0px; background-color: #ededf2;">
  
{| style="margin: 0 auto;" |
+
==<span style="color:#B8860B; font-weight: bold">Otras Páginas</span>==
|[[File:decision_tree_RapidMiner_example-Iris_data3.png|300px|thumb|center|]]
+
<div style="padding-right: 0px; margin-right: -20px; margin-left: -20px; background-color: #E6E6FA; min-height:40pt; margin-top:-35pt"> </div>
|[[File:decision_tree_RapidMiner_example-Iris_data2.png|500px|thumb|center|]]
+
<div style="margin-top: -35px;" class="mw-collapsible mw-collapsed" data-expandtext="+/-" data-collapsetext="+/-">
|-
+
<br />
|<img style='width:300px' src='https://upload.wikimedia.org/wikipedia/commons/7/78/Petal-sepal.jpg' />
+
<div style="margin-top: 20px;">
|[[File:decision_tree_RapidMiner_example-Iris_data1.png|500px|thumb|center|]]
+
* [[Sitios web]]
|}
+
* [[Venezuela]]
 +
* [[Flamenco]]
  
 +
: <span style="color:#BDB76B">──────────────────</span>
  
<pdf width="810" height="500">File:Decision_tree_Example_RapidMiner.pdf</pdf>
+
* [[Sinfronteras]]
  
This is the guide provided by Noel [[File:Decision_tree_Example_RapidMiner.pdf]]
+
* [[Help MediaWiki]]
 +
* [[Página de pruebas]]
 +
* [[Página de pruebas 2]]
 +
* [[Página de pruebas 3]]
 +
* [[Página de pruebas 4]]
 +
* [[Transclusion]]
  
 
</div>
 
</div>
 
+
</div>
 
<br />
 
<br />
 +
</div>
 +
</div>

Revision as of 21:18, 4 March 2021

This is a protected page.







Computer Science and IT