Задание
С помощью языка Python, машинного обучения и нейронных сетей провести анализ клиентской базы сервисной компании. За основу взять Амазон и СДЭК и провести соответствующий анализ. По компании СДЭК с помощью машинного обучения оценить степень удовлетворенности службой доставки. По компании Амазон проанализировать тональность отзывов, необходимо определить является ли отзыв положительным или отрицательным.
Функционал программы
Анализ удовлетворенности доставкой компании СДЭК и анализ тональности отзывов.
Содержание отчета к программе
1 ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ЯЗЫКА PYTHON И АНАЛИЗА ДАННЫХ.. 5
1.1 Язык программирования Python. 5
1.2 Понятие искусственного интеллекта. 11
1.3 Использование Python при работе с большими данными. 13
1.4 Краткая характеристика нейронных сетей. Разработка полносвязной нейронной сети. 16
2 ПРИМЕНЕНИЕ ТЕХНОЛОГИЙ BIG DATA, MACHINE LEARNING И НЕЙРОННЫХ СЕТЕЙ ДЛЯ АНАЛИЗА ДАННЫХ СЕРВИСНОЙ КОМПАНИИ.. 21
2.1 Понятие Big Data. 21
2.2 Постановка задачи. 22
2.3 Анализ клиентской базы СДЭК с применением технологий Big Data и Machine Learning. 23
2.4 Анализ тональности текста клиентских отзывов компании Amazon с применением технологий Big Data и нейронных сетей LSTM и GRU.. 33
ЗАКЛЮЧЕНИЕ. 47
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ. 49
Фрагмент программного кода
import pandas service_data = pandas.read_excel("service_data.xlsx") # открываем файл с данными service_data.head() # выводим записи на экран service_data.salary.describe() # делаем выборку по зарплате service_data.salary.hist() # Строим график по зарплате service_data.age.hist() # Строим график по возрасту service_data.city.value_counts().plot(kind='barh') service_data.shipping_cost.value_counts().plot(kind='bar') service_data.delivery_speed.value_counts().plot(kind='barh') final_data = pandas.get_dummies(service_data, columns=['city', 'products', 'shipping_cost', 'delivery_speed']) final_data X = final_data.drop('target', axis=1) # Данные на основе которых мы построим прогноз y = final_data.target # Данные, которые мы хотим спрогнозировать from sklearn.ensemble import BaggingClassifier y.value_counts() forest = BaggingClassifier() # можно указывать настройки модели forest.fit(X, y) # обучаем модель X.head(1) # выводим данные {col:[0] for col in X.columns} # добавляем данные в список example = {'salary': [190000], 'age': [25], 'city_Екатеринбург': [0], 'city_Киев': [0], 'city_Краснодар': [0], 'city_Минск': [0], 'city_Москва': [0], 'city_Новосибирск': [0], 'city_Омск': [0], 'city_Петербург': [1], 'city_Томск': [0], 'city_Хабаровск': [0], 'city_Ярославль': [0], 'products_Ноутбук': [1], 'products_Планшет': [1], 'products_Смартфон': [0], 'products_Электронная книга': [1], 'shipping_cost_200': [0], 'shipping_cost_250': [0], 'shipping_cost_300': [0], 'shipping_cost_350': [0], 'shipping_cost_500': [1], 'delivery_speed_2': [0], 'delivery_speed_4': [0], 'delivery_speed_5': [0], 'delivery_speed_6': [0], 'delivery_speed_10': [1]} example_df = pandas.DataFrame(example) forest.predict(example_df) # проанализировали степень удовлетворенности клиентов forest.predict_proba(example_df)
Скриншот архива с проектом
Пояснения по запуску программы
Тут все просто как апельсин. Открываем Google Colab, загружаем файлы блокнота, открываем файл DSA и подключаем виртуальную среду выполнения, загружаем файл Excel, запускаем ячейки и смотрим на результат, при необходимости меняем параметры модели, и повторяем процедуру, смотрим на результат. То же самое с файлом Amazon, но предворительно необходимо скачать архив с моего DrobBox загрузить на свой и поменять ссылку в блокноте Google Colab. После чего запустить по очереди каждую ячейку , посмотреть на результат работы нейронной сети. При необходимости изменить текст собственного отзыва, чтобы первый например стал отрицательным а второй положительным.
admin