Notities Datum Wetenschapper: waar te beginnen en is dat nodig?

Notities Datum Wetenschapper: waar te beginnen en is dat nodig?

TL;DR is een post voor vragen/antwoorden over Data Science en hoe je het vak kunt betreden en je daarin kunt ontwikkelen. In het artikel analyseer ik de basisprincipes en veelgestelde vragen en sta klaar om uw specifieke vragen te beantwoorden - schrijf in de reacties (of in een privébericht), ik zal proberen alles binnen een paar dagen te beantwoorden.

Met de komst van de serie aantekeningen "Satanist Date" kwamen er veel berichten en opmerkingen met vragen over hoe te beginnen en waar te graven, en vandaag zullen we de belangrijkste vaardigheden en vragen analyseren die na de publicaties naar voren zijn gekomen.

Alles wat hier wordt vermeld, beweert niet de ultieme waarheid te zijn en is de subjectieve mening van de auteur. We zullen kijken naar de belangrijkste dingen die het belangrijkst lijken in het proces.

Waarom is dit precies nodig?

Om het doel beter haalbaar te maken, zodat het er op zijn minst enigszins specifiek uitziet - je wilt DS of Research Scientist worden bij Facebook/Apple/Amazon/Netflix/Google - kijk naar de vereisten, talen en noodzakelijke vaardigheden specifiek voor welke functie. Wat is het wervingsproces? Hoe verloopt een typische dag in zo’n rol? Hoe ziet het gemiddelde profiel van iemand die er werkt eruit?

Vaak is het algemene beeld dat iemand niet echt begrijpt wat hij precies wil en dat het niet helemaal duidelijk is hoe hij zich op dit onduidelijke beeld moet voorbereiden - dus het is de moeite waard om op zijn minst een ruw plan te hebben van wat je precies wilt.

Concretiseer het huidige doelbeeld

Zelfs als het gaandeweg verandert, en het over het algemeen normaal is om tijdens het spel van plan te veranderen, is het de moeite waard om een ​​doel te hebben en je daarop te concentreren, door het regelmatig te evalueren en te heroverwegen.

Zal dit zo zijn of is dit nog steeds relevant?

Tegen de tijd dat je in een positie groeit.

Stel je voor dat je vóór je functie moet promoveren, twee tot drie jaar in de industrie moet werken en in het algemeen je haar moet knippen terwijl je in een klooster mediteert. Zal de situatie met Data Science niet dezelfde zijn als die ooit was met economen en advocaten? Zal alles onherkenbaar veranderen op het gebied dat u wilt betreden?

Is de kans niet groot dat iedereen zich er nu heen haast en we een beeld zullen zien waarin er een brede laag mensen is die proberen het beroep te betreden - en er zal simpelweg een schamele uitgangspositie zijn.

Het kan de moeite waard zijn om bij het kiezen van een pad rekening te houden met de huidige trends, niet alleen met de huidige toestand van de arbeidsmarkt, maar ook met uw idee van hoe deze verandert en waar deze zich bevindt.

De auteur was bijvoorbeeld niet van plan datasatanist te worden, maar tijdens zijn doctoraat werkte hij aan projecten van derden die sterke vaardigheden gemeen hadden met DS, en na het afronden van zijn graduate school schakelde hij uiteraard over op het milieu, omdat hij een goede ontwikkeling zag positie.

Als in de loop van het stuk blijkt dat het nodig zal zijn om ergens anders heen te gaan - omdat er nu de meeste beweging is en de meest interessante actie plaatsvindt, dan zullen we daar op natuurlijke wijze naartoe verhuizen.

Uitsplitsing van vaardigheden

Dit zijn voorwaardelijke categorieën van vaardigheden die mij van cruciaal belang lijken voor volledig en effectief werk in DS. Ik zal Engels apart benadrukken - leer wat je ook doet in CS. Hierna volgen de belangrijkste categorieën.

Programmeren/scripten

Met welke talen ga je zeker kennis maken? Python? Java? Shell-scripting? Lua? SQL? C++?

Wat je precies moet kunnen en waarom qua programmeren - het aantal functies varieert hier enorm.

