Data-wetenskap is vir almal wat daarvan hou om verstrengelde dinge te ontrafel en verborge wonders in 'n oënskynlike gemors te ontdek.
Dit is soos om naalde in hooiakke te soek; net dat data-wetenskaplikes glad nie hul hande vuil hoef te maak nie. Met behulp van spoggerige gereedskap met kleurvolle kaarte, en om na hope met getalle te kyk, duik hulle net in data-hooihokke en vind u waardevolle naalde in die vorm van insigte met 'n hoë besigheidswaarde.
'N Tipiese data wetenskaplike gereedskapkis moet ten minste een item van elk van hierdie kategorieë bevat: verhoudingsdatabasisse, NoSQL-databasisse, big data-raamwerke, visualiseringsinstrumente, skrapgereedskap, programmeertale, IDE's en diepleerinstrumente.
0.1 Relasionele databasisse
5.1 Big Data-raamwerke
8 Krag BI
12 Inhoud Grabber
18.1 U persoonlike gereedskapskis
'N Relasionele databasis is 'n versameling data wat in tabelle met eienskappe gestruktureer is. Die tabelle kan aan mekaar gekoppel word, om verhoudings en beperkings te definieer en 'n datamodel te noem. Om met relasionele databasisse te werk, gebruik u gewoonlik 'n taal genaamd SQL (Structured Query Language).
Die toepassings wat die struktuur en data in verhoudingsdatabasisse bestuur, word RDBMS (Relational DataBase Management Systems) genoem. Daar is baie sulke toepassings, en die mees toepaslike het onlangs hul fokus op die veld van datawetenskap begin plaas, funksionaliteit bygevoeg om met groot data-bewaarplekke te werk en om tegnieke soos data-analise en masjienleer toe te pas..
hierdie een is die RDBMS van Microsoft, wat al meer as 20 jaar ontwikkel het deur sy ondernemingsfunksionaliteit konstant uit te brei. SQL Server bied sedert die 2016-weergawe 'n portefeulje dienste aan wat ondersteuning bied vir die ingeboude R-kode. SQL Server 2017 verhoog die weddenskap deur hul R Services te hernoem na Machine Language Services en voeg ondersteuning vir die Python-taal toe (meer oor hierdie twee tale hieronder).
Met hierdie belangrike toevoegings is SQL Server gemik op datawetenskaplikes wat moontlik nie ervaring het met Transact SQL, die inheemse navraagstaal van Microsoft SQL Server.
SQL Server is verreweg 'n gratis produk. U kan lisensies koop om dit op 'n Windows Server te installeer (die prys wissel na gelang van die aantal gebruikers wat gelyktydig is) of deur middel van die Microsoft Azure-wolk as 'n fooi-gebaseerde diens te gebruik. Dit is maklik om Microsoft SQL Server te leer.
Aan die oopbron-sagtewarekant, MySQL het die gewildheidskroon van RDBMS's. Alhoewel Oracle dit tans besit, is dit steeds gratis en verkrygbaar onder die voorwaardes van 'n Algemene Openbare Lisensie van die GNU. Die meeste webgebaseerde toepassings gebruik MySQL as die onderliggende databank, danksy die voldoening aan die SQL-standaard.
Die maklike installeringsprosedures, die groot gemeenskap ontwikkelaars, tonne uitgebreide dokumentasie en derdeparty-instrumente, soos phpMyAdmin, help dit ook om die gewildheid te vereenvoudig. Alhoewel MySQL geen inheemse funksies het om data-ontleding te doen nie, kan die openheid daarvan geïntegreer word in byna enige visualiserings-, verslagdoenings- en sake-intelligensie-instrument wat u mag kies.
'N Ander open-source RDBMS-opsie is PostgreSQL. Alhoewel PostgreSQL nie so gewild soos MySQL is nie, is dit opvallend vir sy buigsaamheid en uitbreidbaarheid, en sy ondersteuning vir ingewikkelde navrae, maar dit strek bo die basiese stellings soos SELECT, WHERE en GROUP BY.
Hierdie kenmerke laat dit gewild raak onder datawetenskaplikes. 'N Verdere interessante kenmerk is die ondersteuning van multi-omgewings, waardeur dit in wolk- en lokaalomgewings gebruik kan word, of in 'n mengsel van albei, algemeen bekend as hibriede wolkomgewings..
PostgreSQL is in staat om aanlyn-analitiese verwerking (OLAP) met aanlyn-transaksieverwerking (OLTP) te kombineer, en werk in 'n modus genaamd hibriede transaksie / analitiese verwerking (HTAP). Dit is ook geskik om met groot data te werk, danksy die byvoeging van PostGIS vir geografiese data en JSON-B vir dokumente. PostgreSQL ondersteun ook ongestruktureerde data, wat dit toelaat om in beide kategorieë te wees: SQL- en NoSQL-databasisse.
Hierdie tipe databerging, ook bekend as nie-relasionele databasisse, bied vinniger toegang tot nie-tabelvormige datastrukture. Enkele voorbeelde van hierdie strukture is grafieke, dokumente, breë kolomme, sleutelwaardes, en baie ander. NoSQL-datawinkels kan datakonsistensie opsy sit ten gunste van ander voordele, soos beskikbaarheid, verdeling en toegangsnelheid.
Aangesien daar geen SQL in NoSQL-gegewenswinkels is nie, is die enigste manier om hierdie soort databasis te bevraagteken deur lae-vlak tale te gebruik, en is daar nie so 'n taal wat so algemeen aanvaar word as SQL nie. Daarbenewens is daar geen standaardspesifikasies vir NoSQL nie. Daarom begin ironies dat sommige NoSQL-databasisse ondersteuning bied vir SQL-skrifte.
MongoDB is 'n gewilde NoSQL-databasisstelsel wat data in die vorm van JSON-dokumente stoor. Die fokus is op die skaalbaarheid en die buigsaamheid om data op 'n nie-gestruktureerde manier te stoor. Dit beteken dat daar geen vaste veldlys is wat in al die gestoorde elemente nagekom moet word nie. Verder kan die datastruktuur mettertyd verander word, iets wat in 'n verhoudingsdatabasis 'n groot risiko inhou dat die gebruik van toepassings beïnvloed word.
Die tegnologie in MongoDB maak dit moontlik vir indeksering, ad-hoc-navrae en samevoeging wat 'n sterk basis vorm vir data-analise. Die verspreide aard van die databasis bied hoë beskikbaarheid, skalering en geografiese verspreiding sonder die behoefte aan gesofistikeerde instrumente.
hierdie een is 'n ander opsie in die open source, NoSQL-front. Dit is basies 'n datastruktuurwinkel wat in die geheue werk en benewens die verskaffing van databasisdienste, werk dit ook as kasgeheue en boodskapmakelaar.
Dit ondersteun 'n magdom onkonvensionele datastrukture, waaronder hashes, geospatiale indekse, lyste en gesorteerde stelle. Dit is goed geskik vir data-wetenskap danksy sy hoë werkverrigting in data-intensiewe take, soos rekenaarstelkruisings, lang lyste sorteer of komplekse ranglys genereer. Die rede vir die uitstekende prestasie van Redis is die werking van die geheue. Dit kan opgestel word om die data selektief te volhard.
Gestel u moet die data wat Facebook-gebruikers gedurende 'n maand genereer, ontleed. Ons praat oor foto's, video's, boodskappe, alles. As daar in ag geneem word dat meer as 500 terabyte data elke dag deur die gebruikers by die sosiale netwerk gevoeg word, is dit moeilik om die volume wat deur 'n hele maand van sy data voorgestel word, te meet.
Om die enorme hoeveelheid data op 'n effektiewe manier te manipuleer, benodig u 'n toepaslike raamwerk wat statistiek oor 'n verspreide argitektuur kan bereken. Daar is twee van die raamwerke wat die mark lei: Hadoop en Spark.
As 'n big data-raamwerk, Hadoop handel oor die kompleksiteite wat verband hou met die herwinning, verwerking en berging van groot stapels data. Hadoop werk in 'n verspreide omgewing, bestaande uit rekenaarklusters wat eenvoudige algoritmes verwerk. Daar is 'n orkestrerende algoritme, genaamd MapReduce, wat groot take in klein dele verdeel en dan die klein take tussen beskikbare groepe versprei..
Hadoop word aanbeveel vir ondernemingsklas-databasisse wat vinnige toegang en hoë beskikbaarheid benodig, alles in 'n laekosteskema. Maar u het 'n Linux-admin met diep nodig Hadoop kennis om die raamwerk in stand te hou en te bestuur.
Hadoop is nie die enigste raamwerk wat beskikbaar is vir manipulering van groot data nie. 'N Ander groot naam op hierdie gebied is Spark. Die Spark-enjin is ontwerp om Hadoop te bowe te kom in terme van analitiesnelheid en gebruiksgemak. Klaarblyklik het dit hierdie doel bereik: sommige vergelykings sê dat Spark tot tien keer vinniger werk as Hadoop as hy op 'n skyf werk, en 100 keer vinniger in die geheue werk. Dit vereis ook dat 'n kleiner aantal masjiene dieselfde hoeveelheid data verwerk.
Behalwe vir spoed, is dit 'n ander voordeel van Spark wat dit ondersteun vir stroomverwerking. Hierdie tipe dataverwerking, ook genoem intydse verwerking, behels deurlopende invoer en uitvoer van data.
'N Algemene grap tussen datawetenskaplikes sê dat, as u die data lank genoeg martel, dit sal bely wat u moet weet. In hierdie geval beteken "marteling" om die data te manipuleer deur dit te transformeer en te filter, om dit beter te visualiseer. En dit is waar data-visualiseringsinstrumente op die toneel kom. Hierdie instrumente haal voorafverwerkte data uit verskeie bronne en toon die onthulde waarhede daarvan in grafiese, verstaanbare vorms.
Daar is honderde instrumente wat in hierdie kategorie val. Net soos dit is of nie, Microsoft Excel en die karteringinstrumente word die meeste gebruik. Excel-kaarte is toeganklik vir almal wat Excel gebruik, maar dit het beperkte funksionaliteit. Dieselfde geld vir ander sigbladtoepassings, soos Google Sheets en Libre Office. Maar ons praat hier oor meer spesifieke instrumente, spesiaal aangepas vir sake-intelligensie (BI) en data-analise.
Nie lank gelede het Microsoft die Krag BI visualiseringstoepassing. Dit kan data uit verskillende bronne, soos tekslêers, databasisse, sigblaaie en baie aanlyn-datadienste, insluitend Facebook en Twitter, neem en dit gebruik om dashboards te genereer wat propvol kaarte, tabelle, kaarte en vele ander visualiseringsobjekte is. Die dashboard-voorwerpe is interaktief, wat beteken dat u op 'n dataserie in die kaart kan klik om dit te selekteer en as 'n filter vir die ander voorwerpe op die bord te gebruik..
Power BI is 'n kombinasie van 'n Windows-desktop-toepassing (deel van die Office 365-suite), 'n webtoepassing en 'n aanlyndiens om die dashboards op die web te publiseer en dit met u gebruikers te deel. Met die diens kan u toestemmings skep en bestuur om toegang tot die borde slegs aan sekere mense te verleen.
tablo is 'n ander opsie om interaktiewe dashboards te skep uit 'n kombinasie van verskeie databronne. Dit bied ook 'n lessenaarweergawe, 'n webweergawe en 'n aanlyndiens om die dashboards wat u skep te deel. Dit werk natuurlik "volgens die manier waarop u dink" (soos dit beweer), en dit is maklik om te gebruik vir nie-tegniese mense, wat verbeter word deur baie tutoriale en aanlynvideo's.
Van die mees uitstaande kenmerke van Tableau is die onbeperkte datakonnekte, die lewendige en in-geheue-data en die mobiele-geoptimaliseerde ontwerpe.
QlikView bied 'n skoon en eenvoudige gebruikerskoppelvlak om ontleders te help om nuwe insigte uit bestaande data te ontdek deur visuele elemente wat maklik vir almal verstaanbaar is.
Hierdie instrument is bekend as een van die mees buigsame platform vir sake-intelligensie. Dit bied 'n funksie genaamd Associative Search, wat u help om op die belangrikste data te konsentreer, wat u die tyd sal spaar om dit op u eie te vind.
Met QlikView kan u intyds met vennote saamwerk en vergelykende ontleding doen. Al die toepaslike data kan in een app gekombineer word, met sekuriteitsfunksies wat toegang tot die data beperk.
In die tyd toe die internet net aan die kom was, het die webkruipers al begin reis en die netwerke op hul manier versamel. Namate tegnologie ontwikkel het, het die term webkruip verander om webskraap te doen, maar dit beteken steeds dieselfde: om outomaties inligting van webwerwe te onttrek. Om webskraapwerk te doen, gebruik u outomatiese prosesse, of bots, wat van die een bladsy na die ander spring, data daaruit onttrek en dit na verskillende formate uitvoer of in databasisse plaas vir verdere ontleding.
Hieronder gee ons 'n opsomming van die kenmerke van drie van die gewildste webskrapers wat tans beskikbaar is.
Octoparse webskraper bied 'n paar interessante eienskappe, insluitend ingeboude instrumente om inligting te bekom van webwerwe wat dit nie maklik maak om bots te skraap om hul werk te doen nie. Dit is 'n desktop-toepassing wat geen kodering benodig nie, met 'n gebruikersvriendelike UI wat die onttrekkingsproses visualiseer deur 'n grafiese werkvloei-ontwerper.
Saam met die selfstandige toepassing, bied Octoparse 'n wolk-gebaseerde diens om die proses van data-onttrekking te bespoedig. Gebruikers kan 'n snelheidsverhoging van 4x tot 10x ervaar as hulle die wolkdiens gebruik in plaas van die desktop-toepassing. As u by die lessenaarweergawe hou, kan u Octoparse gratis gebruik. Maar as u verkies om die wolkdiens te gebruik, moet u een van sy betaalde planne kies.
As u op soek is na 'n kenmerkryke skraapinstrument, moet u dit fyn dophou Inhoud Grabber. Anders as Octoparse, is dit nodig om gevorderde programmeringsvaardighede te hê om Content Grabber te gebruik. In ruil daarvoor kry u teksversorging, koppelvlakke en ander gevorderde funksies. Met Content Grabber kan u .Net-tale gebruik om gereelde uitdrukkings te skryf. Op hierdie manier hoef u nie die uitdrukkings met 'n ingeboude instrument te genereer nie.
Die instrument bied 'n API (Application Programming Interface) wat u kan gebruik om skrapmoontlikhede by u lessenaar en webtoepassings te voeg. Om hierdie API te gebruik, moet ontwikkelaars toegang tot die Content Grabber Windows-diens verkry.
Soos Content Grabber, word dit aanbeveel dat u programmeringskennis het om die beste uit ParseHub te put. Dit het 'n gratis weergawe, beperk tot 5 projekte, en 200 bladsye per lopie.
Net soos die vorige SQL-taal spesifiek ontwerp is om met verhoudingsdatabasisse te werk, is daar ander tale wat met 'n duidelike fokus op datawetenskap gefokus is. Hierdie tale stel die ontwikkelaars in staat om programme te skryf wat handel oor massiewe data-ontleding, soos statistiek en masjienleer.
SQL word ook beskou as 'n belangrike vaardigheid wat ontwikkelaars moet hê om data-wetenskap te kan doen, maar dit is omdat die meeste organisasies nog baie data oor verhoudingsdatabasisse het. "Ware" gegewenswetenskapstale is R en Python.
Python is 'n hoëvlak, geïnterpreteerde, algemene doel programmeringstaal, wat goed geskik is vir vinnige toepassingsontwikkeling. Dit bevat 'n eenvoudige en maklike sintaksis om te leer wat voorsiening maak vir 'n skerp leerkurwe en die verlaging in die koste van programinstandhouding. Daar is baie redes waarom dit die voorkeurstaal vir datawetenskap is. Om 'n paar te noem: skrifpotensiaal, verbositeit, oordraagbaarheid en uitvoering.
Hierdie taal is 'n goeie beginpunt vir datawetenskaplikes wat van plan is om baie te eksperimenteer voordat hulle met die werklike en harde gegronde werk spring en wat volledige toepassings wil ontwikkel..
Die R taal word hoofsaaklik gebruik vir statistiese verwerking en grafiese gegewens. Alhoewel dit nie bedoel is om volwaardige toepassings te ontwikkel nie, soos die geval sou wees met Python, het R die afgelope paar jaar baie gewild geraak vanweë die potensiaal vir data-ontginning en data-analise..
Danksy 'n steeds groeiende biblioteek met vrylik beskikbare pakkette wat die funksionaliteit daarvan uitbrei, is R in staat om allerhande data-knarswerk te doen, insluitend lineêre / nie-lineêre modellering, klassifikasie, statistiese toetse, ens..
Dit is nie 'n maklike taal om te leer nie, maar sodra u vertroud is met die filosofie daarvan, gaan u statistiese rekenaars doen soos 'n pro.
As u dit ernstig oorweeg om u aan data-wetenskap toe te wy, sal u 'n geïntegreerde ontwikkelingsomgewing (IDE) moet kies wat u behoeftes pas, omdat u en u IDE baie tyd sal spandeer om saam te werk.
'N Ideale IDE moet al die gereedskap wat u nodig het in u daaglikse werk as 'n kodeerder saamstel: 'n teksredakteur met sintaksaksie-uitlig en outo-voltooiing, 'n kragtige ontfouter, 'n objekleser en maklike toegang tot eksterne instrumente. Boonop moet dit versoenbaar wees met die taal van u voorkeur, daarom is dit 'n goeie idee om u IDE te kies nadat u weet watter taal u gaan gebruik..
hierdie generiese IDE is meestal bedoel vir wetenskaplikes en ontleders wat ook moet kodeer. Om hulle gemaklik te maak, is dit nie beperk tot die IDE-funksionaliteit nie; dit bied ook instrumente vir die verkenning / visualisering van data en interaktiewe uitvoering, soos op 'n wetenskaplike pakket gevind kan word. Die redakteur in Spyder ondersteun verskeie tale en voeg 'n leser, venstersplitsing, spring-na-definisie, outomatiese kode-voltooiing en selfs 'n kode-analise-instrument by.
Die ontfouter help u om elke reël van die kode interaktief op te spoor, en 'n profiler help u om ondoeltreffendhede op te spoor en uit te skakel.
As u in Python programmeer, is die kans goed dat u IDE van keuse sal wees PyCharm. Dit het 'n slimkode-redakteur met slim soek, voltooiing van die kode, en foutopsporing en regstelling. Met net een klik kan u van die kodeditor na enige konteksverwante venster spring, insluitend toets, supermetode, implementering, verklaring, en meer. PyCharm ondersteun Anaconda en baie wetenskaplike pakkette, soos NumPy en Matplotlib, om net twee daarvan te noem.
Dit bied integrasie met die belangrikste weergawe-beheerstelsels, en ook met 'n toetsloper, 'n profiler en 'n ontfouter. Om die ooreenkoms te sluit, word dit ook met Docker en Vagrant geïntegreer om voorsiening te maak vir die ontwikkeling en houer van verskillende platforms.
Vir die datawetenskaplikes wat die R-span verkies, moet die IDE van keuse wees RStudio, as gevolg van sy baie funksies. U kan dit op 'n tafelblad installeer met Windows, macOS of Linux, of u kan dit vanaf 'n webblaaier laat loop as u dit nie lokaal wil installeer nie. Albei weergawes bied lekkernye soos sintaksisverligting, slim inkeping en kode-voltooiing. Daar is 'n geïntegreerde datakyker wat handig te pas kom as u in tabelvorm moet blaai.
Met die ontfoutingsmodus kan u kyk hoe die data dinamies opgedateer word wanneer u 'n program of skrip stap-vir-stap uitvoer. Vir weergawebeheer, integreer RStudio ondersteuning vir SVN en Git. 'N Aangename pluspunt is die moontlikheid om interaktiewe grafieke met Shiny te skryf en biblioteke te gee.
U persoonlike gereedskapskis
Op hierdie punt moet u 'n volledige oorsig hê van die gereedskap wat u moet ken om in die datawetenskap te presteer. Ons hoop ook dat ons u genoeg inligting gegee het om te besluit wat die geskikste opsie is in elke kategorie gereedskap. Nou is dit aan jou. Data-wetenskap is 'n florerende veld 'n loopbaan te ontwikkel. Maar as u dit wil doen, moet u tred hou met die veranderinge in neigings en tegnologieë, aangesien dit byna daagliks plaasvind.