SEO 및 디지털 마케팅을 위한 데이터 과학: 초보자를 위한 권장 가이드

게시 됨: 2021-12-07

대부분의 작업이 데이터를 중심으로 진행되고 데이터 과학 분야가 훨씬 더 커지고 초보자도 훨씬 더 쉽게 접근할 수 있게 됨에 따라 SEO 및 마케팅을 강화하기 위해 이 분야에 진출하는 방법에 대한 몇 가지 생각을 공유하고 싶습니다. 일반적으로 기술.

데이터 과학이란 무엇입니까?

이 분야의 개요를 제공하는 데 사용되는 매우 잘 알려진 다이어그램은 데이터 과학을 통계, 해킹(일반적으로 고급 프로그래밍 기술, 반드시 네트워크에 침투하여 해를 입히는 것은 아님) 및 실질적인 전문 지식 또는 "도메인 지식":


출처: oreilly.com

배우기 시작했을 때 이것이 바로 우리가 이미 하고 있는 일이라는 것을 빨리 깨달았습니다. 유일한 차이점은 더 기본적이고 수동적인 도구로 작업을 수행했다는 것입니다.
다이어그램을 보면 이미 이 작업을 수행하는 방법을 쉽게 알 수 있습니다. 컴퓨터(해킹 기술)를 사용하여 데이터(통계)를 분석하고 SEO(또는 집중하는 전문 분야)에 대한 실질적인 전문 지식을 사용하여 실용적인 문제를 해결합니다.
현재 "프로그래밍 언어"는 아마도 스프레드시트(Excel, Google Sheets 등)일 것이며 아이디어를 전달하기 위해 Powerpoint 또는 이와 유사한 것을 사용할 가능성이 가장 큽니다. 이러한 요소를 조금 확장해 보겠습니다.

  • 도메인 지식: 귀하의 전문 분야에 대해 이미 알고 있는 것처럼 귀하의 주요 강점부터 시작하겠습니다. 이것은 데이터 과학자가 되는 데 필수적인 부분이며 여기에서 지식을 구축하고 보호할 수 있습니다. 몇 달 전에 저는 친구와 크롤링 데이터 세트 분석에 대해 논의하고 있었습니다. 그는 물리학자로 양자 컴퓨터에 대한 박사 후 연구를 수행하고 있습니다. 그의 수학 및 통계 지식과 기술은 나보다 훨씬 뛰어나며 데이터 분석 방법을 나보다 훨씬 더 잘 알고 있습니다. 한 가지 문제. 그는 "404"가 무엇인지(또는 우리가 "301"에 대해 관심을 갖는 이유) 알지 못했습니다. 따라서 그는 모든 수학 지식으로 크롤링 데이터 세트의 "상태" 열을 이해할 수 없었습니다. 당연히 그는 그 데이터로 무엇을 해야 하는지, 누구와 이야기해야 하는지, 그리고 이러한 상태 코드를 기반으로 어떤 전략을 세워야 하는지(또는 다른 곳을 살펴봐야 하는지 여부) 알지 못할 것입니다. 당신과 나는 그것들로 무엇을 해야할지 알고 있습니다. 적어도 우리가 더 깊이 파헤치고 싶다면 다른 곳을 살펴봐야 합니다.
  • 수학 및 통계: Excel을 사용하여 데이터 샘플의 평균을 구하는 경우 통계를 사용하고 있는 것입니다. 평균은 데이터 샘플의 특정 측면을 설명하는 통계입니다. 고급 통계는 데이터를 이해하는 데 도움이 됩니다. 이것은 또한 필수적이며 저는 이 분야의 전문가가 아닙니다. 통계 분포에 익숙할수록 데이터 분석 방법에 대한 아이디어가 많아집니다. 더 기본적인 주제를 알수록 가설을 공식화하고 데이터 세트에 대한 정확한 진술을 할 수 있습니다.
  • 프로그래밍 기술: 아래에서 이에 대해 더 자세히 논의할 것이지만 주로 사용하기 쉽지만 약간 제한적인 것에 집착하는 것과는 대조적으로 컴퓨터가 원하는 작업을 정확하게 수행하도록 지시하는 유연성을 구축할 수 있습니다. 도구. 이것은 원하는 방식으로 데이터를 얻고, 재구성하고, 정리하는 주요 방법이며, 데이터와 개방적이고 유연한 "대화"를 할 수 있는 길을 열어줍니다.

이제 데이터 과학에서 일반적으로 수행하는 작업을 살펴보겠습니다.

데이터 과학 주기

일반적인 데이터 과학 프로젝트 또는 작업은 일반적으로 다음과 같습니다.


출처: r4ds.had.co.nz

나는 또한 데이터 과학에 대한 훌륭한 입문서 역할을 하는 Hadley Wickham과 Garrett Grolemund의 이 책을 읽을 것을 강력히 추천합니다. R 프로그래밍 언어의 예제로 작성되었지만 Python만 알면 개념과 코드를 쉽게 이해할 수 있습니다.

다이어그램에서 볼 수 있듯이 먼저 데이터를 어떻게든 가져와서 정리한 다음 변환, 시각화 및 모델링의 내부 주기 작업을 시작해야 합니다. 그 후 우리는 다른 사람들과 결과를 전달합니다.
이러한 단계는 매우 간단한 것부터 매우 복잡한 것까지 다양합니다. 예를 들어 "가져오기" 단계는 CSV 파일을 읽는 것만큼 간단할 수 있으며 경우에 따라 데이터를 가져오기 위한 매우 복잡한 웹 스크래핑 프로젝트로 구성될 수 있습니다. 프로세스의 여러 요소는 그 자체로 본격적인 전문 분야입니다.

이것을 우리가 알고 있는 친숙한 프로세스에 쉽게 매핑할 수 있습니다. 예를 들어 robots.txt 및 XML 사이트맵을 다운로드하여 웹사이트에 대한 메타데이터를 얻는 것으로 시작할 수 있습니다. 그런 다음 크롤링하고 SERP 위치에 대한 일부 데이터를 얻거나 예를 들어 링크 데이터를 얻을 수도 있습니다. 이제 몇 개의 데이터 세트가 있으므로 일부 테이블을 병합하고 일부 추가 데이터를 대치하고 탐색/이해를 시작하고 싶을 것입니다. 데이터를 시각화하면 숨겨진 패턴을 노출하거나 현재 상황을 파악하는 데 도움이 되거나 더 많은 질문을 제기할 수 있습니다. 또한 몇 가지 기본 통계 또는 기계 학습 모델을 사용하여 데이터를 모델링하고 약간의 통찰력을 얻고 싶을 것입니다. 물론 조사 결과와 질문을 프로젝트의 다른 이해 관계자에게 전달해야 합니다.
이러한 각 프로세스에 사용할 수 있는 다양한 도구에 충분히 익숙해지면 모든 비즈니스는 고유하고 특별한 요구 사항 집합이 있기 때문에 특정 웹 사이트에 특정한 사용자 지정 파이프라인을 구축할 수 있습니다. 결국 패턴을 찾기 시작하고 유사한 프로젝트/웹사이트에 대한 전체 작업을 다시 수행할 필요가 없습니다.

이 프로세스의 각 요소에 대해 사용할 수 있는 수많은 도구와 라이브러리가 있으며 어떤 도구를 선택하는지(그리고 학습에 시간을 투자하는) 매우 압도적일 수 있습니다. 내가 사용하는 도구를 선택하는 데 유용하다고 생각되는 가능한 접근 방식을 살펴보겠습니다.

도구 선택과 절충안(피자를 먹는 3가지 방법)

데이터를 처리하는 일상적인 작업에 Excel을 사용해야 합니까, 아니면 Python을 배우는 데 수고를 들일 가치가 있습니까?
Power BI와 같은 것으로 시각화하는 것이 더 낫습니까? 아니면 그래픽 문법에 대해 배우고 이를 구현하는 라이브러리를 사용하는 방법을 배우는 데 투자해야 합니까?
R 또는 Python을 사용하여 대화형 대시보드를 직접 구축하여 더 나은 작업을 생성하시겠습니까, 아니면 Google 데이터 스튜디오를 사용하시겠습니까?

먼저 다양한 추상화 수준에서 다양한 도구를 선택하는 것과 관련된 절충안을 살펴보겠습니다. 이것은 Plotly 및 Dash를 사용하여 대화형 대시보드 및 데이터 앱을 구축하는 방법에 대한 제 책에서 발췌한 것이며 이 접근 방식이 유용하다는 것을 알았습니다.

피자를 먹는 세 가지 다른 접근 방식을 고려하십시오.

  • 주문 방법: 레스토랑에 전화를 걸어 피자를 주문합니다. 30분 만에 문앞에 도착하고 먹기 시작합니다.
  • 슈퍼마켓 접근 방식: 슈퍼마켓 에 가서 반죽, 치즈, 야채 및 기타 모든 재료를 구입합니다. 그런 다음 피자를 직접 만드십시오.
  • 농장 접근 방식: 뒤뜰에서 토마토를 재배합니다. 소를 키우고, 젖을 짜고, 우유를 치즈로 바꾸는 등의 일을 합니다.

더 높은 수준의 인터페이스로 올라갈수록 순서 지정 방식으로 갈수록 필요한 지식의 양이 많이 줄어듭니다. 다른 누군가가 책임을 지고 품질은 평판과 경쟁이라는 시장의 힘에 의해 확인됩니다.

이에 대해 우리가 지불하는 대가는 감소된 자유와 선택권입니다. 각 레스토랑에는 선택할 수 있는 옵션이 있으며 해당 옵션에서 선택해야 합니다.

더 낮은 수준으로 내려갈수록 필요한 지식의 양이 증가하고 더 많은 복잡성을 처리해야 하고 결과에 대해 더 많은 책임을 져야 하며 훨씬 더 많은 시간이 걸립니다. 여기서 우리가 얻는 것은 우리가 원하는 방식으로 결과를 맞춤화할 수 있는 훨씬 더 많은 자유와 힘입니다. 비용도 주요 이점이지만 규모가 충분합니다. 오늘 피자만 먹고 싶다면 주문하는 것이 더 저렴할 것입니다. 그러나 매일 사용할 계획이라면 직접 하면 상당한 비용 절감 효과를 기대할 수 있습니다.

이것들은 어떤 도구를 사용하고 배울지를 선택할 때 선택해야 하는 종류입니다. R 또는 Python과 같은 프로그래밍 언어를 사용하려면 훨씬 더 많은 작업이 필요하고 Excel보다 더 어렵기 때문에 훨씬 더 생산적이고 강력해집니다.

선택은 또한 각 도구 또는 프로세스에 중요합니다. 예를 들어, 높은 수준의 사용하기 쉬운 크롤러를 사용하여 웹 사이트에 대한 데이터를 수집할 수 있지만 사용 가능한 모든 옵션과 함께 프로그래밍 언어를 사용하여 데이터를 시각화하는 것을 선호할 수 있습니다. 올바른 프로세스에 대한 올바른 도구의 선택은 필요에 따라 다르며 위에서 설명한 절충안이 이러한 선택을 하는 데 도움이 될 수 있습니다. 이것은 또한 파이썬이나 R을 배우고 싶은지 아닌지(또는 얼마나 많이) 배우고 싶은지에 대한 질문을 해결하는 데 도움이 되기를 바랍니다.

