모든 데이터 과학자가 알아야 할 18가지 필수 소프트웨어

데이터 과학은 얽힌 것을 풀고 겉보기 혼란 속에서 숨겨진 경이로움을 발견하는 것을 좋아하는 모든 사람을 위한 것입니다.

건초 더미에서 바늘을 찾는 것과 같습니다. 데이터 과학자들은 손을 더럽힐 필요가 전혀 없습니다. 다채로운 차트가 포함된 멋진 도구를 사용하고 수많은 숫자를 보고 데이터 건초 더미 속으로 뛰어들어 높은 비즈니스 가치에 대한 통찰력의 형태로 가치 있는 바늘을 찾습니다.

전형적인 데이터 과학자 도구 상자에는 관계형 데이터베이스, NoSQL 데이터베이스, 빅 데이터 프레임워크, 시각화 도구, 스크래핑 도구, 프로그래밍 언어, IDE 및 딥 러닝 도구와 같은 각 범주 중 하나 이상의 항목이 포함되어야 합니다.

관계형 데이터베이스

관계형 데이터베이스는 속성이 있는 테이블로 구성된 데이터 모음입니다. 테이블을 서로 연결하여 관계와 제한을 정의하고 데이터 모델을 생성할 수 있습니다. 관계형 데이터베이스로 작업하기 위해 일반적으로 SQL(Structured Query Language)이라는 언어를 사용합니다.

관계형 데이터베이스의 구조와 데이터를 관리하는 응용 프로그램을 RDBMS(관계형 데이터베이스 관리 시스템)라고 합니다. 이러한 응용 프로그램이 많이 있으며, 가장 관련성이 높은 응용 프로그램은 최근 데이터 과학 분야에 초점을 맞추기 시작했으며 빅 데이터 저장소와 함께 작업하고 데이터 분석 및 기계 학습과 같은 기술을 적용하는 기능을 추가했습니다.

SQL 서버

마이크로소프트의 RDBMS, 엔터프라이즈 기능을 지속적으로 확장하여 20년 이상 진화해 왔습니다. 2016 버전부터 SQL Server는 포함된 R 코드에 대한 지원을 포함하는 서비스 포트폴리오를 제공합니다. SQL Server 2017은 R Services의 이름을 Machine Language Services로 바꾸고 Python 언어에 대한 지원을 추가하여 내기를 높였습니다(아래 두 언어에 대한 자세한 내용).

이러한 중요한 추가 기능을 통해 SQL Server는 Microsoft SQL Server의 기본 쿼리 언어인 Transact SQL에 대한 경험이 없는 데이터 과학자를 목표로 합니다.

SQL Server는 무료 제품이 아닙니다. 라이선스를 구입하여 Windows Server에 설치하거나(동시 사용자 수에 따라 가격이 다름) Microsoft Azure 클라우드를 통해 유료 서비스로 사용할 수 있습니다. Microsoft SQL Server를 배우는 것은 쉽습니다..

MySQL

오픈 소스 소프트웨어 측면에서, MySQL RDBMS의 인기 왕관을 가지고 있습니다. 현재 Oracle이 소유하고 있지만 GNU 일반 공중 라이선스 조건에 따라 여전히 무료이며 오픈 소스입니다. 대부분의 웹 기반 애플리케이션은 SQL 표준을 준수하기 때문에 MySQL을 기본 데이터 저장소로 사용합니다.

또한 쉬운 설치 절차, 대규모 개발자 커뮤니티, 수많은 종합 문서, 일상적인 관리 활동을 단순화하는 phpMyAdmin과 같은 타사 도구가 인기를 얻고 있습니다. MySQL에는 데이터 분석을 수행할 수 있는 기본 기능이 없지만 개방성 덕분에 선택할 수 있는 거의 모든 시각화, 보고 및 비즈니스 인텔리전스 도구와 통합할 수 있습니다.

PostgreSQL

또 다른 오픈 소스 RDBMS 옵션은 포스tgreSQL. MySQL만큼 대중적이지는 않지만 PostgreSQL은 유연성과 확장성, SELECT, WHERE, GROUP BY와 같은 기본 명령문을 능가하는 복잡한 쿼리에 대한 지원이 두드러집니다.

이러한 기능으로 인해 데이터 과학자들 사이에서 인기를 얻고 있습니다. 또 다른 흥미로운 기능은 다중 환경에 대한 지원으로, 이를 통해 클라우드 및 온프레미스 환경 또는 일반적으로 하이브리드 클라우드 환경으로 알려진 이 둘을 혼합하여 사용할 수 있습니다.

PostgreSQL은 HTAP(하이브리드 트랜잭션/분석 처리)라는 모드에서 작동하는 OLAP(온라인 분석 처리)와 OLTP(온라인 트랜잭션 처리)를 결합할 수 있습니다. 지리 데이터용 PostGIS와 문서용 JSON-B가 추가되어 빅 데이터 작업에도 적합합니다. PostgreSQL은 구조화되지 않은 데이터도 지원하므로 SQL 및 NoSQL 데이터베이스의 두 범주에 모두 포함될 수 있습니다.

NoSQL 데이터베이스

비관계형 데이터베이스라고도 하는 이 유형의 데이터 리포지토리는 테이블 형식이 아닌 데이터 구조에 더 빠르게 액세스할 수 있습니다. 이러한 구조의 몇 가지 예로는 그래프, 문서, 넓은 열, 키 값 등이 있습니다. NoSQL 데이터 저장소는 가용성, 파티셔닝 및 액세스 속도와 같은 다른 이점을 위해 데이터 일관성을 제쳐 둘 수 있습니다.

NoSQL 데이터 저장소에는 SQL이 없기 때문에 이러한 종류의 데이터베이스를 쿼리하는 유일한 방법은 저급 언어를 사용하는 것이며 SQL만큼 널리 사용되는 언어는 없습니다. 게다가 NoSQL에 대한 표준 사양은 없습니다. 이것이 바로 아이러니하게도 일부 NoSQL 데이터베이스가 SQL 스크립트에 대한 지원을 추가하기 시작한 이유입니다.

몽고DB

몽고DB JSON 문서 형식으로 데이터를 저장하는 인기 있는 NoSQL 데이터베이스 시스템입니다. 그 초점은 비구조화된 방식으로 데이터를 저장할 수 있는 확장성과 유연성에 있습니다. 이는 저장된 모든 요소에서 관찰해야 하는 고정 필드 목록이 없음을 의미합니다. 또한 데이터 구조는 시간이 지남에 따라 변경될 수 있으며, 이는 관계형 데이터베이스에서 실행 중인 응용 프로그램에 영향을 미칠 수 있는 높은 위험을 의미합니다.

MongoDB의 기술은 데이터 분석을 위한 강력한 기반을 제공하는 인덱싱, 임시 쿼리 및 집계를 허용합니다. 데이터베이스의 분산 특성은 정교한 도구 없이도 고가용성, 확장성 및 지리적 분산을 제공합니다.

레디스

이것 하나는 오픈 소스 NoSQL의 또 다른 옵션입니다. 기본적으로 메모리에서 작동하는 데이터 구조 저장소이며 데이터베이스 서비스를 제공하는 것 외에도 캐시 메모리 및 메시지 브로커 역할도 합니다.

해시, 지리 공간 인덱스, 목록 및 정렬된 집합을 포함하여 무수히 많은 기존의 데이터 구조를 지원합니다. 집합 교차 계산, 긴 목록 정렬 또는 복잡한 순위 생성과 같은 데이터 집약적 작업에서 높은 성능 덕분에 데이터 과학에 매우 적합합니다. Redis가 뛰어난 성능을 발휘하는 이유는 인메모리 작동 때문입니다. 데이터를 선택적으로 유지하도록 구성할 수 있습니다.

빅 데이터 프레임워크