Ik moet bijvoorbeeld vaak complexe logica, query's, modellen en analyses implementeren en in het algemeen geïnterpreteerde systemen ontwikkelen, maar er zijn bijna nooit eisen aan de snelheid van code, behalve de meest algemene en redelijke.

Daarom zijn mijn vaardigheden heel anders dan die van degenen die de Tensorflow-bibliotheek schrijven en nadenken over het optimaliseren van de code voor efficiënt gebruik van de l1-cache en soortgelijke dingen, dus kijk wat je precies nodig hebt en evalueer het juiste pad naar leren.

Voor Python maken mensen het bijvoorbeeld al goed kaart taal leren.

Er is vast al ervaren advies voor uw behoeften en er zijn goede bronnen - u moet een lijst opstellen en eraan gaan werken.

Bedrijfsprocessen begrijpen

Je kunt nergens heen zonder: je moet begrijpen waarom je nodig bent in dit proces, wat je doet en waarom. Dit is vaak wat u veel tijd kan besparen, uw voordeel kan maximaliseren en geen tijd en middelen kan verspillen aan onzin.

Meestal stel ik mezelf de volgende vragen:

  • Wat doe ik precies in het bedrijf?
  • Waarom?
  • Wie gaat het gebruiken en hoe?
  • Welke opties heb ik?
  • Wat zijn de grenzen van de parameters?

Hier is wat meer details over de parameters: je kunt het werkscenario vaak enorm veranderen als je weet dat er iets kan worden opgeofferd: bijvoorbeeld de interpreteerbaarheid of omgekeerd, een paar procent zal hier geen rol spelen en we hebben een zeer snelle oplossing, en de klant heeft deze nodig, omdat hij betaalt voor de tijd dat de pijplijn in AWS draait.

wiskunde

Hier denk en begrijp je alles zelf - zonder kennis van basiswiskunde ben je niets meer dan apen met een granaat (sorry Random Forest) - dus je moet in ieder geval de basiszaken begrijpen. Als ik een zeer minimale lijst zou moeten samenstellen, zou deze het volgende bevatten:

  • Lineaire algebra - een groot aantal bronnen is gemakkelijk te Googlen, zoek naar wat het beste bij u past;
  • Wiskundige analyse - (tenminste in de eerste twee semesters);
  • Waarschijnlijkheidstheorie is overal aanwezig in machinaal leren;
  • Combinatoriek - het is feitelijk complementair aan de theorie;
  • Grafentheorie - tenminste BASIC;
  • Algoritmen - in ieder geval voor de eerste twee semesters (zie de aanbevelingen van Cormen in zijn boek);
  • Wiskundige logica - op zijn minst eenvoudig.

Praktische data-analyse en visualisatie

Een van de belangrijkste dingen is dat je niet bang hoeft te zijn om je handen vuil te maken aan data en een uitgebreide analyse van de dataset uit te voeren, te projecteren en een snelle datavisualisatie te creëren.

Verkennende data-analyse zou gewoon iets natuurlijks moeten worden, net als alle andere datatransformaties en de mogelijkheid om een ​​eenvoudige pijplijn te creëren vanuit Unix-nodes (zie eerdere artikelen) of een leesbaar en begrijpelijk notitieboekje te schrijven.

Ik zou graag de visualisatie willen noemen: het is beter één keer te zien dan honderd keer te horen.

Een grafiek aan een manager laten zien is honderd keer eenvoudiger en duidelijker dan een reeks cijfers, dus matplotlib, seaborn en ggplot2 zijn je vrienden.

Zachte vaardigheden

Het is net zo belangrijk om uw ideeën, maar ook de resultaten en zorgen (enz.) aan anderen te kunnen communiceren. Zorg ervoor dat u de taak zowel technisch als zakelijk duidelijk kunt omschrijven.

Je kunt aan collega’s, managers, leidinggevenden, klanten en iedereen die dat nodig heeft, uitleggen wat er gebeurt, welke data je gebruikt en welke resultaten je boekt.

Uw grafieken en documentatie moeten zonder u worden gelezen. Dat wil zeggen, u hoeft niet naar u toe te gaan om te begrijpen wat daar staat.

U kunt een duidelijke presentatie maken om de boodschap duidelijk te maken en/of het project/uw werk documenteren.

