Читаете в 21 веке? Ты серьезно !!!

Доктор Сюсс, американский писатель однажды сказал:

Чем больше вы будете читать, тем больше узнаете.

Но как? Как много читать! Зачем читать? Как получить мотивацию к чтению? Если вы ищете эти ответы, то вы на правильной странице!

В поисках ответа на вопрос: «Что побуждает вас читать?» Я просил разных людей ответить на этот вопрос. Изначально я думал написать простую статью, основываясь на разных полученных мной ответах. Затем я подумал, могу ли я критически проанализировать ответы.

Хм… критически проанализировать! но как?

Что ж, в нашу эпоху, когда даже дети используют машинное обучение для прогнозирования количества Eidi, которое они получат от своего дедушки, почему бы нам не использовать машинное обучение для анализ читательских привычек разных людей.

Итак, чтобы приступить к нашему анализу, нам нужен материал.

Вещи, которые нам нужны

  1. Набор данных
  2. Алгоритмы машинного обучения
  3. Kaggle.com

И я думаю, что у нас закончится бюджет, если мы продолжим добавлять что-то! так что на данный момент достаточно ...

Некоторая важная информация о нашем наборе данных

В наборе данных 3 столбца, а именно:

  1. Отметка времени
  2. Пол
  3. Что побуждает вас читать статьи, книги, блог о технологиях, новости и т. Д.?

Мы остановимся только на 3-м столбце.

  • Это будет использоваться для общего анализа различных ответов, имеющихся в наборе данных.

А теперь перейдем к настоящей игре.

Пусть начнется игра!

  • Первым делом загрузите набор данных (файл .csv) на Kaggle.
  • Наши Данные пока не готовы к анализу, потому что в них может быть много аномалий. Например; Пропущенные значения, стоп-слова, знаки препинания и т. Д. Нам нужно избавиться от всего этого, и это явление называется очисткой данных. Чтобы очистить данные, мы сначала извлечем единственный столбец, который нам нужно очистить, то есть столбец, содержащий ответы на вопрос: «Что побуждает вас читать статьи, книги, технологические блоги, новости и т. Д.?», Да! 3-й столбец. Мы преобразуем этот столбец в массив, используя приведенный ниже код:
#to split the answers (just the last column of dataset i.e. 'What motivates you to Read articles, books, technology blogs, news etc ?' )
from collections import Counter
split = [] #empty array to store the result of splitted data
for i in range(48):
    s = df['What motivates you to Read articles, books, technology blogs, news etc ?'][i].lower().split()
    split+= s #adding splitted values in the empty list
print(split)
  • Давайте теперь очистим наши данные. Код ниже сделает это:
from collections import Counter
import numpy as np
from nltk.corpus import stopwords
stop = stopwords.words('english')
useful_words = words[0].apply(lambda x: ''.join([word for word in x.split() if word not in (stop)]))  # removing English stop words from the dataset
#print(useful_words)
spacefree = pd.DataFrame(useful_words) #converting useful_words list into dataframe
spacefree[0].replace('', np.nan, inplace=True) #replacing empty strings with NAN in the dataframe
spacefree[0].replace('.', np.nan, inplace=True) #replacing . with NaN in the dataframe
spacefree[0].replace(',', np.nan, inplace=True) #replacing , with NAN in the dataframe
spacefree[0].replace('-', np.nan, inplace=True) #replacing - with NAN in the dataframe
Counter(spacefree[0].dropna(axis=0, how='any')) #droping all NAN from the dataframe
df_vals = spacefree[~spacefree[0].isnull()] #If previous dropna failed then this will drop all the null values from the dataframe, I don't know but this was working like this
df_vals
  • df_vals кадр данных выглядит так:

  • Теперь, когда у нас есть аккуратные и чистые данные (в некоторой степени), мы готовы применить аналитические методы к этим данным.

Анализ

  • Первый метод, который мы собираемся использовать, - это кластеризация слов, чтобы получить наиболее часто используемые слова вместе с их счетчиком. Простой! нравится:
Count = Counter(df_vals[0]) #to get the word count of cleaned data
C = Count.most_common(20) #to get 20 most common words with their count
C = pd.DataFrame(C)       #converting the 20 most common words with their word count into dataframe
  • Давайте построим 20 самых часто используемых слов в ответ на вопрос: «Что побуждает вас читать?»
#Plotting 20 most common words Dataframe with the help of a bar chart
C.plot.bar(x=0, y=1, rot=100)

  • Из приведенной выше гистограммы ясно видно, что слово «Знание» является наиболее часто повторяющимся словом после слова «прочитал».
  • Теперь применим классификатор дерева решений к нашим данным. (Помните, что сейчас мы просто используем 3-й столбец нашего исходного набора данных).
  • Чтобы статья оставалась простой и ориентированной на результат, я не буду вдаваться в подробности классификации дерева решений и того, как я ее использовал. Если вам интересно узнать всю процедуру, которой я следовал, вы можете найти ее здесь. Моя оценка точности составила 57,89.
  • Без сомнения, оценка точности 57,89 - это не так уж и хорошо. Но все же для данных, содержащих всего 47 строк: p это можно рассматривать как круто:)

Наконец, давайте поговорим о результатах или ответе на вопрос «Что мотивирует « их » читать? ”

Отвечать

Анализируя данные, я обнаружил следующие мотивы привычки читать:

  • Получить «знания».
  • Получить информацию о «новых» технологиях.
  • Чтобы не отставать от «мира».
  • Есть «желание» «читать».
  • Есть «интерес» к чтению.
  • Чтобы оставаться «в курсе».

Некоторые другие результаты

Из набора данных я также обнаружил:

  • Большинство людей предпочитают читать художественные книги, а не электронные статьи и технические блоги.
  • Те, кто читают научно-популярные книги и технические блоги, потому что это требование их области, и они хотят оставаться в курсе.
  • Большинство людей не интересуются новостями.
  • Один из миллиона, о, я имею в виду… у каждого 47-го нет мотивации читать.
  • Большое количество людей рассматривают «Чтение» только как «чтение внеклассных книг».

Да-да! мы проанализировали данные ...

Но ждать! вы, возможно, думаете о том, «где же ответ на:« Как мотивировать себя к чтению? »». Так,

Ну вот…

В наборе данных говорится:

Самая большая мотивация для чтения - получить как можно больше знаний, чтобы наиболее эффективно играть свою роль в этом мире. И получить награду в дальнейшем.

Однажды я взял интервью у Dr. Зишан Уль Хасан Усмани (специалист по данным), и он сказал:

Постарайтесь узнать как можно больше, проводите десятки MOOC каждый месяц, много читайте (минимум 100 страниц в день) и не беспокойтесь. На данном этапе неразумно иметь мнение обо всем. Течь, как вода, и собирать столько, сколько сможете за эти годы. Не упускайте ни единого шанса путешествовать, читать, учиться и общаться с хорошими людьми.

Я знаю, минимум 100 страниц в день, вероятно, максимум: p

В конце я хотел бы поблагодарить всех, кто принимал участие в этапе сбора данных во всех отношениях. Надеюсь, вам понравилась эта статья и вы получили ответы.

Оставайся классным :)