Facebook 사용자가 한 달 동안 생성하는 데이터를 분석해야 한다고 가정합니다. 우리는 사진, 비디오, 메시지, 그 모든 것에 대해 이야기하고 있습니다. 사용자가 소셜 네트워크에 매일 500테라바이트 이상의 데이터를 추가한다는 점을 감안할 때 데이터의 한 달 전체가 차지하는 양을 측정하는 것은 어렵습니다.

그 엄청난 양의 데이터를 효과적인 방식으로 조작하려면 분산 아키텍처에서 통계를 계산할 수 있는 적절한 프레임워크가 필요합니다. 시장을 주도하는 두 가지 프레임워크인 Hadoop과 Spark가 있습니다.

하둡

빅데이터 프레임워크로서, 하둡 방대한 데이터 더미의 검색, 처리 및 저장과 관련된 복잡성을 다룹니다. Hadoop은 간단한 알고리즘을 처리하는 컴퓨터 클러스터로 구성된 분산 환경에서 작동합니다. 큰 작업을 작은 부분으로 나눈 다음 사용 가능한 클러스터 간에 이러한 작은 작업을 배포하는 MapReduce라는 오케스트레이션 알고리즘이 있습니다.

Hadoop은 빠른 액세스와 고가용성을 요구하는 엔터프라이즈급 데이터 리포지토리에 권장되며, 이 모든 것이 저비용 방식으로 이루어집니다. 그러나 깊은 지식을 갖춘 Linux 관리자가 필요합니다. 하둡 지식 프레임워크를 유지하고 실행합니다.

불꽃

Hadoop은 빅 데이터 조작에 사용할 수 있는 유일한 프레임워크가 아닙니다. 이 분야의 또 다른 큰 이름은 불꽃. Spark 엔진은 분석 속도와 사용 편의성 측면에서 Hadoop을 능가하도록 설계되었습니다. 분명히 이 목표를 달성했습니다. 일부 비교에서는 Spark가 디스크에서 작업할 때 Hadoop보다 최대 10배 더 빠르게 실행되고 메모리 내에서 100배 더 빠르게 작동한다고 말합니다. 또한 동일한 양의 데이터를 처리하기 위해 더 적은 수의 시스템이 필요합니다.

속도 외에도 Spark의 또 다른 이점은 스트림 처리 지원입니다. 실시간 처리라고도 하는 이러한 유형의 데이터 처리에는 데이터의 지속적인 입력 및 출력이 포함됩니다.

시각화 도구

데이터 과학자들 사이의 흔한 농담은 데이터를 충분히 오래 고문하면 알아야 할 것을 자백할 것이라고 합니다. 이 경우 “고문”은 데이터를 더 잘 시각화하기 위해 변환 및 필터링하여 데이터를 조작하는 것을 의미합니다. 그리고 바로 여기에서 데이터 시각화 도구가 등장합니다. 이러한 도구는 여러 소스에서 사전 처리된 데이터를 가져와 이해하기 쉬운 그래픽 형식으로 밝혀진 사실을 보여줍니다.

이 범주에 속하는 수백 가지 도구가 있습니다. 좋든 싫든 가장 널리 사용되는 것은 Microsoft Excel과 차트 작성 도구입니다. Excel 차트는 Excel을 사용하는 모든 사람이 액세스할 수 있지만 기능이 제한되어 있습니다. Google 스프레드시트 및 Libre Office와 같은 다른 스프레드시트 애플리케이션에도 동일하게 적용됩니다. 그러나 여기서는 비즈니스 인텔리전스(BI) 및 데이터 분석을 위해 특별히 맞춤화된 보다 구체적인 도구에 대해 이야기하고 있습니다.

파워 BI

얼마 전 마이크로소프트는 파워 BI 시각화 응용 프로그램. 텍스트 파일, 데이터베이스, 스프레드시트 및 Facebook 및 Twitter를 포함한 많은 온라인 데이터 서비스와 같은 다양한 소스에서 데이터를 가져와 차트, 테이블, 지도 및 기타 여러 시각화 개체로 가득 찬 대시보드를 생성하는 데 사용할 수 있습니다. 대시보드 개체는 대화형이므로 차트에서 데이터 계열을 클릭하여 선택하고 보드의 다른 개체에 대한 필터로 사용할 수 있습니다.

Power BI는 Windows 데스크톱 응용 프로그램(Office 365 제품군의 일부), 웹 응용 프로그램 및 대시보드를 웹에 게시하고 사용자와 공유하기 위한 온라인 서비스의 조합입니다. 이 서비스를 사용하면 특정 사용자에게만 게시판에 대한 액세스 권한을 부여하는 권한을 생성하고 관리할 수 있습니다.

Tableau

Tableau 여러 데이터 원본의 조합에서 대화형 대시보드를 만드는 또 다른 옵션입니다. 또한 데스크톱 버전, 웹 버전 및 생성한 대시보드를 공유할 수 있는 온라인 서비스를 제공합니다. “생각하는 대로” 자연스럽게 작동하며(주장대로) 비기술자도 쉽게 사용할 수 있으며 많은 자습서와 온라인 비디오를 통해 향상됩니다.

Tableau의 가장 뛰어난 기능 중 일부는 무제한 데이터 커넥터, 라이브 및 인메모리 데이터, 모바일에 최적화된 디자인입니다.

QlikView

QlikView 분석가가 누구나 쉽게 이해할 수 있는 시각적 요소를 통해 기존 데이터에서 새로운 통찰력을 발견할 수 있도록 명확하고 직접적인 사용자 인터페이스를 제공합니다.

이 도구는 가장 유연한 비즈니스 인텔리전스 플랫폼 중 하나로 알려져 있습니다. 가장 중요한 데이터에 집중할 수 있도록 도와주는 연관 검색이라는 기능을 제공하므로 스스로 찾는 데 걸리는 시간을 절약할 수 있습니다.

QlikView를 사용하면 실시간으로 파트너와 협업하여 비교 분석을 수행할 수 있습니다. 모든 관련 데이터는 데이터에 대한 액세스를 제한하는 보안 기능과 함께 하나의 앱으로 결합될 수 있습니다.

스크래핑 도구

인터넷이 막 등장하던 시대에 웹 크롤러는 네트워크와 함께 이동하면서 정보를 수집하기 시작했습니다. 기술이 발전함에 따라 웹 크롤링이라는 용어는 웹 스크래핑으로 바뀌었지만 여전히 같은 의미입니다. 즉, 웹 사이트에서 자동으로 정보를 추출합니다. 웹 스크래핑을 수행하려면 한 웹 페이지에서 다른 웹 페이지로 이동하는 자동화된 프로세스 또는 봇을 사용하여 데이터를 추출하고 다른 형식으로 내보내거나 추가 분석을 위해 데이터베이스에 삽입합니다.

아래에서는 오늘날 사용 가능한 가장 인기 있는 세 가지 웹 스크레이퍼의 특성을 요약합니다.

옥토파스

옥토파스 웹 스크레이퍼는 스크레이핑 봇이 작업을 수행하는 것을 쉽게 만들지 않는 웹사이트에서 정보를 얻기 위한 내장 도구를 포함하여 몇 가지 흥미로운 특성을 제공합니다. 그래픽 워크플로우 디자이너를 통해 추출 과정을 시각화할 수 있는 사용자 친화적인 UI로 코딩이 필요 없는 데스크탑 애플리케이션입니다.

독립 실행형 애플리케이션과 함께 Octoparse는 클라우드 기반 서비스를 제공하여 데이터 추출 프로세스의 속도를 높입니다. 사용자는 데스크톱 애플리케이션 대신 클라우드 서비스를 사용할 때 4배에서 10배의 속도 향상을 경험할 수 있습니다. 데스크톱 버전을 고수하면 Octoparse를 무료로 사용할 수 있습니다. 그러나 클라우드 서비스를 사용하려면 유료 요금제 중 하나를 선택해야 합니다.