U kunt uw standpunt op een beredeneerde en emotieloze manier overbrengen, “ja/nee” zeggen of een beslissing in twijfel trekken/ondersteunen.

opleiding

Er zijn veel verschillende plaatsen waar je dit allemaal kunt leren. Ik zal een korte lijst geven - ik heb er alles van geprobeerd en, om eerlijk te zijn, elk item heeft zijn voor- en nadelen. Probeer het uit en beslis wat bij u past, maar ik raad u ten zeerste aan om verschillende opties te proberen en niet bij één optie vast te lopen.

  • Online cursussen: coursera, durf, Edx, etc;
  • Nieuwe scholen: online en offline - SkillFactory, ShAD, MADE;
  • Klassieke scholen: universitaire masteropleidingen en vervolgopleidingen;
  • Projecten - u kunt eenvoudig taken selecteren die u interesseren, deze knippen en uploaden naar github;
  • Stages - het is moeilijk om hier iets voor te stellen; je moet zoeken naar wat beschikbaar is en geschikte opties vinden.

Is het noodzakelijk?

Tot slot zal ik waarschijnlijk drie persoonlijke principes toevoegen die ik zelf probeer te volgen.

  • Moet interessant zijn;
  • Innerlijk plezier brengen (= in ieder geval geen lijden veroorzaken);
  • "Om de jouwe te zijn."

Waarom zij? Het is moeilijk voor te stellen dat je elke dag iets doet en er niet van geniet of er geen interesse in hebt. Stel je voor dat je een dokter bent en een hekel hebt aan communiceren met mensen - dit kan natuurlijk op de een of andere manier werken, maar je zult je voortdurend ongemakkelijk voelen bij de stroom patiënten die je iets willen vragen. Dit werkt op de lange termijn niet.

Waarom heb ik specifiek intern genot genoemd? Het lijkt mij dat dit nodig is voor de verdere ontwikkeling en in principe het leerproces. Ik geniet er echt van als het me lukt om een ​​complexe functie uit te voeren en een model te bouwen of een belangrijke parameter te berekenen. Ik geniet ervan als mijn code esthetisch mooi en goed geschreven is. Daarom is het leren van iets nieuws interessant en vereist het niet direct een significante motivatie.

‘Van jou zijn’ is hetzelfde gevoel dat dit ongeveer is wat je wilde doen. Ik heb een klein verhaal. Sinds mijn kindertijd ben ik geïnteresseerd in rockmuziek (en metal - SALMON!) en net als zoveel anderen wilde ik leren spelen en dat is alles. Het bleek dat ik geen gehoor en geen stem had - dit stoorde me helemaal niet (en ik moet zeggen dat dit veel artiesten op het podium niet stoort), en toen ik nog op school zat, kreeg ik een gitaar... en het werd duidelijk dat ik het niet zo leuk vind om urenlang te zitten en te spelen. Het ging hard, het leek mij altijd dat er een soort onzin uitkwam - ik had er helemaal geen plezier aan en voelde me gewoon waardeloos, dom en volkomen onbekwaam. Ik dwong mezelf letterlijk om te gaan zitten voor de lessen en over het algemeen was het geen goede voeding voor het paard.

Tegelijkertijd kon ik heel rustig urenlang speelgoed blijven ontwikkelen, een script gebruiken om iets op flash (of iets anders) te animeren, en ik was enorm gemotiveerd om elementen in het spel af te maken of om te gaan met de mechanica van beweging en/of het verbinden van bibliotheken, plug-ins en al het andere van derden.

En op een gegeven moment besefte ik dat gitaarspelen niet mijn ding is en dat ik het luisteren heel leuk vind, niet het spelen. En mijn ogen glinsterden als ik games en code schreef (op dat moment naar allerlei soorten metal luisterde) en dat vond ik toen leuk, en dat was wat ik had moeten doen.

Heb je nog andere vragen?

We konden natuurlijk niet alle onderwerpen en vragen doornemen, dus schrijf opmerkingen en stuur me een PM - ik ben altijd blij als ik vragen heb.

Notities Datum Wetenschapper: waar te beginnen en is dat nodig?

Notities Datum Wetenschapper: waar te beginnen en is dat nodig?

Bron: www.habr.com

Voeg een reactie