main

2020/05/18

create a time line plot

https://www.w3schools.com/howto/howto_css_timeline.asp

use HTML to separate the line side and right side.

<div class="timeline">
  <div class="container left">
    <div class="content">
      <h2>2017</h2>
      <p>Lorem ipsum..</p>
    </div>
  </div>
  <div class="container right">
    <div class="content">
      <h2>2016</h2>
      <p>Lorem ipsum..</p>
    </div>
  </div>
</div>

Use CSS to decorate both container.

{
  box-sizing: border-box;
}

/* Set a background color */
body {
  background-color: #474e5d;
  font-family: Helvetica, sans-serif;
}

/* The actual timeline (the vertical ruler) */
.timeline {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}

/* The actual timeline (the vertical ruler) */
.timeline::after {
  content: '';
  position: absolute;
  width: 6px;
  background-color: white;
  top: 0;
  bottom: 0;
  left: 50%;
  margin-left: -3px;
}

/* Container around content */
.container {
  padding: 10px 40px;
  position: relative;
  background-color: inherit;
  width: 50%;
}

/* The circles on the timeline */
.container::after {
  content: '';
  position: absolute;
  width: 25px;
  height: 25px;
  right: -17px;
  background-color: white;
  border: 4px solid #FF9F55;
  top: 15px;
  border-radius: 50%;
  z-index: 1;
}

/* Place the container to the left */
.left {
  left: 0;
}

/* Place the container to the right */
.right {
  left: 50%;
}

/* Add arrows to the left container (pointing right) */
.left::before {
  content: " ";
  height: 0;
  position: absolute;
  top: 22px;
  width: 0;
  z-index: 1;
  right: 30px;
  border: medium solid white;
  border-width: 10px 0 10px 10px;
  border-color: transparent transparent transparent white;
}

/* Add arrows to the right container (pointing left) */
.right::before {
  content: " ";
  height: 0;
  position: absolute;
  top: 22px;
  width: 0;
  z-index: 1;
  left: 30px;
  border: medium solid white;
  border-width: 10px 10px 10px 0;
  border-color: transparent white transparent transparent;
}

/* Fix the circle for containers on the right side */
.right::after {
  left: -16px;
}

/* The actual content */
.content {
  padding: 20px 30px;
  background-color: white;
  position: relative;
  border-radius: 6px;
}

/* Media queries - Responsive timeline on screens less than 600px wide */
@media screen and (max-width: 600px) {
/* Place the timelime to the left */
  .timeline::after {
    left: 31px;
  
}

/* Full-width containers */
  .container {
    width: 100%;
    padding-left: 70px;
    padding-right: 25px;
  
}

/* Make sure that all arrows are pointing leftwards */
  .container::before {
    left: 60px;
    border: medium solid white;
    border-width: 10px 10px 10px 0;
    border-color: transparent white transparent transparent;
  
}

/* Make sure all circles are at the same spot */
  .left::after, .right::after {
    left: 15px;
  
}

/* Make all right containers behave like the left ones */
  .right {
    left: 0%;
  
}

}

There is more here:
https://codyhouse.co/gem/vertical-timeline/

2020/05/08

Some data science projects

ENERGY CONSUMPTION

https://www.drivendata.org/competitions/51/electricity-prediction-machine-learning/page/101/
TAXI ROUTE & DURATION PREDICTION

https://www.kaggle.com/c/pkdd-15-predict-taxi-service-trajectory-I

https://www.kaggle.com/c/pkdd-15-taxi-trip-time-prediction-ii
WEBSITE CLICK PREDICTION

https://www.kaggle.com/c/outbrain-click-prediction
PORTLAND CRIME FORECASTING

https://nij.gov/funding/pages/fy16-crime-forecasting-challenge.aspx
DC LANDSCAPE ANALYSIS

From https://www.datalensdc.com/dc-property-flipping.html

Network safety analysis




text data handling in NLP

  1. basic feature extraction using text data
    • Number of words
    • Number of characters
    • Average word length
    • Number of stopwords
    • Number of special characters
    • Number of numerics
    • Number of uppercase words
  2. Basic Text Pre-processing of text data
    • Lower casing
    • Punctuation removal
    • Stopwords removal
    • Frequent words removal
    • Rare words removal
    • Spelling correction
    • Tokenization
    • Stemming
    • Lemmatization
  3. Advance Text Processing
    • N-grams
    • Term Frequency
    • Inverse Document Frequency
    • Term Frequency-Inverse Document Frequency (TF-IDF)
    • Bag of Words
    • Sentiment Analysis
    • Word Embedding

Natural Language Understanding (NLP)

https://www.topbots.com/4-different-approaches-natural-language-processing-understanding/

primer for neural network (1)

http://adventuresinmachinelearning.com/neural-networks-tutorial/

Visualizing Markov Chains with NetworkX

Here is the original post I found out https://vknight.org/unpeudemath/code/2015/11/15/Visualising-markov-chains.html.

However, there are some places which are not clear to me at first. After some debug, I decided to put out a simpler version for people to use.

Assuming a Markov chain transition matrix T ( 5x5 matrix) with majority of them are zero.

T(0,0) = 0.1
T(0,1) = 0.2
T(0,3) = 0.7

T(1,1) = 0.9

https://stackoverflow.com/questions/13814640/color-a-particular-node-in-networkx-and-graphviz

import networkx as nx
from networkx.drawing.nx_agraph import to_agraph

G = nx.Graph()

G.add_node(1,color='red',style='filled',fillcolor='blue',shape='square')
G.add_node(2,color='blue',style='filled')
G.add_edge(1,2,color='green')
G.nodes[2]['shape']='circle'
G.nodes[2]['fillcolor']='red'

A = to_agraph(G)
A.layout()
A.draw('color.png')
print(A.to_string())

Python Dash for data visualization

Dashboards in Python for Beginners and Everyone Else using Dash

https://medium.com/swlh/dashboards-in-python-for-beginners-and-everyone-else-using-dash 

 I begin to use Dash and Flask for some data science project. I love it.

How to Supercharge Your Python Classes with Class Methods

  How to Supercharge Your Python Classes with Class Methods | by Siavash Yasini | May, 2024 | Towards Data Science As we just mentioned, a c...