콘텐츠 그래버

기능이 풍부한 스크래핑 도구를 찾고 있다면 주목해야 합니다. 콘텐츠 그래버. Octoparse와 달리 Content Grabber를 사용하려면 고급 프로그래밍 기술이 필요합니다. 그 대가로 스크립팅 편집, 디버깅 인터페이스 및 기타 고급 기능을 사용할 수 있습니다. Content Grabber를 사용하면 .Net 언어를 사용하여 정규식을 작성할 수 있습니다. 이렇게 하면 기본 제공 도구를 사용하여 표현식을 생성할 필요가 없습니다.

이 도구는 데스크톱 및 웹 응용 프로그램에 스크래핑 기능을 추가하는 데 사용할 수 있는 API(응용 프로그래밍 인터페이스)를 제공합니다. 이 API를 사용하려면 개발자가 Content Grabber Windows 서비스에 대한 액세스 권한을 얻어야 합니다.

파스허브

이 스크레이퍼 포럼, 중첩 댓글, 캘린더 및 지도를 비롯한 다양한 유형의 콘텐츠에 대한 광범위한 목록을 처리할 수 있습니다. 또한 인증, Javascript, Ajax 등을 포함하는 페이지를 처리할 수 있습니다. ParseHub는 Windows, macOS X 및 Linux에서 실행할 수 있는 웹 앱 또는 데스크톱 응용 프로그램으로 사용할 수 있습니다.

Content Grabber와 마찬가지로 ParseHub를 최대한 활용하려면 약간의 프로그래밍 지식이 있는 것이 좋습니다. 5개 프로젝트로 제한되며 실행당 200페이지로 제한되는 무료 버전이 있습니다.

프로그래밍 언어들

앞서 언급한 SQL 언어가 관계형 데이터베이스와 함께 작동하도록 특별히 설계된 것처럼 데이터 과학에 중점을 두고 만들어진 다른 언어가 있습니다. 이러한 언어를 통해 개발자는 통계 및 기계 학습과 같은 대규모 데이터 분석을 처리하는 프로그램을 작성할 수 있습니다.

SQL은 또한 개발자가 데이터 과학을 수행해야 하는 중요한 기술로 간주되지만, 이는 대부분의 조직이 여전히 관계형 데이터베이스에 대한 많은 데이터를 갖고 있기 때문입니다. “진정한” 데이터 과학 언어는 R과 Python입니다.

파이썬

파이썬 빠른 응용 프로그램 개발에 적합한 고급 수준의 해석된 범용 프로그래밍 언어입니다. 그것은 가파른 학습 곡선을 허용하고 프로그램 유지 관리 비용을 절감할 수 있는 간단하고 배우기 쉬운 구문을 가지고 있습니다. 데이터 과학에서 언어가 선호되는 데에는 여러 가지 이유가 있습니다. 몇 가지만 언급하자면, 스크립팅 가능성, 장황함, 이식성 및 성능입니다.

이 언어는 실제 및 하드 데이터 크런칭 작업에 뛰어들기 전에 많은 실험을 계획하고 완전한 애플리케이션을 개발하려는 데이터 과학자에게 좋은 출발점입니다.

아르 자형

그만큼 R 언어 주로 통계 데이터 처리 및 그래프 작성에 사용됩니다. Python의 경우처럼 본격적인 응용 프로그램을 개발하기 위한 것은 아니지만 R은 데이터 마이닝 및 데이터 분석의 잠재력으로 인해 최근 몇 년 동안 매우 인기를 얻었습니다.

기능을 확장하는 무료로 사용할 수 있는 패키지의 계속 성장하는 라이브러리 덕분에 R은 선형/비선형 모델링, 분류, 통계 테스트 등을 포함한 모든 종류의 데이터 처리 작업을 수행할 수 있습니다.

배우기 쉬운 언어는 아니지만 그 철학에 익숙해지면 프로처럼 통계 컴퓨팅을 하게 될 것입니다.

