BaptisteContreras
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    # Rapport Projet DCD ## Introduction En 1986, Monell Chemical Senses Center et National Geographic ont réalisé un sondage afin de récupérer le ressentie de certaines odeurs. La quantité massive de données récupérées rends impossible l'analyse brut. C'est dans ce genre de cas que le minage de donnée (`Data Mining`) est impérative afin de trouver des motifs régulier. Nous allons vous proposer une étude de ces données ainsi qu'une tentive d'extraction de connaissances afin de détérminer si un mode de vie particulier: fumer, mettre du parfum ... Change la manière de percevoir et d'identifier les odeurs. ## Présentation des données Le csv contient les réponses de 1,42 millions de lecteurs. Les données contiennent pour chaque lecteurs une petite liste d'antécédents médicaux en particulier si les participants ont subis des pertes d'odorat dans le passé, ainsi que plusieurs informations pour chaque odeur (intensité, qualité, description, ...). Les six odeurs sont : - Adrostenone (abrégé en `AND`), molécule trouvé dans la transpiration - Acétate de pentyle (Amyl acetate en anglais abrégé en `AMY`), molécule ayant une odeur de banane - Galaxolide (abrégé en `GALAX`), molécule trouvé dans le musc - Eugénol (abrégé en `EUG`), molécule trouvé dans les clous de girofles - Mercaptans (abrégé en `MERCAP`), molécule ajouté au gaz naturels pour trouver des fuites - Rose (abrégé en `ROSE`), est l'odeur de la rose ## Analyse préliminaire Les analyses et graphiques présentés ci-dessous ne dégagent pas de connaissances des données et ne permettent pas de tirer de conclusion. Notre but ici est de présenter les données d'un point de vue statistique et assez général pour avoir une idée de ce que nous traitons et pour nous guider lors de la sélection d'attribut dans la phase d'extraction de connaissance. Nous avons choisi d'analyser les odeurs pour voir si certaines sortaient du lot. Puis nous nous sommes intéressés à savoir quelles sont les caractéristiques des personnes ayant participé. ## Analyse statistiques sur les odeurs ### Répartition de la perception des odeurs Dans cette première analyse nous avons cherché à voir quelles sont les odeurs les mieux perçues. D'après ce premier graphique nous pouvons voir que les odeurs `AMY`, `MERCAP`, `ROSE` et `EUG` sont les mieux perçues. L'odeur de `ROSE` est de peu, l'odeur mieux perçu parmi les 6 autres. L'odeur de `GALAX` est la moins bien perçu, suivie de près par l'odeur `AND` Le graphique ci-dessous montre le pourcentage de réponse "OUI" par odeur pour la colonne perception (`SMELL`) ![](https://i.imgur.com/8oNapzs.png) Cet autre graphique met en évidence la proportion de réponse "NON" et "UNKNOW" pour chaque odeur par rapport à la quantité total de ces réponses. ![](https://i.imgur.com/lJ2RWk4.png) Les résultats affichés confortent la conclusion énoncée plus haut ### Répartition de la reconnaissance des odeurs Les résultats de la reconnaissance des odeurs différent plus que ceux de la perception. Les odeurs de "Rose" et "Eugenol" ont été très bien reconnues avec plus de 80% de reconnaissance. Les odeurs de "Gas" et "Amyl" ont été reconnues assez difficilement, avec environ 50% de résultats positifs. Enfin, les odeurs de "Androstenone" et "Galaxolide" obtiennent un taux de reconnaissance <= à 20% ![](https://i.imgur.com/MuLbTRs.png) D'après ces deux premières analyses, nous pouvons conclure que même si la perception des odeurs est relativement bonne avec une perception toujours supérieure à 65%, la reconnaissance est plus laborieuse et nous distinguons trois catégories d'odeurs ressortir : - Les très bien reconnues - Les moyennement reconnues - Les peu reconnues Cependant il y a une légère corrélation qui se dégage entre la perception des odeurs et leur reconnaissance. Moins l'odeur est perçue et moins elle à de chance d'être reconnue. ### Analyse de l'intensité des odeurs On va chercher à savoir quelles sont les odeurs les plus intenses (avec une intensité perçue >= 3) Ce premier graphique montre la répartition des odeurs en fonction de leur intensité perçue ![](https://i.imgur.com/ZjYRfQk.png) Ce deuxième graphique montre le pourcentage de réponse >= 3 pour chaque odeur ![](https://i.imgur.com/J8PcrkI.png) Là encore, la répartition des odeurs reste cohérente avec ce que nous avions obtenue pour la perception et la reconnaissance. ### Analyse des goûts des participants pour chaque odeur. Dans cette partie nous allons voir quelles sont les odeurs qui sont le plus aimé. Pour juger l'appétence des participants pour une odeur, nous cherchons à savoir si les personnes sont prêtes à utiliser cette odeur comme parfum ou à manger un aliment ayant cette odeur. Répartition des odeurs en fonction du nombre de réponses "OUI" à la question "Would you eat something that smelled like this?" ![](https://i.imgur.com/0UpaM6d.png) Pourcentage de "OUI" pour chaque odeur ![](https://i.imgur.com/nk0pbiE.png) On remarque que la perception et la reconnaissance d'une odeur n'influe pas sur ce critère. Les odeurs les plus perçue et reconnue ont l'air d'être moins enclin à être apprécié sur un aliment. Quand nous comparons les résultats pour le critère "pourriez-vous manger un aliment avec cette odeur" au critère "pourriez-vous porter cette odeur" les résultats sont complétement différents. Les participants sont réceptifs à porter ces odeurs à hauteur de 20/30% pour chaque odeur sauf pour la rose ou près de 55% des personnes accepteront cette odeur comme parfum. L'odeur du GAZ obtient un score très bas avec moins d'un pourcent. Répartition des plantes selon le nombre de personnes qui pourrait porter l'odeur sur leurs vêtements ![](https://i.imgur.com/NqtP4Bf.png) Pourcentage de "OUI" pour chaque odeur ![](https://i.imgur.com/4lMrw8Q.png) Il ne semble pas avoir de corrélation entre la perception / reconnaissance / intensité et le fait de vouloir porter / "manger" une odeur. De même que le fait d'accepter de porter une odeur sur ces vêtements n'a pas l'air d'influer pour l'envie de manger un aliment avec cette odeur. Il y a juste une exception pour l'odeur du "GAS" qui obtient un score très bas pour ces deux critères (ce qui n'est pas étonnant) ## Analyse statistiques sur les personnes ### Caractéristiques des personnes ayant participé L'âge moyen des personnes est de 40 ans. Les femmes sont représentées à hauteur de 54.1% tandis que les hommes 43.9% ![](https://i.imgur.com/Ax1A5d2.png) On compte plus de 150 000 femmes de plus que les hommes. ![](https://i.imgur.com/WXwmw4d.png) ### Répartition géographique 93% des participants sont localisés en Amérique du Nord (USA + Canada) parmis lesquels 86% viennent des USA. ![](https://i.imgur.com/QxQqxns.png) ### Répartitions selon l'ethnie Il est bon de noter que ce sont très majoritairement des personnes "blanches" qui ont répondue aux questions. Les autres ethnies sont très minoritaires dans ce questionnaire et sont présentes en proportion quasiment égale. Répartition des ethnies ![](https://i.imgur.com/3PYIVCK.png) ![](https://i.imgur.com/s8yFBtK.png) ### Exposition des participants aux odeurs dans leur vie ### Répartition utilisation parfum Environ 30 % des participants n'utilisent pas de parfum dans leur quotidien. A l'opposé nous pouvons constater que 34.8% en utilise quasiment tous les jours et près de 55% en utilise plus de la moitié de la semaine. ![](https://i.imgur.com/xLgflLG.png) ### Répartition exposition produits chimiques La majorité des participants n'a pas été exposée à une perte de l'odorat à cause d'une exposition à des produits chimiques ![](https://i.imgur.com/YvTPEcg.png) ### Répartition SELF_RATE_SMELL Les participants estiment avoir un bon sens olfactif. ![](https://i.imgur.com/1pKzKMI.png) ### Répartition des allergies Répartition des allergies en fonction des réponses "OUI" obtenues ![](https://i.imgur.com/KnpM6qr.png) Pourcentage de "OUI" pour chaque allergie ![](https://i.imgur.com/vlCDVZZ.png) L'allergie au pollen est prédominante sur les autres qui représentent une part égale. ### Personne n'ayant aucune d'allergie 64.3% des personnes ont été diagnostiquées avec au moins une allergie. ![](https://i.imgur.com/GNNhWWK.png) ### Personnes fumeuses Moins de 20% des personnes sont des fumeurs ![](https://i.imgur.com/LhJvMuW.png) ### Environnement de travail des personnes La plupart des participants travaillent en intérieur. ![](https://i.imgur.com/fx4OXS2.png) ## Problématiques Dans un premier temps nous avons cherché à déduire une problèmatique à partir des subgroup obtenu en faisant un clustering sur la perception des odeurs. Malheureusement nous n'avons pas réussi à en dégager une interéssante. Nous avons choisis à la place de répondre à quatre questions : - 1) Est-ce que des maladies / allergies influence sur la perception / reconnaissance des odeurs ? - 2) Est-ce que le mode de vie (porter du parfum, fumer, etc) impacte la perception / reconnaissance des odeurs ? - 3) Est-ce que des odeurs sont perçue de façon similaires ? - 4) Est-ce que les personnes ont une bonne estime de leur odorat ? ## Résultats ### 1) Est-ce que des maladies / allergies influence sur la perception / reconnaissance des odeurs ? Pour cette problématique nous avons tenté plusieurs approches. Dans un premier temps nous avons clusterisé en 6 dimensions sur ```['corr1','corr2','corr3','corr4','corr5','corr6']``` puis lancer deux recherches de subgroup : - Une recherche de subgroup en ignorant des champs que l'on considère comme superflux. Ces champs ignorés ont été déduis de l'analyse préliminaire, comme par exemple le pays d'origine ou l'ethnie car les données pour ces attributs sont représentées de manières disproportionnées (+ de 84% de participant d'Amérique du Nord, majoritairement blanc). Nous avons aussi éliminé certains champs arbritairement, comme les attributs _SMELL car ils sont très liés à corr (si on a reconnu l'odeur on l'a forcément sentis auparavant). Le but ici est de chercher des motifs dans un espace relativement large, pour voir si des attributs liés aux maladies ou allergies remontent - Une cherche de subgroup focalisée sur les attributs représentant les maladies ou les allergies : tous les autres attributs ont été ignorés, nous avons vraiment cherché des motifs dans un espace très restreint A chaque fois pour les subgroup nous avons réduit l'espace de recherche en ignorant les valeurs égales à 0 pour les colonnes dont la signification indique une non réponse. Nous avons aussi tenté plusieurs clustering : - ```['corr1','corr2','corr3','corr4','corr5','corr6', 'totcorr']``` --> permet de clusteriser par odeur reconnue + nombre total d'odeur reconnue. Il aurait fallu normaliser totcorr qui a une valeur entre 0 et 7 tandis que les autres colonnes sont entre 0 et 2. Malheureusement nous n'avons pas eu le temps de le faire. - ```['corr1','corr2','corr3','corr4','corr5','corr6' 'AND_SMELL', 'AMY_SMELL', 'GALAX_SMELL','EUG_SMELL', 'MERCAP_SMELL','ROSE_SMELL']``` -> permet de clusteriser par odeur sentie / odeur reconnue - ```[ 'AND_SMELL', 'AMY_SMELL', 'GALAX_SMELL','EUG_SMELL', 'MERCAP_SMELL','ROSE_SMELL']``` --> clusteriser par odeur sentie - ```[ 'AND_SMELL', 'AMY_SMELL', 'GALAX_SMELL','EUG_SMELL', 'MERCAP_SMELL','ROSE_SMELL', 'totcorr']``` --> clusteriser par odeur sentie + nombre d'odeur reconnues. Là aussi une normalisation de totcorr aurait été nécessaire. Malgré tout nos essais, nous n'avons pas trouvé de lien entre des maladies ou des allergies et la perception des odeurs. Les motifs dans les subgroup remontés ne nous permettent pas d'établir ce lien. Soit car la qualité est beaucoup trop faible soit car aucun motif relié à une maladie / allergie n'est remontée. Cette capture d'écran d'un résultat de subgroup sur 10 clusters (clusterisation sur corr1 à corr6) et une profondeur 2 illustre un problème de qualité trop faible (présent même pour des tentatives sur 5 clusters et profondeur 2) ![](https://i.imgur.com/o2HOi0j.png) Exemple de subgroup pour 5 clusters et profondeur 3 où aucun motif avec une maladie ou allergie n'est remonté. ![](https://i.imgur.com/z957J3z.png) ### 2) Est-ce que le mode de vie (porter du parfum, fumer, etc) impacte la perception / reconnaissance des odeurs ? Dans cette seconde problématique, nous nous sommes interessé aux différents modes de vies de l'échantillon afin de déterminer si cela pouvait avoir un impact positif ou négatif sur la percéption des odeurs. Pour ce faire nous avons utilisé un clustering en 6 dimensions sur les colonnes : ``AND_SMELL``, ``AMY_SMELL``, ``GALAX_SMELL``, ``EUG_SMELL``, ``MERCAP_SMELL``, ``ROSE_SMELL``. Ces 6 colonnes ayant des réponses comprisent entre 0 et 2, la distance de Manhattan est correct et ne nécessite pas de modification de valeur. Pour pouvoir vérifier si le mode de vie à un impact sur l'odorat nous avons réalisé deux tests différents : * pour le premier: nous avons ignoré toutes les colonnes excepté celles liés à cette problématique. * pour le second nous avons ignoré que les colonnes jugées non pertinante et n'apportant pas d'information complémentaire. Voici une image d'un cluster typique que nous avons pu obtenir pour notre premier test avec un nombre de cluster elévé : 10 clusters, pour une profondeur de 3: ![](https://i.imgur.com/WTQuEqC.png) Ici nous pouvons remarquer que la qualitée est très faible et donc que les résultats ne sont pas exploitable. De plus le ``coverage_sg`` est au maximum de 0.25 ici. Pour notre second test, sur 3 clusters et une profondeur de 3 nous avons : ![](https://i.imgur.com/9l0UORn.png) Pour ce cluster nous n'avons pas trouvé de subgoal pouvant donner des informations sur le mode de vie des personnes correspondant au cluster. Nous pouvons dire à partir de ces résultats que le mode de vie n'a pas d'impact sur la qualité de l'odorat. ### 3) Est-ce que des odeurs sont perçues de façon similaires ? Pour le clustering de cette problématique nous avons tenté un clustering en fonction des colonnes `_DES` qui correspondent à la description associés à une odeur, et lancer une recherche de sous group dans ses clusters. Ce clustering nous apporte plusieurs informations : - La découverte de sous groupes dans ses clusters ne s'est pas montré fructueuse, en effet nous avons voulu reliés des colonnes `_SMELL`, `_EAT` et `_WEAR` de différentes odeurs au sein des clusters (càd que pour des odeurs différentes les personnes auraient envie de manger quelque chose qui sens cette odeur, ...) mais la qualité des sous groupes ne nous permet pas de poser des conclusions. ![](https://i.imgur.com/dN0MGqV.png) ![](https://i.imgur.com/WAku1s0.png) ### 4) Est-ce que les personnes ont une bonne estime de leur odorat ? Pour le clustering, nous avons clusterisé autour de la colonne représentant la reconnaissance de toutes les odeurs `totcorr` qui vas de 0 à 7, 0 étant un mauvais retour (erreur dans le sondage) et 1 à 7 détermine la qualité de la reconnaissance (7 est la meilleur note). Il y aura donc 7 clusters chacun centrer autour d'une valeur possible de `totcorr`. Ensuite nous recherchons des sous-groupes composés du motif `SELF_RATE_SMELL` afin de savoir si ce motif est carectéristique du cluster ce qui determinera si les personnes ont bien estimée leur odorat. Voici la répartition des cluster : ``` Cluster 0: 3 Cluster 1: 5 Cluster 2: 2 Cluster 3: 4 Cluster 4: 1 Cluster 5: 6 - 7 Cluster 6: 0 ``` Ici le cluster 6 peut-être ignoré vu qu'il s'agit du groupement de personne ayant mal répondu (case mal remplis dans le sondage). Quant au cluster 5 le score minimal est de 6 et maximal de 7 il s'agit donc du cluster avec le meilleur score. Voici la découverte des sous-groupes: - Cluster 0 : ![](https://i.imgur.com/gWXKUbz.png) On peut remarquer pour le cluster 0 qui a un `totcorr = 3` que le motif `SELF_RATE_SMELL` = 3 resort en premier. Malheureusement la qualité de se motif est trop faible pour affirmer qu'il s'agit d'une règle décrivant le cluster. - Cluster 1 : ![](https://i.imgur.com/OJNvC0N.png) Sur ce cluster le motif `SELF_RATE_SMELL == 5` soit l'équivalent du score du cluster. De plus, la qualité de cette règle est assez élévée pour être prise en compte. Nous pouvons en conclure que les personnes ayant estimée avoir un bon odorat ne se sont pas trop trompées. - Cluster 2 : ![](https://i.imgur.com/MdtITfJ.png) Ici le motif le plus courant serait `SELF_RATE_SMELL == 3` d'une qualité considérable et le second serait `SELF_RATE_SMELL == 2` mais d'une qualité assez faible. Nous pouvons en conclure que les personnes pensant avoir un odorant assez faible se sont sous-estimés légèrement. - Cluster 3 : ![](https://i.imgur.com/ziFVH6B.png) Pour ce cluster, le `totcorr` est égale à 4, or le motif le plus représenté est `SELF_RATE_SMELL == 5`. Par conséquent comme pour le cluster précédent, nous pouvons estimer que les personnes pensant avoir un odorat assez bon ce sont sous-estimés légérement. - Cluster 4 : ![](https://i.imgur.com/kFoWUMr.png) Quant à ce cluster qui représente les personnes estimant avoir un mauvais odorat nous pouvons constater qu'ils se sont aussi légérement sous-estimés mais la qualité du motif est trop faible pour vraiment pouvoir considérer cela comme représentatif. - Cluster 5 : ![](https://i.imgur.com/Zzttv4w.png) Pour le dernier cluster qui est ceux qui pensent que leur odorat est qualitatif, ils se sont sur-estimés. Mais le motif étant de piètre qualité nous ne pouvons pas se fié à cette conclusion. De manière générale les participants(es) aux sondages ne sont pas très loin d'avoir bien estimé leur odorat. Cependant, les motifs ne sont pas très représentatif par conséquent nous ne pouvons pas vraiment affirmer que les personnes ont bien estimé leur odorat. ## Conclusion Pour conclure notre étude nous pouvons dire qu'avec nos résultats nous n'avons pas pu trouver d'information permettant de démontrer un lien entre différentes données et une de nos problématiques. Durant nos multiples tests les momements où nous avons obtenus des qualités supérieurs ``0.06`` l'apport en information restait maigre. Il est à noter qu'il est difficile d'obtenir des qualités élevés et donc d'obtenir des résultats clairs. Nous avons aussi constaté une part importante d'absence de réponse ( 0=No response dans la plupart des cas) de la part des candidats nous obligeant à ajouter des selecteurs pour ne pas exploiter leurs réponses.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully