18 основни софтуера, за които всеки специалист по данни трябва да знае

Науката за данни е за всеки, който обича да разплита заплетени неща и да открива скрити чудеса в една привидна бъркотия.

Това е като да търсиш игли в купи сено; само че учените по данни изобщо не трябва да си цапат ръцете. Използвайки фантастични инструменти с цветни диаграми и разглеждайки купища числа, те просто се гмуркат в купи сено с данни и намират ценни игли под формата на прозрения с висока бизнес стойност.

Типичен учен по данни кутията с инструменти трябва да включва поне един елемент от всяка от тези категории: релационни бази данни, NoSQL бази данни, рамки за големи данни, инструменти за визуализация, инструменти за скрапиране, езици за програмиране, IDE и инструменти за дълбоко обучение.

Релационни бази данни

Релационна база данни е колекция от данни, структурирани в таблици с атрибути. Таблиците могат да бъдат свързани една с друга, дефинирайки релации и ограничения и създавайки това, което се нарича модел на данни. За да работите с релационни бази данни, обикновено използвате език, наречен SQL (Structured Query Language).

Приложенията, които управляват структурата и данните в релационните бази данни се наричат ​​RDBMS (Relational DataBase Management Systems). Има много такива приложения, а най-подходящите напоследък започнаха да се фокусират върху областта на науката за данни, добавяйки функционалност за работа с големи хранилища за данни и прилагайки техники като анализ на данни и машинно обучение.

SQL сървър

RDBMS на Microsoft, се развива в продължение на повече от 20 години чрез последователно разширяване на корпоративната си функционалност. От версията си за 2016 г. SQL Server предлага портфолио от услуги, които включват поддръжка за вграден R код. SQL Server 2017 увеличава залога, като преименува своите R услуги на Machine Language Services и добавя поддръжка за езика Python (повече за тези два езика по-долу).

С тези важни допълнения SQL Server е насочен към специалисти по данни, които може да нямат опит с Transact SQL, родния език за заявки на Microsoft SQL Server.

SQL Server далеч не е безплатен продукт. Можете да закупите лицензи, за да го инсталирате на Windows Server (цената ще варира в зависимост от броя на едновременните потребители) или да го използвате като услуга, базирана на такса, чрез облака Microsoft Azure. Изучаването на Microsoft SQL Server е лесно.

MySQL

От страна на софтуера с отворен код, MySQL има короната на популярността на RDBMS. Въпреки че Oracle в момента го притежава, той все още е безплатен и с отворен код съгласно условията на GNU General Public License. Повечето уеб-базирани приложения използват MySQL като основно хранилище на данни, благодарение на съответствието му със стандарта SQL.

Също така за неговата популярност спомагат неговите лесни процедури за инсталиране, голямата общност от разработчици, тонове изчерпателна документация и инструменти на трети страни, като phpMyAdmin, които опростяват ежедневните дейности по управление. Въпреки че MySQL няма собствени функции за извършване на анализ на данни, неговата отвореност позволява интегрирането му с почти всеки инструмент за визуализация, отчитане и бизнес разузнаване, който можете да изберете.

PostgreSQL

Друга опция за RDBMS с отворен код е позtgreSQL. Въпреки че не е толкова популярен като MySQL, PostgreSQL се откроява със своята гъвкавост и разширяемост и поддръжката си за сложни заявки, тези, които надхвърлят основните оператори като SELECT, WHERE и GROUP BY.

Тези функции му позволяват да спечели популярност сред учените по данни. Друга интересна функция е поддръжката на множество среди, което позволява да се използва в облачни и локални среди, или в комбинация от двете, обикновено известни като хибридни облачни среди.

PostgreSQL е в състояние да комбинира онлайн аналитична обработка (OLAP) с онлайн обработка на транзакции (OLTP), като работи в режим, наречен хибридна транзакционна/аналитична обработка (HTAP). Освен това е много подходящ за работа с големи данни, благодарение на добавянето на PostGIS за географски данни и JSON-B за документи. PostgreSQL също поддържа неструктурирани данни, което му позволява да бъде и в двете категории: SQL и NoSQL бази данни.

NoSQL бази данни

Известен също като нерелационни бази данни, този тип хранилище на данни осигурява по-бърз достъп до нетаблични структури от данни. Някои примери за тези структури са графики, документи, широки колони, ключови стойности и много други. NoSQL хранилищата за данни могат да оставят настрана последователността на данните в полза на други предимства, като наличност, разделяне и скорост на достъп.

Тъй като няма SQL в хранилищата за данни на NoSQL, единственият начин за запитване до този вид база данни е чрез използване на езици от ниско ниво и няма такъв език, който да е толкова широко приет като SQL. Освен това няма стандартни спецификации за NoSQL. Ето защо, по ирония на съдбата, някои NoSQL бази данни започват да добавят поддръжка за SQL скриптове.

  Използвайте команда Ok Google, за да прочетете всичките си известия на глас

MongoDB

MongoDB е популярна система за база данни NoSQL, която съхранява данни под формата на JSON документи. Неговият фокус е върху скалируемостта и гъвкавостта за съхраняване на данни по неструктуриран начин. Това означава, че няма фиксиран списък с полета, който трябва да се спазва във всички съхранени елементи. Освен това структурата на данните може да се променя с течение на времето, нещо, което в релационна база данни предполага висок риск от засягане на работещи приложения.

Технологията в MongoDB позволява индексиране, ad-hoc заявки и агрегиране, които осигуряват здрава основа за анализ на данни. Разпределеният характер на базата данни осигурява висока достъпност, мащабиране и географско разпределение без необходимост от сложни инструменти.

Redis

Това едната е друга опция в областта с отворен код, NoSQL. По същество това е хранилище на структура от данни, което работи в паметта и освен че предоставя услуги за база данни, работи и като кеш памет и брокер на съобщения.

Той поддържа безброй нетрадиционни структури от данни, включително хешове, геопространствени индекси, списъци и сортирани набори. Той е много подходящ за наука за данни, благодарение на високата си производителност при задачи с интензивно използване на данни, като пресичане на пресичане на набори, сортиране на дълги списъци или генериране на сложни класации. Причината за изключителната производителност на Redis е неговата работа в паметта. Може да се конфигурира да запазва данните селективно.

Рамки за големи данни

Да предположим, че трябва да анализирате данните, генерирани от потребителите на Facebook за един месец. Говорим за снимки, видеоклипове, съобщения, всичко това. Като се има предвид, че повече от 500 терабайта данни се добавят всеки ден към социалната мрежа от нейните потребители, е трудно да се измери обемът, представен от цял ​​месец от нейните данни.

За да манипулирате това огромно количество данни по ефективен начин, имате нужда от подходяща рамка, способна да изчислява статистически данни върху разпределена архитектура. Има две от рамките, които водят на пазара: Hadoop и Spark.

Hadoop

Като рамка за големи данни, Hadoop се занимава със сложността, свързана с извличането, обработката и съхраняването на огромни купчини данни. Hadoop работи в разпределена среда, съставена от компютърни клъстери, които обработват прости алгоритми. Има алгоритъм за оркестриране, наречен MapReduce, който разделя големите задачи на малки части и след това разпределя тези малки задачи между наличните клъстери.

Hadoop се препоръчва за хранилища на данни от корпоративен клас, които изискват бърз достъп и висока наличност, всичко това в схема с ниска цена. Но имате нужда от Linux администратор с deep Hadoop знания за поддържане на рамката и да работи.

искра

Hadoop не е единствената налична рамка за манипулиране на големи данни. Друго голямо име в тази област е искра. Двигателят на Spark е проектиран да надмине Hadoop по отношение на скоростта на анализа и лекотата на използване. Очевидно той постигна тази цел: някои сравнения казват, че Spark работи до 10 пъти по-бързо от Hadoop, когато работи на диск, и 100 пъти по-бързо, работейки в паметта. Освен това изисква по-малък брой машини за обработка на същото количество данни.

Освен скоростта, друго предимство на Spark е неговата поддръжка за обработка на потоци. Този тип обработка на данни, наричана още обработка в реално време, включва непрекъснато въвеждане и извеждане на данни.

Инструменти за визуализация

Често срещана шега между учените по данни гласи, че ако измъчвате данните достатъчно дълго, те ще признаят това, което трябва да знаете. В този случай „изтезание“ означава да се манипулират данните чрез трансформирането и филтрирането им, за да се визуализират по-добре. И точно там на сцената излизат инструментите за визуализация на данни. Тези инструменти вземат предварително обработени данни от множество източници и показват разкритите им истини в графични, разбираеми форми.

Има стотици инструменти, които попадат в тази категория. Харесва ви или не, най-широко използваният е Microsoft Excel и неговите инструменти за диаграми. Диаграмите на Excel са достъпни за всеки, който използва Excel, но имат ограничена функционалност. Същото важи и за други приложения за електронни таблици, като Google Sheets и Libre Office. Но тук говорим за по-специфични инструменти, специално пригодени за бизнес разузнаване (BI) и анализ на данни.

Power BI

Неотдавна Microsoft пусна своя Power BI приложение за визуализация. Може да взема данни от различни източници, като текстови файлове, бази данни, електронни таблици и много онлайн услуги за данни, включително Facebook и Twitter, и да ги използва за генериране на табла за управление, пълни с диаграми, таблици, карти и много други обекти за визуализация. Обектите на таблото са интерактивни, което означава, че можете да щракнете върху серия от данни в диаграма, за да я изберете и да я използвате като филтър за другите обекти на дъската.

  9 инструмента за създаване на ваш личен или бизнес чатбот 🤖

