Maison  >  Article  >  Quelles compétences les ingénieurs en algorithmes doivent-ils maîtriser ?

Quelles compétences les ingénieurs en algorithmes doivent-ils maîtriser ?

青灯夜游
青灯夜游original
2020-08-20 14:02:3012673parcourir

Compétences que les ingénieurs en algorithmes doivent maîtriser : capacité d'algorithme, capacité de programmation (langages de programmation tels que Python, C++, Java, SQL, base de données), capacité d'ajustement de packages, capacité de construction de pipeline, capacité d'analyse de données, auxiliaire capacité technologique, etc.

Quelles compétences les ingénieurs en algorithmes doivent-ils maîtriser ?

Pour un excellent ingénieur en algorithmes, il (elle) doit avoir non seulement d'excellentes compétences techniques, mais aussi une profonde compréhension commerciale et des compétences en communication externe, en bref. , les exigences peuvent être très élevées !

Cependant, en termes de répartition des responsabilités et des capacités, un ingénieur en algorithmes est avant tout un ingénieur, c'est pourquoi cet article aborde principalement les exigences en matière de capacités d'ingénierie.

Avant de commencer, permettez-moi de mettre une carte mentale, qui sera le contenu principal qui sera partagé dans cet article :

Quelles compétences les ingénieurs en algorithmes doivent-ils maîtriser ?

Aperçu des capacités d'ingénierie

Ingénieur en algorithmes, comme son nom l'indique, un ingénieur en algorithmes doit d'abord avoir des capacités algorithmiques et des capacités d'ingénierie. Nous pouvons les considérer comme des capacités techniques de base. En raison de la popularité de la technologie open source, Sklearn, Tensorflow et Spark ML sont fondamentalement devenus les bibliothèques d'outils standard de la plupart des ingénieurs en algorithmes. Par conséquent, la capacité d'externalisation compétente détermine également si un ingénieur en algorithmes peut répondre rapidement aux exigences.

Deuxièmement, dans un environnement de production réel, la mise en œuvre d'algorithmes rencontrera divers scénarios commerciaux et environnements de données, ce qui nécessite également que les ingénieurs en algorithmes disposent de capacités de construction de pipelines pour intégrer les données dans l'ensemble de l'environnement de production. sont connectés. Dans le même temps, dans l'environnement de production, il y aura divers « problèmes difficiles » qui attendront que vous les expliquiez, comme par exemple pourquoi les résultats expérimentaux sont particulièrement médiocres ? Pourquoi l'effet de modèle est-il instable ? Cela nécessite que les ingénieurs en algorithmes disposent de certaines capacités d’analyse de données.

Souvent, vous constaterez que l'énergie que vous consacrez à l'analyse des données et à la construction de pipelines peut occuper plus de 80 % du contenu de votre travail.

Lorsque vous possédez les capacités ci-dessus, vous pouvez déjà vous qualifier d'ingénieur en algorithmes. À ce stade, vous pouvez accéder à l'analyse des données et dire : "Écoutez, je peux créer le pipeline de l'ensemble du modèle, mais vous ne pouvez obtenir que les données fournies par d'autres, puis ajuster le package." Développeur Deser : "Écoutez, je comprends beaucoup d'algorithmes, donc vous ne pouvez écrire que du code."

Après Deser, nous revenons au sujet. Est-il suffisant qu'un ingénieur en algorithmes n'ait que cette capacité ? La réponse n’est bien sûr pas suffisante. Étant donné que différentes entreprises ont des niveaux de maturité d'équipe, des outils et des processus différents, cela aura des exigences différentes pour les ingénieurs en algorithmes, telles que les capacités de publication de modèles et les capacités de développement de rapports. Bien sûr, il y aura également d'autres capacités, même si ce n'est pas le cas. particulièrement important, mais lorsque personne n'effectue ces tâches à votre place, les ingénieurs en algorithmes peuvent quand même devoir assumer ces tâches, telles que les capacités de test en niveaux de gris, les capacités d'équilibrage de charge, etc.

Après avoir organisé le contenu ci-dessus, ce sera une telle carte mentale.

Explication détaillée des capacités d'ingénierie

Capacités de base

1. 🎜>

Je n'entrerai pas dans les détails sur les capacités algorithmiques. Les compétences de base requises pour les ingénieurs en algorithmes sont qu'il est déraisonnable pour un ingénieur en algorithmes de ne pas comprendre les algorithmes. Ici, le profane a également inclus le contenu des statistiques.

2. Capacité de programmation

La capacité de programmation est principalement divisée en deux parties :

  • Les langages de programmation tels que Python, C++ et Java, ceux-ci trois sont également Les ingénieurs en algorithmes doivent connaître les langages de programmation traditionnels. Généralement, la maîtrise de l'un d'entre eux suffit, selon l'entreprise.

  • Sql est une capacité très générale. SQL est aussi un langage de programmation, mais c'est le langage le plus couramment utilisé pour le traitement des données ! Très utile. Dans le scénario Big Data, vous devez comprendre Hive Sql.

3. Possibilité d'ajuster les colis

Bien que tout le monde se moque de l'ajusteur de colis, pour être honnête, peu de gens peuvent ajuster les colis de manière très fluide. Par exemple, laissez-vous maintenant utiliser Tensorflow pour créer un réseau complexe. Si vous ne pouvez pas le rechercher sur Google, pouvez-vous l'écrire ? Pouvez-vous vous rappeler clairement comment l’utiliser ?

  • Sklearn

  • Tensorflow

  • Spark ML

2. Capacités de base

1. Capacité de construction de pipeline

Capacité de construction de pipeline Ce que je veux exprimer ici concerne davantage la capacité de construction de l'ensemble du flux de données. . Les données commencent à partir de Log->Features->Model Training->Feedback, si cette chaîne peut être complétée, il y aura de nombreux problèmes à surmonter. Par exemple :

  • Des problèmes de cohérence des modèles en temps réel et hors ligne ?

  • Problème de cohérence des fonctionnalités hors ligne et en temps réel ?

  • Des problèmes avec la construction de fonctionnalités en temps réel ?

  • Problème de retard de données ?

Dans de nombreux cas, des travaux tels que la publication d'un modèle peuvent être réalisés avec le soutien d'autres étudiants, mais des problèmes tels que le flux de données nécessitent davantage d'ingénieurs en algorithmes pour être résolus.

2. Capacité d'analyse des données

Les capacités d'analyse des données ici ne font pas référence à l'analyse commerciale ou à l'analyse commerciale, mais plutôt aux capacités d'analyse des fonctionnalités, d'analyse des effets d'algorithme et de diverses analyses de localisation de problèmes anormaux.

Dans de nombreux cas, le niveau de compétence de deux ingénieurs en algorithmes peut également être constaté à partir de la capacité d'analyse des données.

3. Capacités techniques d'assistance

Les capacités techniques assistées signifient que l'impact que vous aurez ne sera pas particulièrement important, mais ce sont aussi des capacités utiles, en particulier la situation de développement de Différentes entreprises sont différentes. Il est très probable qu'un ingénieur en algorithmes devra s'occuper à la fois de l'accès aux données et du nettoyage des données, ainsi que de la plate-forme algorithmique et du front-end, et sera également responsable du lancement du modèle ainsi que de l'exploitation et de la maintenance du système.

Je n’entrerai pas dans les détails ici.

Pour plus de connaissances connexes, veuillez visiter : Site Web PHP chinois !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn