Как пассивно-агрессивный регрессор может помочь вам расти!

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

Поэтому создателям контента необходимо анализировать свои данные в Instagram, чтобы обеспечить устойчивый рост. Именно здесь применение науки о данных в социальных сетях становится актуальным. С этой целью в этой статье представлено исчерпывающее руководство по анализу охвата Instagram с использованием Python, которое может помочь создателям контента понять и адаптироваться к меняющейся природе Instagram.

Анализ переходов в Instagram

Как исследователь, я потратил немало времени на изучение охвата Instagram и анализ того, как работает алгоритм платформы. Для этого я каждую неделю собираю данные об охвате моих постов в Instagram, чтобы получить представление об алгоритме платформы. Хотя для анализа охвата Instagram доступны некоторые API, они не всегда надежны, что делает сбор данных вручную более эффективным.

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

Анализируя собранные данные, мы можем выявить тенденции и закономерности, которые помогут нам предсказать, как будут работать наши публикации в Instagram. С помощью методов машинного обучения мы можем создавать модели, которые могут точно предсказывать охват наших сообщений.

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

Анализ Instagram с помощью Python

Чтобы начать анализ охвата моей учетной записи Instagram, мы начнем с импорта необходимых библиотек и наборов данных Python.

!pip install wordcloud #The code installs the Python package "wordcloud" using pip, which allows for the creation of word clouds in Python.
import pandas as pd  #data cleaning and analysis
import numpy as np  #perform a wide variety of mathematical operations on arrays
import matplotlib.pyplot as plt  #creating static, animated, and interactive visualizations
import seaborn as sns # making statistical graphics 
import plotly.express as px  #  to create beautiful interactive web-based visualizations
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator # to show which words are the most frequent in the given text
from sklearn.model_selection import train_test_split
from sklearn.linear_model import PassiveAggressiveRegressor # Used to shuffle the training data, when shuffle is set to True
#The code reads the data from a CSV file named "Instagram data.csv" using pandas library
data = pd.read_csv("Instagram data.csv", encoding = 'latin1')


#prints the first 5 rows of the dataset.
print(data.head()) 

Перед началом любой задачи было бы полезно проверить, нет ли каких-либо пропущенных значений в этом наборе данных.

#The code calculates the sum of null values in each column of the 'data' dataset.
data.isnull().sum() 

Таким образом, он не имеет нулевого значения, поэтому здесь нет необходимости выполнять «дропна».

Чтобы понять тип данных всех столбцов, мы можем изучить информацию, предоставляемую каждым столбцом.

#prints information about number of entries, columns, data types, and memory usage.
data.info()

Изучение степени влияния Instagram

Давайте начнем с изучения того, как далеко распространились мои посты в Instagram. Первоначально я буду оценивать степень просмотра моих постов из моего собственного местоположения, анализируя распределение показов.

#creates a plot showing the distribution of impressionhome using the fivethirtyeight style.
plt.figure(figsize=(10,8))
plt.style.use('fivethirtyeight')
plt.title("Distribution of Impression from Home")
sns.distplot(data["From Home"])
plt.show()

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

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

#creates a histogram using Seaborn to visualize the distribution of the "From Hashtags" data column in a pandas dataframe called "data".

plt.figure(figsize=(10,8))
plt.title("Distributio of Imprressions From Hashtags")
sns.distplot(data["From Hashtags"])
plt.show()

Хэштеги служат средством для классификации наших постов в Instagram, что позволяет нам расширить охват до более широкой аудитории в зависимости от типа контента, который мы производим. Анализ влияния хэштегов на наши сообщения показывает, что не все сообщения можно обнаружить только с помощью хэштегов, но они потенциально могут связать нас с новыми пользователями.

Чтобы еще больше проиллюстрировать этот момент, давайте рассмотрим распределение показов, которое я получил в разделе «Исследования» в Instagram.

#generates a histogram of the distribution of impressions from Explore and displays it using the seaborn library.

