[PYTHON] J'ai considéré la méthode d'apprentissage automatique et son langage d'implémentation à partir des informations de balise de Qiita

en premier

Premier poste.

Quand j'étais à l'université, j'ai utilisé SVM (Support Vector Machine) pour créer un programme visant à déterminer le positif et le négatif des avis sur les sites de voyage. À l'époque, j'utilisais Python, mais y a-t-il de nombreux langages différents des autres méthodes d'apprentissage automatique? Est-ce que autre chose que Python est populaire maintenant? J'ai pensé, alors je l'ai considéré en collectant les informations de balise de Qiita.

Tout d'abord, extrayez 100 articles balisés avec des méthodes d'apprentissage automatique (SVM, régression logistique, etc.) à l'aide de l'API, et vérifiez les autres balises des articles pour voir dans quelle langue ils sont écrits. (C'est un nori de taguer la langue ensemble.)

C'est une pratique de l'API Qiita, donc peu importe qu'elle soit correcte ou non. Au fait, le nom de la recherche est ↓.

Méthode Nom de recherche
Régression linéaire Linearregression
Retour logistique Logisticregression
Machine de vecteur de soutien SVM
Arbre de décision decisiontree
Forêt aléatoire randomforest
réseau neuronal NeuralNetwork
Baies naïves NaiveBayes
k-means k-means
Analyse des composants principaux PCA
L'apprentissage en profondeur DeepLearning

code

QiitaAPItest.js


//Charger le module axios
const axios = require('axios');

//MLName:Méthode d'apprentissage automatique
//MLSearchName:Nom à rechercher
//Obtenez les tags de 100 articles tagués avec MLSearchName[Nom de la balise: numéro]Retourne dans la liste des.
async function taglist(MLName, MLSearchName) {
  var rtList={};
  let response = await axios.get('https://qiita.com/api/v2/items?per_page=100&page=1&query=tag:'+MLSearchName);
  for (let i = 0; i < response.data.length; i++) {
    for (let j = 0; j < response.data[i].tags.length; j++) {
      if(rtList[response.data[i].tags[j].name]){
        rtList[response.data[i].tags[j].name] +=1;
      }
      else{
        rtList[response.data[i].tags[j].name] =1;
      }
    }
  }

  //Trier par ordre décroissant
  var keys=[];
  for(var key in rtList)keys.push(key);
  function Compare(a,b){
    return rtList[b]-rtList[a];    
  }
  keys.sort(Compare);

  console.log('\n' + MLName);

  //Top 5 des éléments affichés
  for(let i = 0; i < 6; i++){   
    console.log(keys[i] + ':' + rtList[keys[i]]);
  }
}

taglist('Régression linéaire','Linearregression');
taglist('Retour logistique','Logisticregression');
taglist('Machine de vecteur de soutien','svm');
taglist('Arbre de décision','decisiontree');
taglist('Forêt aléatoire','randomforest');
taglist('réseau neuronal','NeuralNetwork');
taglist('Baies naïves','NaiveBayes');
taglist('k-means','k-means');
taglist('Analyse des composants principaux','PCA');
taglist('L'apprentissage en profondeur','DeepLearning');

Résultats / Discussion

Balises extraites, 5 par ordre décroissant de nombre

Méthode Balise 1 Étiquette 2 Étiquette 3 Étiquette 4 Étiquette 5
Régression linéaire MachineLearning Python Apprentissage automatique memo coursera
Retour logistique Python MachineLearning scikit-learn classification Marketing
Machine de vecteur de soutien Apprentissage automatique Python scikit-learn MachineLearning Apprentissage automatique入門
Arbre de décision Python MachineLearning Apprentissage automatique Arbre de décision randomForest
Forêt aléatoire Python Apprentissage automatique MachineLearning scikit-learn Kaggle
réseau neuronal DeepLearning Python Apprentissage automatique AI MachineLearning
Baies naïves Python MachineLearning Apprentissage automatique scikit-learn svm
k-means Python Apprentissage automatique Clustering scikit-learn MachineLearning
Analyse des composants principaux Python Apprentissage automatique Analyse des composants principaux Python3 K-means:6
L'apprentissage en profondeur Python Apprentissage automatique PyTorch TensorFlow Keras

** Tout Python! ** ** Je me demandais si R sortirait, mais Python semble être populaire. Python est facile, n'est-ce pas? Après avoir appris C et Java, utiliser Python était trop facile et tremblait. J'ai également cherché sur Google pourquoi Python est si populaire.

Discussion sur les avantages et les inconvénients de Python

Je me demandais si je pouvais mettre un lien autre que Qiita, donc je ne l'ai pas mis. Si vous recherchez sur Google "Raison de la popularité de Python", vous en trouverez beaucoup.

Résumé ** ・ Code facile à écrire ・ De nombreuses plateformes sont disponibles ・ Bibliothèque abondante ** Semble être la raison.

Est-ce la raison pour laquelle de nombreuses bibliothèques sont choisies en particulier dans l'apprentissage automatique? Cependant, le traitement de l'apprentissage automatique devient inévitablement important dans le processus d'apprentissage. À cet égard, Python est un type d'interprète, donc c'est une puissance de machine gémissante. Est-ce la même chose pour le type compilé?

Après avoir passé une journée à apprendre, je reçois souvent des erreurs de code de merde. Le type d'interprète n'est pas mauvais. Je suis mauvais.

Épilogue

Des problèmes persistent quant à la recherche d'articles sur l'API. ・ Impossible de rechercher des espaces inclus (Exemple: Deep Learning) ・ Impossible de rechercher en japonais API Qiita https://qiita.com/api/v2/items?per_page=100&page=1&query=tag: Il est nécessaire d'étudier un peu plus la méthode de description suivante.

Recommended Posts

J'ai considéré la méthode d'apprentissage automatique et son langage d'implémentation à partir des informations de balise de Qiita
[Deep Learning from scratch] Implémentation de la méthode Momentum et de la méthode AdaGrad
J'ai essayé d'appeler l'API de prédiction du modèle d'apprentissage automatique de WordPress
Procédure d'apprentissage automatique de base: ③ Comparez et examinez la méthode de sélection de la quantité de caractéristiques
[Python] Obtenez des informations sur les utilisateurs et des articles sur l'API de Qiita
J'ai considéré la méthode d'apprentissage automatique et son langage d'implémentation à partir des informations de balise de Qiita
Obtenez le nombre de vues de Qiita
Obtenez des visites d'articles et des likes avec l'API Qiita + Python
Obtenez des informations sur les retards sur Twitter et tweet
[Python] Visualisez les informations acquises par Wireshark
Obtenez les nièmes valeurs les plus importantes dans Pandas
Obtenez l'adresse à partir de la latitude et de la longitude
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
[Python] J'ai expliqué en détail la théorie et l'implémentation de la machine à vecteurs de support (SVM).
À propos des tests dans la mise en œuvre de modèles d'apprentissage automatique
Othello ~ De la troisième ligne de "Implementation Deep Learning" (4) [Fin]
[CodeIQ] J'ai écrit la distribution de probabilité des dés (du cours de mathématiques CodeIQ pour l'apprentissage automatique [Distribution de probabilités])
Une méthode concrète pour prédire les courses de chevaux et simuler le taux de récupération par apprentissage automatique
J'ai essayé de vérifier la classification yin et yang des membres hololive par apprentissage automatique
[Apprentissage automatique] J'ai essayé de résumer la théorie d'Adaboost
[API Qiita] [Statistiques • Apprentissage automatique] J'ai essayé de résumer et d'analyser les articles publiés jusqu'à présent.
Je souhaite extraire les informations d'étiquette (titre et artiste) d'un fichier de musique (flac, wav).
J'ai essayé de créer Othello AI avec tensorflow sans comprendre la théorie de l'apprentissage automatique ~ Implémentation ~
[Python] J'ai expliqué en détail la théorie et la mise en œuvre de la régression logistique
[Python] J'ai expliqué en détail la théorie et la mise en œuvre de l'arbre de décision
J'ai essayé de résumer la méthode de mise en œuvre fréquemment utilisée de pytest-mock
Importance de l'apprentissage automatique et de l'apprentissage par mini-lots
Notez que je comprends l'algorithme du classificateur Naive Bayes. Et je l'ai écrit en Python.
Méthode Ford-Falkerson et ses applications - Supplément au chapitre 8 de la référence rapide de l'algorithme -
Notifiez les nouveaux articles de l'organisation Qiita pour discuter et améliorer l'efficacité d'apprentissage de l'organisation!
Mise en œuvre et expérience de la méthode de clustering convexe
[Apprentissage automatique] OOB (Out-Of-Bag) et son ratio
(Apprentissage automatique) J'ai appris l'analyse des composants principaux, qui est une méthode utile pour réduire un grand nombre de fonctionnalités + j'ai pensé à l'étendre à l'industrie manufacturière (en particulier la maintenance des équipements de machines)
Othello-De la troisième ligne de "Implementation Deep Learning" (3)
Notes d'apprentissage depuis le début de Python 1
Algorithme d'apprentissage automatique (implémentation de la classification multi-classes)
Résumé de la classification et de la mise en œuvre des algorithmes d'apprentissage automatique
Notes d'apprentissage depuis le début de Python 2
Othello-De la troisième ligne de "Implementation Deep Learning" (2)
Méthode d'évaluation du problème de régression d'apprentissage automatique (erreur quadratique moyenne et coefficient de décision)
J'ai comparé la vitesse de l'écho du framework web en langage go et du flask du framework web python
Créez un environnement python pour apprendre la théorie et la mise en œuvre de l'apprentissage profond
J'ai essayé de prédire la présence ou l'absence de neige par apprentissage automatique.
J'ai essayé de traiter et de transformer l'image et d'élargir les données pour l'apprentissage automatique
Mise en place d'un modèle de prédiction des taux de change (taux dollar-yen) par machine learning
J'ai essayé d'accéder à l'API Qiita depuis le début
J'ai lu l'implémentation de range (Objects / rangeobject.c)
[Mémo d'apprentissage] Apprentissage profond à partir de zéro ~ Mise en œuvre de l'abandon ~
Vue d'ensemble des techniques d'apprentissage automatique apprises grâce à scikit-learn
À propos du contenu de développement de l'apprentissage automatique (exemple)
J'ai lu et implémenté les variantes de UKR
Feuille de route d'apprentissage et livres recommandés enseignés par les étudiants OB du Département des Systèmes d'Information ~ N ° 2 ~
Prédire les attributs offensifs et défensifs à partir du nom de la carte Yugioh --Yugiou Data Science 3. Machine Learning
[Apprentissage automatique] "Détection d'anomalies et détection de changement" Dessinons la figure du chapitre 1 en Python.
J'ai comparé la vitesse de la référence du python dans la liste et la référence de l'inclusion du dictionnaire faite à partir de la liste dans.
Introduction à l'apprentissage automatique ~ Montrons le tableau de la méthode du K plus proche voisin ~ (+ gestion des erreurs)
L'histoire du portage du code de C vers Go (et vers la spécification du langage)