이 질문을 조금 더 진행하여 SEO용 Python 학습이 올바른 키워드가 아닌 이유를 살펴보겠습니다.

"python for seo"가 오해의 소지가 있는 이유

훌륭한 블로거가 되고 싶습니까, 아니면 WordPress를 배우고 싶습니까?
그래픽 디자이너가 되고 싶습니까 아니면 Photoshop을 배우는 것이 목표입니까?
데이터 기술을 한 단계 끌어 올려 SEO 경력을 향상하는 데 관심이 있습니까? 아니면 Python을 배우고 싶습니까?

MIT 컴퓨터 공학 과정의 첫 번째 강의의 첫 5분 동안 Harold Abelson 교수는 학생들에게 왜 "컴퓨터 과학"이 그들이 배우려는 학문 분야의 나쁜 이름인지 말하면서 과정을 시작합니다. 강의의 처음 5분을 시청하는 것은 매우 흥미로운 일이라고 생각합니다.

어떤 분야가 막 시작하고 그것을 잘 이해하지 못할 때, 당신이 하고 있는 일의 본질과 당신이 사용하는 도구를 혼동하기가 매우 쉽습니다. – 해롤드 아벨슨

우리는 온라인 인지도와 결과를 개선하기 위해 노력하고 있으며 우리가 하는 많은 작업은 일반적으로 데이터를 이해, 시각화, 조작 및 처리하는 것을 기반으로 하며 사용되는 도구에 관계없이 이것이 우리의 초점입니다. 데이터 과학은 이를 수행할 수 있는 지적 프레임워크와 우리가 원하는 것을 구현하기 위한 많은 도구가 있는 분야입니다. Python은 프로그래밍 언어(도구)가 될 수 있으며 잘 배우는 것이 확실히 중요합니다. 우리의 경우 데이터를 처리하고 분석하는 "당신이 하는 일의 본질"에 초점을 맞추는 것만큼 중요하지는 않지만 중요합니다.
선택한 프로그래밍 언어와 달리 위에서 논의한 프로세스(가져오기, 정리, 시각화 등)에 중점을 두어야 합니다. 또는 단순히 프로그래밍 언어를 배우는 것과는 대조적으로 해당 프로그래밍 언어를 사용하여 작업을 수행하는 방법입니다.

어쨌든 내가 파이썬을 배우게 된다면 누가 이 모든 이론적인 구분에 신경을 쓰겠는가?

하는 일의 본질이 아니라 도구에 대한 학습에 집중하면 어떤 일이 발생할 수 있는지 살펴보겠습니다. 여기에서 "learn wordpress"(도구) 검색과 "learn blogging"(우리가 하고 싶은 것) 검색을 비교합니다.

다이어그램은 맨 위에 있는 키워드에 대해 가르치는 책이나 코스 아래에 가능한 주제를 보여줍니다. 중간의 교차 영역은 두 가지 유형의 과정/책에서 발생할 수 있는 주제를 보여줍니다.

도구에 초점을 맞추면 의심할 여지 없이 특히 초보자에게 실제로 필요하지 않은 것에 대해 배워야 하게 될 것입니다. 이러한 주제는 특히 기술 또는 프로그래밍 배경 지식이 없는 경우 혼란스럽고 좌절감을 줄 수 있습니다.

또한 좋은 블로거가 되는 데 유용한 것들(교차로 영역의 주제)도 배우게 됩니다. 이 주제는 가르치기 매우 쉽지만(블로그 게시물을 만드는 방법), 왜 블로그를 해야 하는지, 언제, 무엇에 대해 많이 알려주지는 않습니다. 이것은 도구 중심의 책에서 잘못이 아닙니다. 도구에 대해 배울 때 블로그 게시물을 작성하는 방법을 배우고 계속 진행하는 것으로 충분하기 때문입니다.
블로거로서 당신은 아마도 블로깅의 대상과 이유에 더 관심이 있을 것이며, 도구 중심의 책에서는 다루지 않을 것입니다.
분명히 SEO, 틈새 찾기 등과 같은 전략적이고 중요한 것은 다루지 않으므로 매우 중요한 것을 놓치게 될 것입니다.

프로그래밍 책에서 배우지 못할 데이터 과학 주제에는 어떤 것이 있습니까?

우리가 보았듯이 파이썬이나 프로그래밍 책을 집어 든다는 것은 아마도 당신이 소프트웨어 엔지니어가 되고 싶다는 것을 의미할 것입니다. 주제는 자연스럽게 그 목적에 맞춰질 것입니다. 데이터 과학 책을 찾으면 데이터 분석에 더 적합한 주제와 도구를 얻을 수 있습니다.

첫 번째 다이어그램(데이터 과학의 주기를 보여줌)을 지침으로 사용하고 "파이썬으로 데이터 가져오기", "r로 데이터 정리", "파이썬으로 데이터 시각화" 등의 주제를 사전에 검색할 수 있습니다. 해당 주제를 더 자세히 살펴보고 더 자세히 살펴보겠습니다.

수입

우리는 당연히 먼저 일부 데이터를 얻어야 합니다. 이것은 될 수있다:

  • 컴퓨터에 있는 파일: 선택한 프로그래밍 언어로 파일을 열기만 하면 되는 가장 간단한 경우입니다. 다양한 파일 형식이 있으며 파일을 열거나 읽는 동안 많은 옵션이 있다는 점에 유의하는 것이 중요합니다. 예를 들어 pandas 라이브러리(Python의 필수 데이터 조작 도구)의 read_csv 함수에는 파일을 여는 동안 선택할 수 있는 50가지 옵션이 있습니다. 여기에는 파일 경로, 선택할 열, 열려는 행 수, datetime 객체 해석, 누락된 값 처리 방법 등이 포함됩니다. 다양한 파일 형식을 열 때 이러한 옵션과 다양한 고려 사항에 익숙해지는 것이 중요합니다. 또한 pandas에는 다양한 파일 및 데이터 형식에 대해 read_로 시작하는 19개의 다른 함수가 있습니다.
  • 온라인 도구에서 내보내기: 이 기능에 익숙할 것입니다. 여기에서 데이터를 사용자 정의한 다음 내보낼 수 있습니다. 그런 다음 컴퓨터에서 파일로 열 수 있습니다.
  • 특정 데이터를 가져오기 위한 API 호출: 이것은 더 낮은 수준에 있으며 위에서 언급한 팜 접근 방식에 더 가깝습니다. 이 경우 특정 요구 사항이 포함된 요청을 보내고 원하는 데이터를 가져옵니다. 여기서의 장점은 원하는 것을 정확하게 사용자 정의하고 온라인 인터페이스에서 사용할 수 없는 방식으로 형식을 지정할 수 있다는 것입니다. 예를 들어 Google 애널리틱스에서는 분석 중인 표에 두 번째 측정기준을 추가할 수 있지만 세 번째 측정기준은 추가할 수 없습니다. 내보낼 수 있는 행 수도 제한됩니다. API는 더 많은 유연성을 제공하며 더 큰 데이터 수집/분석 파이프라인의 일부로 특정 호출이 주기적으로 발생하도록 자동화할 수도 있습니다.
  • 데이터 크롤링 및 스크래핑: 좋아하는 크롤러가 있고 프로세스에 익숙할 것입니다. 이것은 이미 유연한 프로세스이므로 페이지에서 사용자 정의 요소를 추출하고 특정 페이지만 크롤링하는 등의 작업을 수행할 수 있습니다.
  • 자동화, 사용자 지정 추출 및 특수 용도를 위한 기계 학습과 관련된 방법의 조합입니다.

데이터가 확보되면 다음 단계로 이동하려고 합니다.

깔끔한

"깔끔한" 데이터세트는 특정 방식으로 구성된 데이터세트입니다. "긴 형식" 데이터라고도 합니다. R for Data Science 책의 12장에서 관심이 있는 경우 깔끔한 데이터 개념에 대해 자세히 설명합니다.
아래 세 개의 표를 보고 차이점을 찾으십시오.


Tidyr 패키지의 샘플 테이블입니다.

세 개의 테이블에 정확히 동일한 정보가 포함되어 있지만 다른 방식으로 구성 및 표시되어 있음을 알 수 있습니다. 두 개의 개별 열(표 1)에 사례와 모집단을 포함하거나 관찰 내용을 알려주는 열(사례 또는 모집단)과 해당 사례를 계산하는 "개수" 열(표 2)을 가질 수 있습니다. 표 3에는 요금으로 표시되어 있습니다.

데이터를 처리할 때 다른 소스에서 데이터를 다르게 구성하고 더 나은 분석을 위해 특정 형식에서 또는 특정 형식으로 변경해야 하는 경우가 많습니다. 이러한 청소 작업에 익숙해지는 것이 중요하며, R의tiler 패키지에는 이를 위한 특별한 도구가 포함되어 있습니다. Python을 선호하는 경우 pandas를 사용할 수도 있으며 이에 대한 용해 및 피벗 기능을 확인할 수 있습니다.
데이터가 특정 형식이 되면 추가로 조작할 수 있습니다.

변환

구축해야 할 또 다른 중요한 기술은 작업 중인 데이터를 원하는 대로 변경할 수 있는 능력입니다. 이상적인 시나리오는 데이터와 대화할 수 있는 단계에 도달하고 원하는 방식으로 매우 구체적인 질문을 하고 흥미로운 통찰력을 얻을 수 있는 단계에 도달하는 것입니다. 다음은 관심을 가질 만한 몇 가지 예제 작업과 함께 많이 필요할 수 있는 가장 중요한 변환 작업 중 일부입니다.

데이터를 얻고, 정리하고, 원하는 형식으로 넣은 후 시각화하는 것이 좋습니다.

시각화

데이터 시각화는 방대한 주제이며 일부 하위 주제에 대한 전체 책이 있습니다. 이는 특히 직관적인 시각적 요소를 사용하여 정보를 전달한다는 점에서 데이터에 대한 많은 통찰력을 제공할 수 있는 것 중 하나입니다. 예를 들어 막대 차트에서 막대의 상대적 높이는 즉시 상대적 수량을 보여줍니다. 색상의 강도, 상대적 위치 및 기타 많은 시각적 속성은 독자가 쉽게 인식하고 이해할 수 있습니다.
좋은 차트는 천 개의 (키) 단어의 가치가 있습니다!

데이터 시각화에 대해 다루어야 할 주제가 많기 때문에 흥미로울 수 있는 몇 가지 예를 간단히 공유하겠습니다. 전체 세부 정보를 원할 경우 그 중 몇 가지는 이 빈곤 데이터 대시보드의 구성 요소입니다.

막대를 세로 또는 가로로 표시할 수 있는 값을 비교하는 데 간단한 막대 차트만 있으면 되는 경우가 있습니다.

특정 국가를 탐색하는 데 관심이 있을 수 있으며 특정 지표에서 진행 상황을 확인하여 더 깊이 파고들 수 있습니다. 이 경우 동일한 플롯에 여러 막대 차트를 표시할 수 있습니다.

여러 관찰에 대한 여러 값을 비교하는 것은 각 X축 위치에 여러 막대를 배치하여 수행할 수도 있습니다. 이를 수행하는 주요 방법은 다음과 같습니다.

색상 및 색상 스케일 선택: 데이터 시각화의 필수 부분이며 올바르게 수행되면 정보를 매우 효율적이고 직관적으로 전달할 수 있습니다.

범주형 색상 스케일: 범주형 데이터를 표현하는 데 유용합니다. 이름에서 알 수 있듯이 이것은 특정 관찰이 속한 범주를 보여주는 데이터 유형입니다. 이 경우 카테고리(특히 나란히 표시되는 시각적 요소의 경우)에서 명확한 차이를 표시하기 위해 가능한 한 서로 다른 색상을 원합니다.
다음 예에서는 범주형 색상 눈금을 사용하여 각 국가에서 구현되는 정부 시스템을 보여줍니다. 어떤 정부 시스템이 사용되는지 보여주는 전설에 국가의 색상을 연결하는 것은 매우 쉽습니다. 이를 등치 맵이라고도 합니다.


출처: 위키피디아

때로는 시각화하려는 데이터가 동일한 메트릭에 대한 것이고 각 국가(또는 다른 유형의 관찰)는 최소 지점과 최대 지점 사이의 연속체에서 특정 지점에 속합니다. 즉, 해당 메트릭의 정도를 시각화하고 싶습니다.
이러한 경우 연속(또는 순차적) 색상 스케일 을 찾아야 합니다. 다음 예에서 어떤 국가가 더 파란색인지(따라서 더 많은 트래픽이 발생함) 명확하고 국가 간의 미묘한 차이를 직관적으로 이해할 수 있습니다.

데이터는 연속적일 수 있지만(위의 교통 지도 차트와 같이) 숫자에서 중요한 것은 특정 지점에서 얼마나 벗어나는가일 수 있습니다. 이 경우 다양한 색상 스케일 이 유용합니다.

아래 차트는 순 인구 증가율을 보여줍니다. 이 경우 특정 국가의 성장률이 플러스인지 마이너스인지 먼저 아는 것이 흥미롭습니다. 또는 각 국가가 0에서 얼마나 멀리 떨어져 있는지 알고 싶습니다. 지도를 보면 어느 국가의 인구가 증가하고 있고 어느 국가가 감소하고 있는지 즉시 알 수 있습니다. 범례는 또한 최대 양수 비율이 3.5%이고 최대 음수 비율이 -0.5%임을 보여줍니다. 이것은 또한 값의 범위(양수 및 음수)에 대한 표시를 제공합니다.


출처 : Dashboardom.com

불행히도, 색맹인 사람들은 빨강과 초록을 제대로 구별하지 못할 수 있기 때문에 이 척도에 선택된 색상은 이상적이지 않습니다. 이것은 색상 스케일을 선택할 때 매우 중요한 고려 사항입니다.

산점도 는 가장 널리 사용되는 다용도 플롯 유형 중 하나입니다. 점(또는 다른 마커)의 위치는 전달하려는 양을 나타냅니다. 위치 외에도 색상, 크기 및 모양과 같은 몇 가지 다른 시각적 속성을 사용하여 더 많은 정보를 전달할 수 있습니다. 다음 예는 $1.9/day로 생활하는 인구의 비율을 보여줍니다. 이는 포인트의 수평 거리로 명확하게 볼 수 있습니다.
색상을 사용하여 차트에 새 차원을 추가할 수도 있습니다. 이는 동일한 데이터 세트의 세 번째 열을 시각화하는 것과 일치하며, 이 경우에는 인구 데이터가 표시됩니다.
이제 인구(미국)의 측면에서 가장 극단적인 경우가 빈곤 수준 메트릭에서 매우 낮다는 것을 알 수 있습니다. 이것은 차트에 풍부함을 더합니다. 크기와 모양을 사용하여 데이터 세트에서 더 많은 열을 시각화할 수도 있습니다. 하지만 풍부함과 가독성 사이에서 균형을 잘 잡아야 합니다.

인구와 빈곤 수준 사이에 관계가 있는지 확인하는 데 관심이 있을 수 있으므로 동일한 데이터 세트를 약간 다른 방식으로 시각화하여 그러한 관계가 존재하는지 확인할 수 있습니다.

우리는 약 1.35B의 인구에 하나의 이상값을 가지고 있으며, 이는 차트에 많은 공백이 있음을 의미하며, 이는 또한 많은 값이 매우 작은 영역에 압축되어 있음을 의미합니다. 또한 겹치는 점이 많아서 차이점이나 추세를 파악하기가 매우 어렵습니다.
다음 차트에는 동일한 정보가 포함되어 있지만 두 가지 기술을 사용하여 다르게 시각화되어 있습니다.

  1. 로그 스케일 : 우리는 일반적으로 가법 스케일의 데이터를 봅니다. 즉, 축(X 또는 Y)의 모든 점은 시각화된 데이터의 특정 양의 추가를 나타냅니다. 우리는 또한 곱셈 척도를 가질 수 있습니다. 이 경우 X축의 모든 새로운 점에 대해 곱합니다(이 예에서는 10씩). 이를 통해 포인트를 분산할 수 있으며 이전 차트에서와 같이 덧셈이 아닌 배수를 생각할 필요가 있습니다.
  2. 다른 마커 사용(더 큰 빈 원) : 마커에 대해 다른 모양을 선택하면 같은 위치에 여러 점이 겹쳐져 보기가 매우 어려운 "과도한 플롯" 문제가 해결되었습니다. 우리는 몇 점.

이제 1000만 마크 주변에 국가 클러스터가 있고 다른 작은 클러스터도 있음을 알 수 있습니다.