십오 일

데이터 과학에 전념하는 것을 진지하게 고려하고 있다면 귀하와 귀하의 IDE가 함께 작업하는 데 많은 시간을 할애할 것이기 때문에 귀하의 요구에 맞는 통합 개발 환경(IDE)을 신중하게 선택해야 합니다.

이상적인 IDE는 구문 강조 및 자동 완성 기능이 있는 텍스트 편집기, 강력한 디버거, 개체 브라우저, 외부 도구에 대한 손쉬운 액세스 등 코더로서 일상 업무에 필요한 모든 도구를 함께 제공해야 합니다. 또한 선호하는 언어와 호환되어야 하므로 사용할 언어를 파악한 후 IDE를 선택하는 것이 좋습니다.

스파이더

이것 일반 IDE는 대부분 코딩이 필요한 과학자와 분석가를 위한 것입니다. 사용자를 편안하게 하기 위해 IDE 기능에 국한되지 않고 과학 패키지에서 볼 수 있는 것처럼 데이터 탐색/시각화 및 대화형 실행을 위한 도구도 제공합니다. Spyder의 편집기는 여러 언어를 지원하며 클래스 브라우저, 창 분할, 정의로 이동, 자동 코드 완성 및 코드 분석 도구까지 추가합니다.

디버거는 각 코드 라인을 대화식으로 추적하는 데 도움이 되며 프로파일러는 비효율성을 찾아 제거하는 데 도움이 됩니다.

파이참

Python으로 프로그래밍하는 경우 선택한 IDE가 다음과 같을 가능성이 있습니다. 파이참. 스마트 검색, 코드 완성, 오류 감지 및 수정 기능이 있는 스마트 코드 편집기가 있습니다. 한 번의 클릭으로 코드 편집기에서 테스트, 수퍼 메소드, 구현, 선언 등을 포함한 모든 컨텍스트 관련 창으로 이동할 수 있습니다. PyCharm은 Anaconda와 NumPy 및 Matplotlib와 같은 많은 과학 패키지를 지원합니다.

가장 중요한 버전 제어 시스템과의 통합은 물론 테스트 러너, 프로파일러 및 디버거와의 통합을 제공합니다. 거래를 성사시키기 위해 Docker 및 Vagrant와도 통합되어 플랫폼 간 개발 및 컨테이너화를 제공합니다.

알스튜디오

R 팀을 선호하는 데이터 과학자의 경우 IDE를 선택해야 합니다. 알스튜디오, 기능이 많기 때문입니다. Windows, macOS 또는 Linux가 설치된 데스크탑에 설치하거나 로컬에 설치하지 않으려면 웹 브라우저에서 실행할 수 있습니다. 두 버전 모두 구문 강조, 스마트 들여쓰기 및 코드 완성과 같은 기능을 제공합니다. 표 형식의 데이터를 검색해야 할 때 편리하게 사용할 수 있는 통합 데이터 뷰어가 있습니다.

디버깅 모드를 사용하면 프로그램이나 스크립트를 단계별로 실행할 때 데이터가 어떻게 동적으로 업데이트되는지 볼 수 있습니다. 버전 제어를 위해 RStudio는 SVN 및 Git 지원을 통합합니다. 좋은 플러스는 Shiny를 사용하여 대화형 그래픽을 작성하고 라이브러리를 제공할 수 있다는 것입니다.

개인 도구 상자

이 시점에서 데이터 과학에서 탁월하기 위해 알아야 하는 도구에 대한 완전한 관점이 있어야 합니다. 또한 각 도구 범주 내에서 가장 편리한 옵션을 결정할 수 있도록 충분한 정보를 제공했기를 바랍니다. 이제 당신에게 달려 있습니다. 데이터 과학은 번영하는 분야였습니다. 경력을 쌓다. 그러나 그렇게 하려면 트렌드와 기술의 변화가 거의 매일 발생하기 때문에 따라가야 합니다.