Power BI е комбинация от настолно приложение за Windows (част от пакета Office 365), уеб приложение и онлайн услуга за публикуване на таблата за управление в мрежата и споделянето им с вашите потребители. Услугата ви позволява да създавате и управлявате разрешения за предоставяне на достъп до дъските само на определени хора.

Таблица

Таблица е друга опция за създаване на интерактивни табла за управление от комбинация от множество източници на данни. Той също така предлага настолна версия, уеб версия и онлайн услуга за споделяне на създадените от вас табла за управление. Работи естествено „с начина, по който мислите“ (както се твърди) и е лесен за използване от нетехнически хора, което се подобрява чрез много уроци и онлайн видеоклипове.

Някои от най-забележителните характеристики на Tableau са неговите неограничени конектори за данни, неговите данни на живо и в паметта и неговите оптимизирани за мобилни устройства дизайни.

QlikView

QlikView предлага чист и ясен потребителски интерфейс, за да помогне на анализаторите да открият нови прозрения от съществуващите данни чрез визуални елементи, които са лесно разбираеми за всеки.

Този инструмент е известен като една от най-гъвкавите платформи за бизнес разузнаване. Той предоставя функция, наречена Асоциативно търсене, която ви помага да се съсредоточите върху най-важните данни, като ви спестява времето, което ще ви отнеме да ги намерите сами.

С QlikView можете да си сътрудничите с партньори в реално време, като правите сравнителен анализ. Всички съответни данни могат да бъдат комбинирани в едно приложение с функции за сигурност, които ограничават достъпа до данните.

Инструменти за изстъргване

Във времената, когато интернет едва се появяваше, уеб роботите започнаха да пътуват заедно с мрежите, събирайки информация по пътя си. С развитието на технологията терминът уеб обхождане се промени за уеб скрапинг, но все още означава същото: автоматично извличане на информация от уебсайтове. За да направите уеб скрапинг, вие използвате автоматизирани процеси или ботове, които прескачат от една уеб страница в друга, извличат данни от тях и ги експортират в различни формати или ги вмъкват в бази данни за допълнителен анализ.

По-долу обобщаваме характеристиките на три от най-популярните уеб скрепери, налични днес.

Octoparse

Octoparse web scraper предлага някои интересни характеристики, включително вградени инструменти за получаване на информация от уебсайтове, които не улесняват ботовете за изчерпване да вършат работата си. Това е настолно приложение, което не изисква кодиране, с удобен потребителски интерфейс, който позволява визуализиране на процеса на извличане чрез графичен дизайнер на работни процеси.

Заедно със самостоятелното приложение, Octoparse предлага облачна услуга за ускоряване на процеса на извличане на данни. Потребителите могат да получат 4x до 10x увеличение на скоростта, когато използват облачната услуга вместо настолното приложение. Ако се придържате към десктоп версията, можете да използвате Octoparse безплатно. Но ако предпочитате да използвате облачната услуга, ще трябва да изберете един от нейните платени планове.

Content Grabber

Ако търсите богат на функции инструмент за изстъргване, трябва да му обърнете око Content Grabber. За разлика от Octoparse, за да използвате Content Grabber, е необходимо да имате напреднали умения за програмиране. В замяна получавате редактиране на скриптове, интерфейси за отстраняване на грешки и други разширени функционалности. С Content Grabber можете да използвате .Net езици за писане на регулярни изрази. По този начин не е необходимо да генерирате изразите с помощта на вграден инструмент.

Инструментът предлага API (интерфейс за програмиране на приложения), който можете да използвате, за да добавите възможности за скрапинг към вашия настолен компютър и уеб приложения. За да използват този API, разработчиците трябва да получат достъп до услугата Windows Content Grabber.

ParseHub

Този скрепер може да обработва обширен списък от различни видове съдържание, включително форуми, вложени коментари, календари и карти. Може също така да работи със страници, които съдържат удостоверяване, Javascript, Ajax и др. ParseHub може да се използва като уеб приложение или настолно приложение, което може да работи на Windows, macOS X и Linux.

Подобно на Content Grabber, препоръчително е да имате познания по програмиране, за да се възползвате максимално от ParseHub. Има безплатна версия, ограничена до 5 проекта и 200 страници на изпълнение.

Програмни езици

Точно както споменатият по-горе SQL език е проектиран специално за работа с релационни бази данни, има и други езици, създадени с ясен фокус върху науката за данни. Тези езици позволяват на разработчиците да пишат програми, които се занимават с масивен анализ на данни, като статистика и машинно обучение.

  13 инструмента, които ще ви помогнат да управлявате своята партньорска програма