내가 언급했듯이 더 많은 유형의 문자 및 시각화 옵션이 있으며 주제에 대해 작성된 전체 책이 있습니다. 실험할 수 있는 몇 가지 흥미로운 아이디어를 제공하기를 바랍니다.

온크롤 데이터³

추가 데이터 세트에 대한 원활한 연결로 분석을 확장하십시오. CRM, 모니터링 솔루션 또는 기타 소스의 백링크, SEO 트래픽, 순위 및 사용자 지정 데이터 세트에 대한 데이터를 기반으로 SEO 전략을 분석합니다.
더 알아보기

모델

데이터를 단순화하고 패턴을 찾거나 예측을 하거나 단순히 더 잘 이해해야 합니다. 이것은 또 다른 큰 주제이며 단순히 요약 통계(평균, 중앙값, 표준 편차 등)를 얻는 것부터 데이터를 시각적으로 모델링하는 것, 추세를 요약하거나 찾는 모델을 사용하는 것, 데이터에 대한 수학 공식입니다. 또한 기계 학습을 사용하여 데이터에서 더 많은 통찰력을 발견할 수 있습니다.
다시 말하지만, 이것은 주제에 대한 완전한 토론은 아니지만 도움이 될 몇 가지 기계 학습 기술을 사용할 수 있는 몇 가지 예를 공유하고 싶습니다.

크롤링 데이터 세트에서 저는 404 페이지에 대해 조금 더 배우려고 노력하고 있었고 페이지에 대해 뭔가를 발견할 수 있다면. 나의 첫 번째 시도는 페이지 크기와 상태 코드 사이에 상관관계가 있는지 확인하는 것이었습니다. 거의 완벽한 상관관계가 있었습니다!
나는 몇 분 동안 천재처럼 느껴졌고 곧 행성 지구로 돌아왔습니다.
404 페이지는 모두 페이지 크기의 매우 좁은 범위에 있었으며 특정 킬로바이트 수를 가진 거의 모든 페이지에는 404 상태 코드가 있었습니다. 그런 다음 정의에 따라 404 페이지에는 "404 오류 페이지" 외에 다른 내용이 없다는 것을 깨달았습니다! 그래서 그들은 같은 크기를 가졌습니다.

그런 다음 콘텐츠가 상태 코드에 대해 알 수 있는지 확인하기로 결정하여 URL을 요소로 분할하고 sklearn을 사용하여 의사 결정 트리 분류기를 실행했습니다. 이것은 기본적으로 의사결정 트리를 생성하는 기술이며, 규칙을 따르면 목표를 찾는 방법을 배울 수 있습니다(이 경우 404페이지).
다음 의사 결정 트리에서 각 상자의 첫 번째 줄은 따르거나 확인할 규칙을 보여주고 "샘플" 줄은 이 상자에서 찾은 관찰의 수이고 "클래스" 줄은 현재 관찰의 클래스를 나타냅니다. , 이 경우 상태 코드가 200 또는 404인지 여부입니다.
더 자세한 내용은 다루지 않겠습니다. 의사 결정 트리에 익숙하지 않은 경우 의사 결정 트리가 명확하지 않을 수 있으며 관심이 있는 경우 원시 크롤링 데이터 세트 및 분석 코드를 탐색할 수 있습니다.
기본적으로 의사 결정 트리가 알아낸 것은 URL의 디렉토리 구조를 사용하여 거의 모든 404페이지를 찾는 방법이었습니다. 보시다시피 URL의 두 번째 디렉토리가 "/dev/"(위에서 두 번째 줄의 첫 번째 하늘색 상자)인지 확인하는 것만으로 3,617개의 URL을 찾았습니다. 이제 우리는 404를 찾는 방법을 알고 있으며 사이트의 "/dev/" 섹션에 거의 모두 있는 것 같습니다. 이것은 확실히 엄청난 시간 절약 효과였습니다. 이 규칙을 찾기 위해 가능한 모든 URL 구조와 조합을 수동으로 살펴보는 것을 상상해 보십시오.
우리는 여전히 전체 그림과 이런 일이 일어나는 이유를 알지 못하며, 더 추적할 수 있지만 적어도 지금은 해당 URL을 매우 쉽게 찾을 수 있습니다.

사용에 관심이 있을 수 있는 또 다른 기술은 데이터 포인트를 다양한 그룹/클러스터로 그룹화하는 KMeans 클러스터링입니다. 이것은 알고리즘이 존재하지 않는 패턴을 발견하는 데 도움이 되는 "비지도 학습" 기술입니다.

많은 숫자가 있다고 가정해 보겠습니다. 국가의 인구를 가정해 보겠습니다. 그리고 이를 크고 작은 두 그룹으로 그룹화하려고 합니다. 어떻게 하시겠습니까? 어디에 선을 그을 것인가?
이것은 상위 10개 국가 또는 상위 X% 국가를 얻는 것과 다릅니다. 이것은 매우 쉬울 것입니다. 국가를 인구별로 정렬하고 원하는 대로 상위 X개를 얻을 수 있습니다.
우리가 원하는 것은 이 데이터 세트를 기준으로 이들을 "큰" 및 "작은"으로 그룹화하고 국가 인구에 대해 아무것도 모른다고 가정하는 것입니다.
이는 국가를 소, 중, 대의 세 가지 범주로 클러스터링하려는 시도로 더 확장될 수 있습니다. 5개, 6개 또는 그 이상의 그룹을 원하는 경우 수동으로 수행하기가 훨씬 더 어려워집니다.
상위 X개 국가를 요구하지 않기 때문에 각 그룹에 포함되는 국가 수는 알 수 없습니다. 두 개의 클러스터로 그룹화하면 큰 그룹에 중국과 인도의 두 국가만 있음을 알 수 있습니다. 이 두 국가의 평균 인구는 다른 모든 국가와 매우 다르기 때문에 직관적으로 이해됩니다. 이 국가 그룹에는 자체 평균이 있으며 해당 국가는 다른 그룹의 국가보다 서로 가깝습니다.