plt.figure(figsize=(10,8))
plt.title("Distribution of Impressions From Explore")
sns.distplot(data["From Explore"])
plt.show()

Раздел «Исследовать» в Instagram служит рекомендательной системой платформы, предлагая пользователям персонализированные предложения для публикаций в зависимости от их интересов и предпочтений. Анализ показов, полученных из этого раздела, показывает, что наши посты не часто рекомендуются пользователям алгоритмом Instagram. Хотя некоторые посты набрали популярность благодаря разделу «Исследуйте», общий охват заметно ниже по сравнению с тем, что было достигнуто за счет использования хэштегов.

Теперь давайте рассмотрим распределение процента показов по разным источникам в Instagram.

#sums up the values in different columns ("From Home", "From Hashtags", "From Explore", and "From Other") in a pandas DataFrame called "data" and assigns the results to respective variables named "home", "hashtags", "explore", and "other".
home = data["From Home"].sum()
hashtags = data["From Hashtags"].sum()
explore = data["From Explore"].sum()
other = data["From Other"].sum()

#creates two lists, "labels" and "values", with four elements each, where the elements in "labels" are strings and the elements in "values" are variables that hold some numerical data.
labels = ["From Home", "From Hashtags", "From Eplore", "Other"]
values = [home, hashtags, explore, other]


fig = px.pie(data, values=values, names= labels,
            title = "Impressions on Instagram Posts From Various Sources", hole = 0.5)
fig.show()

Предыдущая круговая диаграмма показывает, что 44,1% взаимодействия с аудиторией происходит от людей, которые следуют за создателем контента, а 33,6% — от использования хэштегов. Более того, 19,2% вовлеченности связано с контентом, представленным в разделе «Исследовать», а остальные 3,05% — из различных источников.

Анализ содержания

Давайте приступим к изучению содержания моих постов в Instagram, проанализировав набор данных, содержащий два отдельных столбца, а именно «заголовок» и «хэштеги». Этот анализ даст нам ценную информацию о типе контента, которым я делюсь в Instagram.

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

#generates a word cloud visualization of the text in the "Caption" column of a dataset, with stopwords removed and a white background color.

text = " ".join(i for i in data.Caption)
stopwords = set(STOPWORDS)
wordcloud = WordCloud(stopwords = stopwords, background_color="white").generate(text)
plt.style.use("classic")
plt.figure(figsize=(12,10))
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()

Давайте создадим визуальное представление столбца хэштегов в виде облака слов, чтобы проанализировать распространенные хэштеги, используемые в моих постах в Instagram.

#generates a word cloud visualization from a collection of hashtags in a given dataset.

text = " ".join(i for i in data.Hashtags)
stopwords = set(STOPWORDS)
wordcloud = WordCloud(stopwords=stopwords, background_color="white").generate(text)
plt.figure(figsize=(12,10))
plt.imshow(wordcloud, interpolation="bilinear")
plt.axis("off")
plt.show()

Анализ отношений

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

Давайте рассмотрим корреляцию между количеством лайков и показов моего контента в Instagram.

figure = px.scatter(data_frame = data, x="Impressions", 
                   y = "Likes", size = "Likes", trendline = "ols",
                   title = "Relationship Between Likes and Impressions")
figure.show()

Существует корреляция между количеством полученных лайков и охватом аудитории через Instagram.

Теперь мы рассмотрим связь между количеством комментариев и количеством просмотров моих постов в Instagram.

figure = px.scatter(data_frame = data, x = "Impressions", y = "Comments", size = "Comments",
                   trendline = "ols", title = "Relationship Between Comments and Total Impressions")
figure.show()

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