SQL също се счита за важно умение, което разработчиците трябва да имат, за да се занимават с наука за данни, но това е така, защото повечето организации все още разполагат с много данни в релационни бази данни. „Истинските“ езици за наука за данни са R и Python.

Python

Python е интерпретиран език за програмиране с общо предназначение на високо ниво, много подходящ за бързо разработване на приложения. Има прост и лесен за научаване синтаксис, който позволява стръмна крива на обучение и намаляване на разходите за поддръжка на програмата. Има много причини, поради които той е предпочитаният език за наука за данни. Да споменем няколко: потенциал за скриптове, многословност, преносимост и производителност.

Този език е добра отправна точка за специалисти по данни, които планират да експериментират много, преди да се захванат с истинската и тежка работа по обработка на данни, и които искат да разработят цялостни приложения.

Р

The R език се използва главно за статистическа обработка на данни и графики. Въпреки че не е предназначен за разработване на пълноценни приложения, какъвто би бил случаят с Python, R стана много популярен през последните години поради потенциала си за извличане на данни и анализ на данни.

Благодарение на непрекъснато нарастващата библиотека от свободно достъпни пакети, които разширяват неговата функционалност, R е в състояние да извършва всякакъв вид работа по обработка на данни, включително линейно/нелинейно моделиране, класификация, статистически тестове и т.н.

Не е лесен за научаване език, но след като се запознаете с неговата философия, ще правите статистически изчисления като професионалист.

IDE

Ако сериозно обмисляте да се посветите на науката за данните, тогава ще трябва да изберете внимателно интегрирана среда за разработка (IDE), която отговаря на вашите нужди, защото вие и вашата IDE ще прекарате много време в съвместна работа.

Една идеална IDE трябва да обедини всички инструменти, от които се нуждаете в ежедневната си работа като програмист: текстов редактор с подчертаване на синтаксиса и автоматично довършване, мощен инструмент за отстраняване на грешки, браузър за обекти и лесен достъп до външни инструменти. Освен това, той трябва да е съвместим с предпочитания от вас език, така че е добра идея да изберете вашата IDE, след като знаете кой език ще използвате.

Спайдър

Това генеричната IDE е предназначена най-вече за учени и анализатори, които също трябва да кодират. За да ги направи удобни, той не се ограничава до функционалността на IDE – той също така предоставя инструменти за изследване/визуализация на данни и интерактивно изпълнение, както може да се намери в научен пакет. Редакторът в Spyder поддържа множество езици и добавя браузър на класове, разделяне на прозорци, прескачане към дефиниция, автоматично допълване на код и дори инструмент за анализ на код.

Дебъгерът ви помага интерактивно да проследявате всеки ред код, а профилиращият ви помага да намерите и премахнете неефективността.

PyCharm

Ако програмирате на Python, шансовете са, че вашата IDE ще бъде PyCharm. Има интелигентен редактор на код с интелигентно търсене, допълване на код и откриване и коригиране на грешки. Само с едно щракване можете да преминете от редактора на код към всеки прозорец, свързан с контекста, включително тест, супер метод, реализация, декларация и други. PyCharm поддържа Anaconda и много научни пакети, като NumPy и Matplotlib, за да назовем само два от тях.

Той предлага интеграция с най-важните системи за контрол на версиите, както и с програма за тестване, програма за профилиране и програма за отстраняване на грешки. За да приключи сделката, той също се интегрира с Docker и Vagrant, за да осигури разработка на различни платформи и контейнеризация.

RStudio

За онези специалисти по данни, които предпочитат R екипа, предпочитаната IDE трябва да бъде RStudio, поради многото си функции. Можете да го инсталирате на десктоп с Windows, macOS или Linux или можете да го стартирате от уеб браузър, ако не искате да го инсталирате локално. И двете версии предлагат екстри като подчертаване на синтаксис, интелигентно вдлъбване и допълване на код. Има интегриран преглед на данни, който е полезен, когато трябва да преглеждате таблични данни.

Режимът за отстраняване на грешки позволява да видите как данните се актуализират динамично при изпълнение на програма или скрипт стъпка по стъпка. За контрол на версиите RStudio интегрира поддръжка за SVN и Git. Приятен плюс е възможността за създаване на интерактивни графики с Shiny и библиотеки.

Вашата лична кутия с инструменти

На този етап трябва да имате пълна представа за инструментите, които трябва да знаете, за да превъзхождате науката за данни. Освен това се надяваме, че сме ви дали достатъчно информация, за да решите коя е най-удобната опция във всяка категория инструменти. Сега зависи от вас. Науката за данни е процъфтяваща област развийте кариера. Но ако искате да го направите, трябва да сте в крак с промените в тенденциите и технологиите, тъй като те се случват почти ежедневно.