В этом страстном саморазрушенном хранилище сбора вы найдете множество проблем машинного обучения, интеллектуального анализа данных и разработки данных, которые я решал, до сих пор. На протяжении всего этого руководства вы будете проходить детали проектов и репозитории.
Я надеюсь, что вам понравится, проверяя эти репозитории, связанные с ML, интеллектуальным анализом данных и разработкой данных в таблице, ниже.
Вы можете связаться со мной, когда хотите получить дополнительную информацию о проектах.
| Проблема | Методы | Либера | Репо |
|---|---|---|---|
| Преобразование целевой страницы | AB Testing , Z test | pandas , statsmodel | Нажимать |
| Интеграция модели моды Mnist (CNN) в Tensorboard и Mlflow | CNN , Deep Learning | Keras , MLflow , Pandas , Sklearn | Нажимать |
| Dockerize приложение Apache Flink через Docker | Apache Flink Table & SQL | Apache Flink Table & SQL , Docker , Docker-Compose | Нажимать |
| Груплер как услуга | Поиск ( DFS , BFS ) | GO , Neo4j , Redis , Docker , Docker-Compose | Нажимать |
| Прогнозирование пропустить действие на наборе данных музыки | LightGBM , Linear Reg , Logistic Reg. | Sklearn , LightGBM , Pandas , Seaborn | Нажимать |
| Классификация прически | LightGBM , TF-IDF | Sklearn , LightGBM , Pandas , Seaborn | Нажимать |
| Анализ временных рядов Sarimax | ARIMA , SARIMAX | statsmodels , pandas , sklearn , seaborn | Нажимать |
| Проблема классификации с несколькими языками и мульти-маршрутом в модном наборе данных | LightGBM , TF-IDF | Sklearn , LightGBM , Pandas , Seaborn | Нажимать |
| Какой из них он ловит целый* Spam Sms? | Naive Bayesian , SVM , Random Forest Classifier , Deep Learning - LSTM , Word2Vec | Sklearn , Keras , Gensim , Pandas , Seaborn | Нажимать |
| К какому роману я принадлежу? | Deep Learning - LSTM , Word2Vec | Sklearn , Keras , Gensim , Pandas , Seaborn | Нажимать |
| Почему клиенты выбирают и бронируют конкретные транспортные средства? | Random Forest Classifier | Sklearn , Pandas , Seaborn | Нажимать |
| Прогнозирование воздействия промо (Promo1, Promo2) на продажи в Германии, Австрии и Франции | Random Forest Regressor , ARIMA , SARIMAX | statsmodels , pandas , sklearn , seaborn | Нажимать |
| Учебник по классификации случайных лесов в Pyspark | Random Forest Classifier | Spark (PySpark) , Sklearn , Pandas , Seaborn | Нажимать |
| Пространственное обогащение данных: соедините два набора данных геолокации с помощью KDTree | Kd-tree | cKDTree | Нажимать |
| Внедрение алгоритма K-средних с нуля в Java | K-Means | Java SDK | Нажимать |
| Прогнозирование спотовой цены AWS, используя AdaBoosting на Rapidminer | Adaboost Classifier , Decision Tree | Rapidminer | Нажимать |
Пожалуйста, прокрутите вниз, чтобы увидеть подробности проектов и посетить их репозиторий.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Conversion | Розничная торговля | AB Testing , Z test | pandas , statsmodel | https://github.com/erdiolmezogullari/ml-ab-testing |
В этом проекте A/B -тестирование проводилось в наборе данных курса Udacity. Он состоит из 5 столбцов, <user_id, timestamp, group, landing_page, converted> . В тестировании A/B мы использовали 3 столбца из них, group, landing_page, and converted .
Однажды мы смоделировали некоторые эксперименты в отношении скорости конверсии ( control, treatment ), уже полученные по набору данных. После того, как мы получили дальнейшее представление о наборе данных с этим моделированием, мы предположили, что нулевая гипотеза и альтернативный тезис. Чтобы претендовать на нашу недействительную альтернативную гипотезу, мы рассчитали критическую оценку Z с использованием метода Z test относительно альфа (0,05), а затем мы проверили бета -версию и мощность относительно величины эффекта эксперимента.
Пожалуйста, обратите внимание, что вы можете проверить ab_test.md , чтобы получить дополнительную информацию о тесте гипотезы и A/B -тестировании с помощью некоторых важных фотографий.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Prediction | Мода Мнист | CNN , Deep Learning | Keras , MLflow , Pandas , Sklearn | https://github.com/erdiolmezogullari/ml-fmnist-mlflow-tensorboard |
В этом проекте мы использовали Docker Container Technologies для создания платформы ML с нуля. Он состоит из четырех различных контейнеров Docker (Mlflow, Notebook, Postgres, Tensorboard), которые уже встроены в docker-compose.yml
Детали контейнеров можно найти в каталоге ./platform . Каждая служба контейнера имеет определенный DockerFile, соответствующий каталогам (Mlflow, Notebook, Postgres, Tensorboard) в каталоге платформы
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Implementation | Щелкните набор данных Stream | Apache Flink Table & SQL | Apache Flink Table & SQL , Docker , Docker-Compose | https://github.com/erdiolmezogullari/de-flink-sql-as-a-docker |
В этом проекте мы использовали Docker Container Technologies, чтобы запустить Flink Cluster и приложение Flink отдельно с нуля. Flink Cluster (платформа) состоит из двух разных контейнеров Docker (Jobmanager, TaskManager), которые уже встроены в Docker-compose.flink.yml. Приложение Flink состоит из одного контейнера Docker, который уже использует Dockerfile (./app-flink-base/dockerfile) и скрипта оболочки (./app-flink-base/run.sh), чтобы отправить файл jar в кластер в Docker-compose-applink.yml.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Implementation | N/a | Поиск ( BFS , DFS ) | GO , Neo4j , Redis , Docker , Docker-Compose | https://github.com/erdiolmezogullari/de-rawler-as-a-service |
В этом проекте была реализована простой сервис Crawler с нуля и интегрирован в системы Redis и Neo4j NoSQL с использованием Docker и Docker-compose . Служба Crawler ползает по первым целевым URL, а затем посещает остальные URL -адреса в полученных документах HTML, соответственно и рекурсивно. Во время ползания документов HTML, соответствующих URL, это может относиться к 1 из 2 различных алгоритмов поиска ( BFS, DFS ). Те, кто ищет алгоритмы, были повышены под go routines GO , чтобы ускорить службу ползания.
Во время ползания существует вероятность того, что куча процедур GO может быть создана и обработать одни и те же документы HTML одновременно. В этом случае гусеница может создавать непоследовательные данные. Таким образом, система NOSQL Redis -Value была предпочтительнее, используя в этом проекте для решения этой проблемы и создания надежной и последовательной системы.
Каждый URL может относиться либо к другому различному URL, либо в HTML -документе. Эти отношения между двумя URL могут вызывать ссылку. Существует простой простой способ представить эти ползанные ссылки и URL -адреса, используя определенную структуру данных, которая является графом. Таким образом, nosql Neo4j noSQL использовался для представления и визуализации графика, который состоит из URL -адресов и ссылок. Во время ползания сервис ползания либо создает новый узел для каждого URL -адреса и новую ссылку для каждой пары URL, либо обновляет существующие узлы и ссылки на Neo4j с помощью Cypher запроса.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Prediction | Музыкальный набор данных | LightGBM , Linear Reg , Logistic Reg. | Sklearn , LightGBM , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-pedictication-skip-action |
В этом проекте мы должны предсказать вероятность пропуска действий, сделанных слушателями, которые слушают музыку. Поскольку у нас нет класса, уже помеченного кем -либо. В этих обстоятельствах нам нужно создать целевую этикетку, которая может решить проблему. Таким образом, любая непрерывная целевая переменная должна быть выбрана в качестве целевой функции. Согласно созданным нами функциям, per_listen (percentage of listen) будет более подходящим для этой проблемы, поскольку она, очевидно, дает представление о пропуске действий. Если мы выберем его в качестве целевой функции, эта проблема окажется проблемой оценки/вероятности из -за отношения времени прослушивания, которое дает от 0 до 1.
Если мы хотим преобразовать эту проблему в проблему класса, мы можем определить Treshold для пропуска Aciton, как правило. per_listen обозначает, сколько процента от трека, который слушал, слушал. Таким образом, наш порог может составлять 25%, 50% даже 51% и так далее. Однако, прежде чем принимать решение, мы можем проверить дополнительную функцию совокупного распределения (CCDF) per_listen . Это было бы дать представление о нашем пороге разумных. Согласно следующему участку, у нас есть 65% экземпляров, значение которого Per_listen больше 0,5. Следовательно, 0,5 является разумным, однако, когда мы думаем об этом более реалистичным, менее 0,5 около 0,25 были бы более подходящими, определить любое пропусковое действие.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Classification | Набор данных прически | LightGBM , TF-IDF | Sklearn , LightGBM , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-hairstyle-classiation |
В этом проекте набор данных содержит образец 10000 изображений, снятых из Instagram, и кластерированные на основе прически, которую они демонстрируют.
Переменный cluster представляет кластер причесок, которому изображение было назначено алгоритмом визуального распознавания.
Каждая строка содержит url переменной, который является ссылкой на изображение и количество лайков вместе с comments на изображение. user_id - это уникальный идентификатор учетной записи Instagram, из которой поступает пост, и id переменной - это уникальный идентификатор, связанный с самого поста.
Каждое сообщение содержит дату ( date_unix ) в формате Unix, когда изображение было размещено в Instagram, и, кроме того, дата была преобразована в различные форматы ( date_week -> Номер не -ISO недели, date_month -> Месяц, date_formated -> Полная дата DD/MM/YY) частично для использования в предыдущих анализах. Не стесняйтесь преобразовать эту переменную таким образом, чтобы соответствовать вашему анализу.
Кроме того, к каждому из изображений был добавлен influencer_flag , который имеет более 500 лайков, помечав их в качестве влиятельных постов.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Time Series Analysis | Рабочая статистика | ARIMA , SARIMAX | statsmodels , pandas , sklearn , seaborn | https://github.com/erdiolmezogullari/ml-time-series-analysis-sarimax |
В этом проекте мы используем метод анализа временных рядов, чтобы разложить наши данные на 3 компонента, такие как ниже:
1-Trend (T)
2-Seasonility (S)
3-Residual (R)
После того, как нам нужно получить стационарный набор данных, прежде чем выполнить анализ временных рядов (TSA) безупречно Beacuse, было бы легко сделать предсказание по сравнению с неподвижным набором данных, поскольку он уже примерно удовлетворит предварительные отростки с точки зрения среднего и дисперсии. Таким образом, нам нужно углубиться в набор данных RAW, применяя некоторые методы EDA, чтобы раскрыть ценную информацию о данных, связанных с тенденцией и сезонностью, если это возможно наблюдать в EDA. После того, как мы завершим этап анализа данных, нам нужно выбрать лучшие доступные методы (например, Arima, Sarimax) для выполнения набора данных в соответствии с нашими знаниями, мы получим в EDA.
На этапе EDA мы будем применять кучу методов, таких как распределение ящиков, статиктика катания (среднее значение, STD) к функциям, основанным на времени (год, месяц, день, недели и квартал), чтобы найти 2 компонента (тренд, сезонность) из трех компонентов временных рядов по сравнению с конкретными участками, Rougly. Эти сюжеты дадут разумную обратную связь для TSA перед началом его.
На стадии TSA мы будем создавать различные модели для не сезонных и сезонных настроек, используя Arima и Sarimax в пакете StatsModels, соответственно.
Поскольку наиболее сложными частями TSA является поиск оптимальных параметров (P, D, Q) и (P, D, Q, S) этих методов, мы будем ссылаться на функции автокорреляции (ACF) и частичной автокорреляции (PACF), чтобы выяснить значительные временные корреляции с точки зрения выполнения модели AUTOREGRESS MODEL (SAM) или SAMENSTORSER (MA) или SAENOSE AUTOROSEAROSAROSAROSAROSEROSEROSEROSEROSEROSEROSEROSEROSEROSEROSEROSEROSEROSERORESTORESTORESTORESTORESTORESTORESTORESTORESTORESTOR SAMER (SAME).
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Classification | Модный набор данных | LightGBM , TF-IDF | Sklearn , LightGBM , Pandas , Seaborn | https://github.com/erdiolmezogullari/multi-label-classiation |
В этом проекте набор данных был собран на различных веб -сайтах моды. Он состоит из 7 полей, как ниже.
id : уникальный идентификатор продуктаname : название продукта, как показано на нашем сайтеdescription : Описание продуктаprice : цена продуктаshop : магазин, из которого вы можете купить этот продуктbrand : бренд продуктаlabels : этикетки категории, которые применяются к этому продуктуТекстовые функции (имя, описание) находятся на разных языках, таких как английский, немецкий и русский. Формат целевой функции - многолетние (60 категорий), которые были помечены в соответствии с соответствующей категорией на веб -сайтах моды по -разному.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
NLP | Текст | Naive Bayesian , SVM , Random Forest Classifier , Deep Learning - LSTM , Word2Vec | Sklearn , Keras , Gensim , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-pam-sms-classiation |
В этом проекте мы применили алгоритмы под наблюдением под наблюдением (классификация) и глубокое обучение (LSTM).
Мы использовали общедоступный набор данных SMS -спама, который не является чисто чистым набором данных. Данные состоит из двух разных столбцов (функций), таких как контекст и класс. Контекст столбца относится к SMS. Класс столбцов может принимать значение, которое может быть либо spam , либо ham соответствующей соответствующему контексту SMS.
Перед тем, как применять какие -либо контролируемые методы обучения, мы применили кучу операций очистки данных, чтобы избавиться от грязных и грязных данных, поскольку в нем есть какой -то сломанный и грязный контекст.
После получения очищенного набора данных мы отдельно создали токены и леммы SMS-корпуса, используя Spacy, а затем мы создали мешок с словом и TF-IDF SMS-корпус, соответственно. В дополнение к этим преобразованию данных мы также выполнили SVD, SVC, PCA, чтобы уменьшить размер набора данных.
Чтобы эффективно управлять преобразованием данных в фазе обучения и тестирования и избежать утечки данных, мы использовали класс трубопровода Sklearn. Таким образом, мы добавляли каждый этап преобразования данных (например, bag-of-word , TF-IDF , SVC ) и классификатор (например, Naive Bayesian , SVM , Random Forest Classifier ) в экземпляр Pipeline класса.
После применения этих контролируемых методов обучения мы также совершили глубокое обучение. Наша архитектура глубокого обучения, которую мы использовали, основана на LSTM. Чтобы выполнить LSTM, приближающуюся к Keras (Tensorflow), нам нужно было создать матрицу встраивания нашего корпуса. Итак, мы использовали подход Gensim Word2VEC для получения матрицы встраивания, а не TF-IDF.
В конце каждой обработки различным классификатором мы построили матрицу путаницы, чтобы сравнить, какой из них лучший классификатор для фильтрации SPAM SMS.

| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
NLP | Текст | Deep Learning - LSTM , Word2Vec | Sklearn , Keras , Gensim , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-deep-learning-keras-novel |
Этот проект связан с проблемой классификации текста, которую мы решили с моделью Deeplearing (LSTM) , которая классифицирует заданные произвольные параграфы, собранные в течение 12 различных романов случайным образом, выше:
1. alice_in_wonderland
2. dracula
3. dubliners
4. great_expectations
5. hard_times
6. huckleberry_finn
7. les_miserable
8. moby_dick
9. oliver_twist
10. peter_pan
11. talw_of_two_cities
12. tom_sawyer
Другими словами, вы можете думать об этих романах, которые являются нашими целевыми классами нашего набора данных. Чтобы различить фактический класс абзаца, семантический скрытый среди абзацев будет играть важную роль. Поэтому мы использовали Deeplearing (LSTM) на вершине Keras (Tensorflow) после создания матрицы встраивания Gensim's word2vec .
Если в соответствующем абзаце есть какая -то семантическая скрытая скрытая, мы думаем, что подобные параграфы были собраны из тех же ресурсов (романов), скорее всего.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Imbalanced Data | Бронирование автомобиля | Random Forest Classifier | Sklearn , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-imbalanced-car-booking-data |
В этом проекте мы создали модель машинного обучения, которая отвечает на вопрос: что является набором данных о предпочтениях клиента.
Мы исследовали набор данных, используя Seaborn и Transformed, полученные новые функции, необходимые.
Кроме того, форма набора данных imbalanced . Это означает, что распределение целевой переменной искажено. Чтобы преодолеть эту проблему, уже есть несколько различных методов (например over/under re-sampling techniques ) и интуитивные подходы. Мы также пытаемся решить эту проблему, используя методы повторной выборки.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Forecasting - Timeseries | Продажа | Random Forest Regressor | statsmodels , pandas , sklearn , seaborn | https://github.com/erdiolmezogullari/ml-time-series-analysis-on-sales-data |
В этом проекте нам нужно провести анализ временных рядов, чтобы получить новое понимание промо. Существуют магазины, которые предоставляют два типа промо -акций, такие как радио, телевидение, соответствующее Promo1 и Promo2, поэтому они хотят увеличить свои продажи по всей Германии, Австрии и Франции. Тем не менее, они не имеют никакого представления о том, какого промо достаточно, чтобы сделать это. Таким образом, влияние промо на их продажи являются важными ролями их предпочтений.
Чтобы определить четко определенную промо-стратегию, нам когда-то необходимо анализировать данные с точки зрения воздействия промо. В этом случае, поскольку данные основаны на временных рядах, мы когда -то упоминали об использовании time series decomposition . После того, как мы разложились observed данные в trend , seasonal и residual компонентах, мы обнаружили влияние промо, чтобы явно принял решение, которое промо в каждой стране лучше.
Кроме того, мы использовали Random Forest Regression в этой проблеме прогнозирования, чтобы повысить наше решение.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
ML Service | Случайно генерируется | Random Forest Classifier | Flask , Docker , Redis , Sklearn | https://github.com/erdiolmezogullari/ml-dockerized-macroservice |
В этом проекте был разработан ML based micro-service REST Docker затем построил модель машинного обучения, выполнив Random Forest
Мы использовали docker-compose чтобы запустить микро службы ниже.
1.Jupyter Notebook,
2.Restful Comm. (Flask),
3.Redis
После того, как мы создали три разных контейнера, наше Mslas будет готово.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
PySpark | Случайно генерируется | Random Forest Classifier | Spark (PySpark) , Sklearn , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-random-forest-pyspark |
В этом проекте вы можете найти кучу образца кода, связанного с тем, как вы можете использовать Mllib (случайный лесной классификатор Pyspark Spark (случайный лесной классификатор) и трубопровод через Pyspark.
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Data Enrichment | Пространственный | Kd-tree | cKDTree | https://github.com/erdiolmezogullari/ml-join-patial-data |
В этом проекте создать эффективный сценарий, который находит ближайший аэропорт для данного пользователя на основе их геолокации и геолокации аэропорта.
Чтобы сделать это обогащение данных, мы использовали алгоритм Kd-tree .
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Implementation | Статистика стран | K-Means | Java SDK | https://github.com/erdiolmezogullari/ml-k-means |
В этом проекте алгоритм кластеризации K-средних был реализован на Java с нуля. Набор данных: https://en.wikibooks.org/wiki/data_mining_algorithms_in_r/clustering/k-means#input_data
| Проблема | Данные | Методы | Либера | Связь |
|---|---|---|---|---|
Forecasting, Timeseries Analysis | AWS EC2 Spot Price | Adaboost Classifier , Decision Tree | Rapidminer | https://github.com/erdiolmezogullari/ml-forecasting-aws-price |
В этом проекте мы будем использовать публичные данные, которые были собраны сторонними людьми и выпущены с помощью некоторых конкретных веб -сайтов. Поскольку наши данные будут в основном связаны с упругими вычислениями Amazon Web Services (AWS) (EC2), они будут состоять из некоторых различных полей. EC2 - это своего рода виртуальная машина в облаке AWS. Виртуальная машина может быть создана как раз вовремя, либо в частном или общественном облаке, когда вам это нужно. Новая виртуальная машина может быть выбрана в отношении различных характеристик и конфигураций с точки зрения процессора, оперативной памяти, хранилища и лимита сетевой полосы, прежде чем создавать его один раз с нуля. Машины EC2 также разделены и управляются AWS в различных географических регионах (США, восток, США, ЕС, Азиатско -Тихоокеанский регион, Южная Америка) и зоны, чтобы повысить доступность виртуальных машин по всему миру. AWS имеет различные сегментации, которые были классифицированы в отношении системных характеристик по AWS для основанных на различных целях (макроэкземпляры, общее назначение, вычисляют оптимизированные, оптимизированные хранилища, экземпляр GPU, оптимизированный память). Варианты оплаты выделены, ondemand и Spot Extance. Поскольку они получают различные затраты на работу клиента, клиенты могут предпочитать различные виды виртуальной машины в соответствии с их целями и бюджетами. В целом, Spot Encame дешевле, чем остальные варианты. Тем не менее, точечный экземпляр может быть прерван, если рыночная цена превышает нашу максимальную ставку. В нашем исследовании мы сосредоточимся на выплате экземпляров. Наша цель в этом проекте будет выбрать правильный экземпляр AWS на рынке экций спотовых экземпляров в соответствии с требованиями клиента. Мы планируем выполнить дерево решений на потоковых данных, чтобы принять решение на лету. Он может быть реализован как постепенная версия дерева решений, поскольку данные непрерывно меняются