在這個充滿激情的自節奏集合存儲庫中,您將發現許多機器學習,數據挖掘和數據工程挑戰到目前為止。在整個指南中,您將瀏覽項目和存儲庫的詳細信息。
我希望您會在下面查看與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實例。我們計劃在流數據上執行決策樹,以實行決定。由於數據正在連續更改,因此可以作為決策樹的增量版本實現