인구별로 두 그룹으로 묶인 국가

인구 측면에서 세 번째로 큰 국가(미국 ~3억 3천만 명)는 인구가 백만인 국가를 포함하여 다른 모든 국가와 함께 그룹화되었습니다. 3억 3천만이 13억보다 1백만에 훨씬 더 가깝기 때문입니다. 세 개의 클러스터를 요청했다면 다른 그림을 얻었을 것입니다.

인구별로 세 그룹으로 묶인 국가

다음은 4개의 클러스터를 요청하면 국가가 클러스터링되는 방식입니다.

인구에 따라 4개 그룹으로 묶인 국가

출처: Poordata.org("클러스터 국가" 탭)

이것은 이 경우 인구라는 하나의 차원만 사용하여 클러스터링했으며 차원을 더 추가하고 국가의 최종 위치를 확인할 수 있습니다.
다른 많은 기술과 도구가 있으며 이는 흥미롭고 실용적인 몇 가지 예일 뿐입니다.

이제 우리는 우리의 연구 결과를 청중과 소통할 준비가 되었습니다.

의사소통하다

이전 단계에서 수행한 모든 작업이 끝나면 결국 다른 프로젝트 이해 관계자에게 결과를 전달해야 합니다.
데이터 과학에서 가장 중요한 도구 중 하나는 대화형 노트북입니다. Jupyter 노트북은 가장 널리 사용되며 거의 모든 프로그래밍 언어를 지원하며 동일한 방식으로 작동하는 RStudio의 특수 노트북 형식을 사용하는 것이 좋습니다.
주요 아이디어는 데이터, 코드, 내러티브 및 시각화를 한 곳에 모아 다른 사람들이 감사할 수 있도록 하는 것입니다. 투명성과 재현성을 위해 이러한 결론과 권장 사항에 도달한 방법을 보여주는 것이 중요합니다. 다른 사람들이 동일한 코드를 실행하고 동일한 결과를 얻을 수 있어야 합니다.
또 다른 중요한 이유는 "미래의 당신"을 포함한 다른 사람들이 분석을 더 발전시키고 당신이 수행한 초기 작업을 바탕으로 개선하고 새로운 방식으로 확장할 수 있는 능력입니다.
물론 이것은 청중이 코드에 익숙하고 코드에 관심이 있다는 가정을 전제로 합니다!
또한 코드를 제외하고 노트북을 HTML(및 기타 여러 형식)로 내보내는 옵션이 있으므로 사용자 친화적인 보고서를 만들면서도 전체 코드를 유지하여 동일한 분석 및 결과를 재현할 수 있습니다.

커뮤니케이션의 중요한 요소는 데이터 시각화이며 위에서도 간략히 다루었습니다.
더 좋은 것은 대화형 데이터 시각화로, 청중이 값을 선택하고 차트와 메트릭의 다양한 조합을 확인하여 데이터를 더 자세히 탐색할 수 있습니다.
다음은 수행할 수 있는 작업에 대한 아이디어를 제공하기 위해 만든 몇 가지 대시보드 및 데이터 앱(일부는 로드하는 데 몇 초가 소요될 수 있음)입니다.
결국, 특별한 요구 사항과 요구 사항을 충족하기 위해 프로젝트에 대한 사용자 지정 앱을 만들 수도 있습니다. 여기에 당신에게 흥미로울 수 있는 또 다른 SEO 및 마케팅 앱 세트가 있습니다.

우리는 데이터 과학 주기의 주요 단계를 거쳤고 이제 "파이썬 배우기"의 또 다른 이점을 살펴보겠습니다.

Python은 자동화와 생산성을 위한 것입니다. 사실이지만 불완전합니다.

파이썬을 배우는 것은 주로 생산적인 작업 및/또는 작업 자동화를 위한 것이라는 믿음이 있는 것 같습니다.
이것은 절대적으로 사실이며 수동으로 수행하는 데 걸리는 시간보다 훨씬 짧은 시간에 작업을 수행할 수 있다는 가치에 대해 논의할 필요가 없다고 생각합니다.
인수의 다른 누락된 부분은 데이터 분석 입니다. 우수한 데이터 분석은 통찰력을 제공하며 이상적으로는 전문 지식과 보유한 데이터를 기반으로 의사 결정 프로세스를 안내하는 실행 가능한 통찰력을 제공할 수 있습니다.

우리가 하는 일의 큰 부분은 무슨 일이 일어나고 있는지 이해하고, 경쟁을 분석하고, 가장 가치 있는 콘텐츠가 어디에 있는지 파악하고, 무엇을 할지 결정하는 것입니다. 우리는 컨설턴트, 고문 및 의사 결정자입니다. 데이터에서 통찰력을 얻을 수 있다는 것은 분명히 큰 이점이며 여기에 언급된 영역과 기술은 이를 달성하는 데 도움이 될 수 있습니다.

제목 태그의 평균 길이가 60자라는 것을 알게 된다면 어떻게 될까요?
조금 더 깊이 파고들어 제목의 절반은 60개 미만이고 나머지 절반에는 더 많은 문자가 있다는 것을 발견하면(평균 60개) 어떻게 될까요? In order to get practical and provide good recommendations, you need a higher-resolution view of your title tags' lengths, probably a histogram that shows the frequency of your title tag lengths at each interval so you can have a separate strategy for length. A simple table would also do, for example:

Splitting title lengths by intervals of twenty was an arbitrary decision, and you can split them the way you want. Looking at the table above, and seeing that we have three times more than the average titles in the interval (0, 20), we might want to split it further to better understand what is going on.
Having a better view than the default single-statistic summaries that we get from standard tools, allows us to employ different strategies for different lengths. For example, we can remove the brand name from the titles that are longer than a certain number of characters, and keep it in other titles.
This was an example of very simple insights, which are possible due to the flexibility we get by using a programming language, and a set of data science tools. This also allows us to iterate and modify our approach, until we find a satisfactory point that can take our analysis to the next steps.

Visualization, machine learning, modeling and general data manipulation skills allow us to get better insights on our data, even though those analyses are typically done only once. Still, if you use code to get those insights, you can always take some parts and apply to other projects, or again to the same project. In this case, the insights we got, helped us in our automation, even more. The insights would tell us what needs to be automated and what doesn't.

Should you learn Python?

Is a useless question, and the more useful one is, “How much Python (or R) should you learn?”

My view of how we use computers has evolved in the last few years.
I used to think that there were two main ways of using computers, either you are a regular user, using “point-and-click” applications to do certain tasks, or you are a developer who creates those applications that the rest of us use.

I then realized that it is more like a continuum between very high level use (pizza ordering approach), and the lower levels of the farm approach. I also realized that there is a happy sweet spot in between, where you learn enough programming to get productive and boost your data analysis skills, without having to become a software developer or engineer.

What are the main differences between being a programmer (a software user), and a software developer (or engineer)?

What are the differences between making a great coffee at home, versus establishing and running a cafe?
If making good coffee is one skill, then running a cafe requires ten other skills, most of which have nothing to do with making coffee.
You have to choose a good location (real estate), hire people (management and HR), manage cash flow and finances (accounting and finance), do marketing, legal, manage delivery, adhere to cleanliness and health standards, and so on. You can be a great coffee maker without knowing anything about those fields, but if you want to take it to the next level, you will have to manage all those additional tasks unrelated to making coffee.
The same applies to being a good programmer or data analyst versus being a software developer/engineer. There are so many other things that you have to know and worry about that you don't need as a regular programmer doing stuff for yourself and co-workers and clients. Once you have enough knowledge and skills in programming and data science, you will be in a good position to choose and decide whether you want to continue as an analyst, focusing on data science, or if you want to end up creating software that other people would use.

How do I get into Data Science?

To learn anything I think you have to do two things in parallel:

  1. Learn the fundamentals and the theory properly: Taking courses and reading books, and getting into the fundamentals can push you forward, as you will be gaining in weeks, knowledge that took decades to establish. It would also immediately give you ideas on things you thought were impossible, or had no idea existed.
  2. Get as much real world exposure and experience as possible: Experience is always important, and my suggestion is to try as soon as you can to read_csv with Python or R, to actually do so with your GA, GSC, or crawl dataset. See what else you can do (visualize, manipulate, model, etc.). See if you get errors, try to analyze the data only using your programming language.

What does frustration look like, and by when will I get productive?

It's difficult to say, and it depends on your skill, background, the hours you put in, but visualizing it like this might help you on those frustrating unproductive days:

My suggestion is to take a non-trivial task, for example running an SEO audit for a site, only using Python. Your first session will mostly be frustrating, and most of the time will be spent checking documentation, and the definition of basic terms.
In parallel, you are still going through your course, and learning new stuff.
The value of that frustrating session is that it informs and motivates your theoretical learning. You will have questions in mind, and when you learn new things, you will immediately have a place to implement them.
Your next analysis session will probably be a little more productive, but still not productive enough to do at work. You go again to your learning and theory.
Do this enough times, and your time will become mostly productive, eventually you will be doing real work during working hours. The ideal scenario is where you are productive enough to do work, but every time use some time to research better techniques, which improves your work as well. By then you will start to get paid for learning, and your clients will be happily sponsoring you!

제안된 다음 단계

For the learning path a Data Science course would be great, especially if you get feedback on your work, and you can follow the topics in the order recommended.

If you go with Python I suggest the following libraries:

  • pandas: The workhorse of all your tasks in preparing, cleaning, reshaping data whichever way you want. Fluency in pandas allows you to have full control over your data, which will help you immensely in visualization, general analysis, and machine learning
  • Plotly and Dash: This is my favorite data visualization library, although there are many others. What I mostly like about it, is that it produces interactive and responsive HTML charts by default. It is very detailed and thorough in its options, yet simple to use. Plotly also includes Plotly Express, which is a high-level plotting tool, which is more intuitive to use, and takes a data-oriented approach (as opposed to a chart-oriented approach). Plotly also created Dash, which is the tool for creating interactive dashboards, but also serves as a full front-end web development framework. Other important data visualization libraries are matplotlib, altair, and bokeh, and for interactive data apps, there is panel and streamlit. Another important feature is that Plotly and Dash are available in all languages used in Data Science. You might use other libraries, and this is just my personal preference. Speaking of personal preferences:
  • advertools: This is a library that I created to provide various online marketing tools, most importantly, an SEO crawler, log file parser and compressor, multi robots.txt parser, recursive sitemap parser, SEM keyword and text ad generator for large scale campaigns, weighted frequency word counter, Google SERP downloader, YouTube data API, and a few other tools. It is still evolving, and you are more than welcome to contribute any suggestions, bugs, or issues you might have with it.

These should be enough for beginners, and when you are familiar with them, you can do your own research for more specialized libraries, machine learning and deep learning tools, or libraries that are specialized in performance, or a special niche use-case.