В дальнейшем мы проанализируем корреляцию между количеством репостов и количеством показов.`

figure = px.scatter(data_frame = data, x = "Impressions", y = "Shares", size = "Shares", trendline = "ols",
                   title = "Relationship Between Shares and Total Impressions")
figure.show()

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

Теперь давайте посмотрим, как количество сохранений связано с количеством показов.

figure = px.scatter(data_frame = data, x = "Impressions",
                   y = "Saves", size = "Saves", trendline = "ols",
                   title = "Relationship Between Post Saves and Total Impressions")
figure.show()

Существует корреляция между частотой сохранения моего поста в Instagram и степенью его охвата, что подразумевает линейную зависимость.

Давайте теперь рассмотрим корреляцию между всеми столбцами и столбцом Impressions.

correlation = data.corr()
print(correlation["Impressions"].sort_values(ascending=False))

Можно утверждать, что в Instagram большее количество лайков и сохранений на посте может способствовать увеличению охвата. Кроме того, увеличение количества репостов также может оказать положительное влияние на охват. Однако малое количество репостов вряд ли существенно повлияет на охват.

Анализ коэффициента конверсии

Термин «коэффициент конверсии» в Instagram относится к доле подписчиков, полученных по отношению к количеству посещений профиля, полученных от определенного поста. Чтобы определить коэффициент конверсии, можно использовать формулу, которая включает в себя деление количества подписчиков на количество посещений профиля и умножение результата на 100. Для иллюстрации давайте рассмотрим коэффициент конверсии моей личной учетной записи Instagram.

conversion_rate = (data["Follows"].sum() / data["Profile Visits"].sum()) * 100
print(conversion_rate)
41.00265604249668

Коэффициент конверсии моего аккаунта в Instagram составляет 41%, что свидетельствует о благоприятном исходе.

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

figure = px.scatter(data_frame = data, x = "Profile Visits", y = "Follows",
                   size = "Follows", trendline = "ols",
                   title = "Relationship Between Profile Visits and Followers Gained")
figure.show()

Существует прямая зависимость между количеством посещений профиля и увеличением числа подписчиков. Эту корреляцию можно описать как линейную зависимость.

Модель прогнозирования охвата в Instagram

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

x = np.array(data[['Likes', 'Saves', 'Comments', 'Shares', 
                   'Profile Visits', 'Follows']])
y = np.array(data["Impressions"])
xtrain, xtest, ytrain, ytest = train_test_split(x, y, 
                                                test_size=0.2, 
                                                random_state=521)

Вот методология обучения модели машинного обучения с использованием Python для прогнозирования охвата публикации в Instagram.

model = PassiveAggressiveRegressor()
model.fit(xtrain, ytrain)
model.score(xtest, ytest)
0.933839144607709

Далее мы будем использовать модель машинного обучения, предоставив входные параметры, чтобы сделать прогноз потенциального охвата поста в Instagram.

features = np.array([[282.0, 233.0, 4.0, 9.0, 165.0, 54.0]])
model.predict(features)
array([11514.08805704])

Краткое содержание

Использование методов машинного обучения в Python может позволить человеку оценивать и прогнозировать потенциальный охват постов в Instagram. Чтобы создатель контента добивался стабильного успеха в Instagram, необходимо тщательно изучить свои данные об охвате. Поэтому включение науки о данных в социальные сети имеет важное значение. Мы надеемся, что эта статья об анализе охвата Instagram с использованием Python была информативной. Пожалуйста, не стесняйтесь задавать любые соответствующие вопросы в разделе комментариев ниже.

Репозиторий GitHub: https://github.com/k98vishwas/Instagram-Account-Analysis-

Заключение

Если вы обнаружите какие-либо трудности при следовании части кода, укажите их в разделе комментариев.

Спасибо за чтение! Дайте мне знать в комментарии или на LinkedIn, если вы считаете, что это помогло или не помогло. У меня есть еще несколько статей, которые я пишу и буду публиковать их каждые пару недель. В основном это аккаунты из моего проектного опыта. Если есть какие-либо другие вопросы или что-то еще, о чем вы хотели бы услышать, пожалуйста, не стесняйтесь отправить запрос.