在这个充满激情的自节奏集合存储库中,您将发现许多机器学习,数据挖掘和数据工程挑战到目前为止。在整个指南中,您将浏览项目和存储库的详细信息。
我希望您会在下面查看与ML,数据挖掘和数据工程相关的存储库时喜欢。
每当您想获得有关项目的更多信息时,您都可以联系我。
| 问题 | 方法 | libs | 仓库 |
|---|---|---|---|
| 着陆页的转换 | AB Testing , Z test | pandas , statsmodel | 点击 |
| 将时尚MNIST(CNN)模型集成到张板和MLFlow中 | CNN , Deep Learning | Keras , MLflow , Pandas , Sklearn | 点击 |
| 通过Docker对Apache Flink应用程序进行扩展 | 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 | 点击 |
| 它会抓住整个垃圾邮件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 | 点击 |
| 预测促销(促销,促销2)对德国,奥地利和法国的销售的影响 | Random Forest Regressor , ARIMA , SARIMAX | statsmodels , pandas , sklearn , seaborn | 点击 |
| Pyspark中的随机森林分类教程 | Random Forest Classifier | Spark (PySpark) , Sklearn , Pandas , Seaborn | 点击 |
| 空间数据丰富:使用KDTREE加入两个地理位置数据集 | Kd-tree | cKDTree | 点击 |
| Java中从头开始实现K-均值算法 | K-Means | Java SDK | 点击 |
| 通过在RapidMminer上使用AdabooSosting来预测AWS现货价格 | Adaboost Classifier , Decision Tree | Rapidminer | 点击 |
请向下滚动以全面查看项目的详细信息并访问其存储库。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Conversion | 零售 | AB Testing , Z test | pandas , statsmodel | https://github.com/erdiolmezogullari/ml-ab-testing |
在此项目中,对Udacity的课程数据集进行了A/B测试。它由5列组成, <user_id, timestamp, group, landing_page, converted> 。在A/B测试中,我们使用了其中的3列, group, landing_page, and converted 。
我们曾经模拟了一些实验n对于已经在数据集获得的转换率( control, treatment )方面。通过此模拟获得了有关数据集的进一步想法后,我们认为一个零假设和另一种论文。为了声称我们对替代假设的真实性,我们通过使用Z test方法对alpha(0.05)计算了z的临界评分,然后我们检查了beta,并就实验的效果大小进行了功能。
请注意,您可以查看ab_test.md ,以获取有关假设测试和A/B测试的更多信息,并使用一些重要照片。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Prediction | 时尚麦克尼斯特 | CNN , Deep Learning | Keras , MLflow , Pandas , Sklearn | https://github.com/erdiolmezogullari/ml-fmnist-mlflow-tensorboard |
在此项目中,我们使用Docker容器技术从头开始创建ML平台。它由四个不同的Docker容器(MLFLOW,笔记本,Postgres,Tensorboard)组成,它们已经在docker-compose.yml中构建
可以在./platform目录下找到容器的详细信息。每个集装箱服务都有一个特定的Dockerfile,与平台目录下的目录(MLFLOW,笔记本,Postgres,Tensorboard)相对应
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Implementation | 单击流数据集 | 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群集和Flink应用程序,分别从头开始。 Flink群集(平台)由两个不同的Docker容器(JobManager,TaskManager)组成,它们已经在Docker-Compose.flink.yml中构建。 Flink应用程序由一个已经使用dockerfile(./app-flink-base/dockerfile)和shell脚本(./app-flink-base/run.sh)的Docker容器组成,将JAR文件群群集成到Docker-compose-appose-app-flink.yml中。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Implementation | N/A。 | 搜索( BFS , DFS ) | GO , Neo4j , Redis , Docker , Docker-Compose | https://github.com/erdiolmezogullari/de-crawler-as-a-service |
在这个项目中,从头开始实施了简单的爬网服务,并通过使用Docker和Docker-compose集成了Redis和Neo4j Nosql系统。爬网服务正在爬行第一个目标URL,然后分别访问被提取的HTML文档中的其余URL,并递归。在爬行与URL相对应的HTML文档时,它可以指2个不同的搜索算法( BFS, DFS )中的1个。那些搜索算法通过GO go routines提高了,以加快爬行服务的速度。
在爬行期间,可能会创建的一系列GO例程可能会同时获取并处理相同的HTML文档。在这种情况下,爬虫可能会产生不一致的数据。因此,在此项目中,首选Redis键值NOSQL系统可以解决该问题并构建强大且一致的系统。
每个URL可以在HTML文档中指其他不同的URL或自身。两个URL之间的关系可以称为链接。有一种简单的简单方法可以使用特定的数据结构(图形)来表示这些爬行的链接和URL。因此,使用Neo4j图NOSQL来表示和可视化由URL和链接组成的图。在爬行期间,爬网服务要么为每个URL创建一个新的节点,要么为每个URL对创建一个新的链接,也可以通过使用Cypher查询来更新Neo4j上的现有节点和链接。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Prediction | 音乐数据集 | LightGBM , Linear Reg , Logistic Reg. | Sklearn , LightGBM , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-prediction-skip-action |
在这个项目中,我们需要预测听众正在倾听音乐的跳过动作的可能性。由于我们没有任何人都标有任何班级。在这种情况下,我们需要创建一个可以解决问题的目标标签。因此,任何连续目标变量均应被选为目标特征。根据我们创建的功能, per_listen (percentage of listen)将更适合该问题,因为它显然给出了跳过操作的想法。如果我们选择它作为目标功能,则此问题将出现评分/概率问题,因为听力时间比率在0到1之间。
如果我们想将该问题转换为分类问题,我们可以确定跳过Aciton作为重击的treshold。 per_listen表示听众收听的曲目中有多少百分比。因此,我们的阈值可能为25%,甚至51%,依此类推。但是,在做出决定之前,我们可以查看per_listen的补充累积分布功能(CCDF)。这将为我们的推理阈值提供一个想法。根据以下图,我们有65%的实例,其per_listen值大于0.5。因此,0.5是合理的,但是,当我们考虑到更现实时,少于0.5左右的0.5左右将更合适地确定任何跳过动作。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Classification | 发型数据集 | LightGBM , TF-IDF | Sklearn , LightGBM , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-hairstyle-classification |
在此项目中,数据集包含从Instagram开采的样本10000图像,并根据它们展示的发型聚类。
变量cluster表示图像已通过视觉识别算法分配给图像的发型群集。
每一行都包含变量url ,该URL是图像的链接,以及每个图像的comments数量。 user_id是Instagram帐户的唯一ID,帖子来自该帐户,可变id是与帖子本身关联的唯一标识符。
当图像发布在Instagram上时,每个帖子都包含UNIX格式的日期( date_unix ),此外,日期已转换为不同格式( date_week > non -iso本周数量, date_month > date_month-> date_formated >全日期/mm/yy),部分用于先前分析。随意以适合您分析的方式转换该变量。
此外,将分类器influencer_flag添加到每个具有500多个喜欢的图像中,并将其标记为有影响力的帖子。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
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)完美地进行时间序列分析(TSA)之前获得一分之二的数据集,它将很容易地对固定数据集进行倾向,因为它已经大致满足了平均值和差异的正态分布的序列。因此,我们需要通过应用一些EDA技术来深入研究RAW数据集,以揭示与趋势相关的数据的宝贵见解,如果可以在EDA中观察到的季节性。完成数据分析阶段后,我们需要根据我们在EDA中获得的知识来选择最佳可用技术(例如Arima,Sarimax)在数据集上执行。
在EDA阶段,我们将按照基于时间的特征(年,月,月,日,工作日和季度)(按时间基于时间的特征(年,月份,每日,工作日和四分之一))应用大量技术,以发现3个成分(趋势,季节性),分别是特定绘图的3个时间序列组件中的2个组件(趋势,季节性)。这些图将在开始之前为TSA提供合理的反馈。
在TSA舞台上,我们将分别在StatsModels软件包中使用Arima和Sarimax来建立不同的非季节和季节性土地模型。
由于TSA最具挑战性的部分是找到这些技术的最佳参数(p,d,q)和(p,d,q,s),因此我们将指出自相关(ACF)和部分自相关(PACF)功能,以在执行自动层压模型(sarsals)或移动模型(MA)或移动模型(MA)和移动的术语(MA)或移动的术语(MA)和移动的术语(MA)或移动模型(MA)或移动(MA)中。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Classification | 时尚数据集 | LightGBM , TF-IDF | Sklearn , LightGBM , Pandas , Seaborn | https://github.com/erdiolmezogullari/multi-label-classification |
在此项目中,数据集是通过不同时尚网站收集的。它由下面的7个字段组成。
id :独特的产品标识符name :产品标题,如我们网站上显示的description :产品的描述price :产品的价格shop :您可以购买此产品的商店brand :产品品牌labels :适用于此产品的类别标签文字功能(名称,描述)的语言不同,例如英语,德语和俄语。目标特征的格式是多标签(60个类别),它们根据时尚网站中的类别对应而进行标记。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
NLP | 文本 | Naive Bayesian , SVM , Random Forest Classifier , Deep Learning - LSTM , Word2Vec | Sklearn , Keras , Gensim , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-spam-sms-classification |
在这个项目中,我们应用了监督学习(分类)算法和深度学习(LSTM)。
我们使用了公共SMS垃圾邮件数据集,该数据集并非纯粹是干净的数据集。数据由两个不同的列(功能)组成,例如上下文和类。列上下文是指SMS。列类可以采用与相关SMS上下文相对应的spam或ham值。
在应用任何监督的学习方法之前,我们应用了许多数据清洁操作,以摆脱凌乱而肮脏的数据,因为它具有一些破裂且混乱的上下文。
获得清洁的数据集后,我们通过使用Spacy分别创建了SMS语料库的令牌和引理,然后,我们分别生成了SMS语料库的单词袋和TF-IDF。除了这些数据转换外,我们还执行了SVD,SVC,PCA,以减少数据集的维度。
为了有效地管理培训和测试阶段中的数据转换并避免数据泄漏,我们使用了Sklearn的管道类别。因此,我们将每个数据转换步骤(例如bag-of-word , TF-IDF , SVC )和分类器(例如Naive Bayesian , SVM , Random Forest Classifier )添加到类Pipeline实例中。
应用了那些有监督的学习方法后,我们也深入学习。我们使用的深度学习架构是基于LSTM。要在KERAS(TensorFlow)中执行LSTM征用,我们需要创建一个语料库的嵌入矩阵。因此,我们使用Gensim的Word2Vec方法来获得嵌入矩阵,而不是TF-IDF。
在不同分类器的每个处理结束时,我们绘制了混淆矩阵,以比较哪个用于过滤垃圾邮件SMS的最佳分类器。

| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
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
换句话说,您可以考虑这些小说是我们数据集的目标类别。为了区分实际的段落类别,段落中的语义潜在将发挥重要作用。因此,在创建Gensim's word2vec的嵌入矩阵之后,我们在Keras (Tensorflow)顶部使用了Deeplearing (LSTM) 。
如果相应段落中的句子中有任何语义潜在,我们会考虑相同的资源(小说)收集类似的段落。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Imbalanced Data | 汽车预订 | Random Forest Classifier | Sklearn , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-mml-mmbalanced-car-booking-data |
在这个项目中,我们建立了一个机器学习模型,该模型回答了这个问题, - 汽车预订数据集的客户偏好是什么。
我们通过使用Seaborn探索了数据集,并改造了必要的新功能。
另外,数据集的形状imbalanced 。这意味着目标变量的分布是偏斜的。为了克服这一挑战,已经有一些不同的技术(例如, over/under re-sampling techniques )和直观的方法。我们也尝试使用重采样技术来解决该问题。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Forecasting - Timeseries | 销售量 | Random Forest Regressor | statsmodels , pandas , sklearn , seaborn | https://github.com/erdiolmezogullari/ml time-series-series-analysis-on-sales-data |
在这个项目中,我们需要执行时间序列分析,以获得有关促销的新见解。有些商店提供了两种类型的促销,例如广播,电视与促销和促销相对应,以便他们想增加在德国,奥地利和法国的销售。但是,他们对哪个促销足以做到这一点不知道。因此,促销对其销售的影响是他们偏好的重要作用。
为了定义定义明确的促销策略,我们曾经需要根据促销的影响来分析数据。在这种情况下,由于数据基于时间序列,因此我们曾经提到使用time series decomposition 。在我们将observed数据分解为trend , seasonal和residual组成部分之后,我们清楚地暴露了促销的影响,以做出一个在每个国家 /地区更好的决定。
此外,我们在这个预测问题中使用了Random Forest Regression来增强我们的决定。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
ML Service | 随机生成 | Random Forest Classifier | Flask , Docker , Redis , Sklearn | https://github.com/erdiolmezogullari/ml-dockerized-microservice |
在这个项目中,通过执行Random Forest建立机器学习模型后,在REST和Docker上开发了ML based micro-service
我们使用docker-compose在下面启动了微服务。
1.Jupyter Notebook,
2.Restful Comm. (Flask),
3.Redis
创建三个不同的容器后,我们的鞋类就可以准备好了。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
PySpark | 随机生成 | Random Forest Classifier | Spark (PySpark) , Sklearn , Pandas , Seaborn | https://github.com/erdiolmezogullari/ml-random-forest-pyspark |
在此项目中,您可以找到与如何使用Pyspark Spark的MLLIB(随机森林分类器)以及通过Pyspark的管道有关的一堆示例代码。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Data Enrichment | 空间 | Kd-tree | cKDTree | https://github.com/erdiolmezogullari/ml-join-spatial-data |
在这个项目中,建立一个有效的脚本,该脚本根据其地理位置和机场的地理位置找到了最接近给定用户的机场。
为了使数据丰富,我们使用了Kd-tree算法。
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Implementation | 国家的统计数据 | K-Means | Java SDK | https://github.com/erdiolmezogullari/ml-k-means |
在此项目中,从头开始在Java中实现了K-均值聚类算法。数据集:https://en.wikibooks.org/wiki/data_mining_algorithms_in_r/clustering/k-means#input_data
| 问题 | 数据 | 方法 | libs | 关联 |
|---|---|---|---|---|
Forecasting, Timeseries Analysis | AWS EC2现货价格 | Adaboost Classifier , Decision Tree | Rapidminer | https://github.com/erdiolmezogullari/ml-forecasting-aws-spot-price |
在这个项目中,我们将使用公共数据,该数据由第三方人士收集并通过一些特定网站发布。由于我们的数据将主要与Amazon Web服务(AWS)弹性计算(EC2)有关,因此它将由一些不同的字段组成。 EC2是AWS云中的一种虚拟机。可以在需要时在AWS上通过私有或公共云上的及时创建虚拟机。可以根据CPU,RAM,存储和网络频段限制在从头开始创建它,就可以根据CPU,RAM,存储和网络频段限制来选择新的虚拟机。 EC2机器还由不同地理区域(美国东部,美国,欧盟,亚太地区,南美)的AWS分开和管理,以增加全球虚拟机的可用性。 AWS具有不同的细分,根据AWS将其分类为基于不同目标(宏实例,通用,计算优化,优化的存储,GPU实例,内存优化)。付款选项是专用的,按需和点实例。由于他们的运营成本不同,因此客户可能会根据目标和预算更喜欢不同种类的虚拟机。通常,现场实例比其余选项便宜。但是,如果市场价格超过我们的最高出价,则现货实例可能会中断。在我们的研究中,我们将专注于现货实例付款。我们在该项目中的目标是根据客户的要求从现货实例市场中选择正确的AWS实例。我们计划在流数据上执行决策树,以实行决定。由于数据正在连续更改,因此可以作为决策树的增量版本实现