この情熱的なセルフペースコレクションリポジトリでは、これまでに取り組んできた多くの機械学習、データマイニング、データエンジニアリングの課題が見つかります。このガイドラインを通して、プロジェクトとリポジトリの詳細を説明します。
以下のML、データマイニング、データエンジニアリングに関連するリポジトリをチェックしながら楽しむことを願っています。
プロジェクトに関する詳細情報を取得したいときはいつでも私に連絡することができます。
| 問題 | 方法 | libs | レポ |
|---|---|---|---|
| ランディングページの変換 | AB Testing 、 Z test | pandas 、 statsmodel | クリック |
| ファッションミスト(CNN)モデルのテンソルボードとMLFlowへの統合 | CNN 、 Deep Learning | Keras 、 MLflow 、 Pandas 、 Sklearn | クリック |
| Dockerを介してApache FlinkアプリケーションをDockerizeします | 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 | クリック |
| ドイツ、オーストリア、フランスの販売に対するPROMOS(PROMO1、PROMO2)の影響を予測する | Random Forest Regressor 、 ARIMA 、 SARIMAX | statsmodels 、 pandas 、 sklearn 、 seaborn | クリック |
| Pysparkのランダムフォレスト分類チュートリアル | Random Forest Classifier | Spark (PySpark) 、 Sklearn 、 Pandas 、 Seaborn | クリック |
| 空間データ強化:Kdtreeを使用して2つのジオロケーションデータセットに参加してください | Kd-tree | cKDTree | クリック |
| JavaでのゼロからK-Meansアルゴリズムの実装 | K-Means | Java SDK | クリック |
| rapidMinerで干渉を使用して、AWSのスポット価格を予測します | Adaboost Classifier 、 Decision Tree | Rapidminer | クリック |
下にスクロールして、プロジェクトの詳細を包括的に確認し、リポジトリにアクセスしてください。
| 問題 | データ | 方法 | libs | リンク |
|---|---|---|---|---|
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 )に関して、いくつかの実験をn回シミュレートしました。このシミュレーションでデータセットに関するさらなるアイデアを得た後、帰無仮説と代替論文を想定しました。代替仮説の真実を主張するために、アルファ(0.05)に関してZ test方法を使用してZ臨界スコアを計算し、実験の効果サイズに関するベータとパワーをチェックアウトしました。
いくつかの重要な写真を使用して、仮説テストとA/Bテストに関する詳細情報を取得するには、 ab_test.mdをチェックすることができることに注意してください。
| 問題 | データ | 方法 | libs | リンク |
|---|---|---|---|---|
Prediction | ファッションミスト | CNN 、 Deep Learning | Keras 、 MLflow 、 Pandas 、 Sklearn | https://github.com/erdiolmezogullari/ml-fmnist-mlflow-tensorboard |
このプロジェクトでは、Dockerコンテナテクノロジーを使用して、MLプラットフォームをゼロから作成しました。これは、すでにdocker-compose.ymlですでに構築されている4つの異なるDockerコンテナ(MLFLOW、ノートブック、ポストグレス、テンソルボード)で構成されています。
コンテナの詳細は./platform platformディレクトリの下にあります。各コンテナサービスには、プラットフォームディレクトリの下にディレクトリ(MLFLOW、ノートブック、ポストグレス、テンソルボード)に対応する特定のDockerFileがあります
| 問題 | データ | 方法 | 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 ClusterとFlink Appをゼロとは別に起動しました。 Flink Cluster(プラットフォーム)は、docker-compose.flink.ymlですでに構築されている2つの異なるDockerコンテナ(JobManager、TaskManager)で構成されています。 Flinkアプリケーションは、既にDockerFile(./App-flink-base/dockerfile)を使用している1つのDockerコンテナとシェルスクリプト(./App-flink-base/run.sh)で構成され、JARファイルをDocker-compose-papp-flink.ymlのクラスターに送信します。
| 問題 | データ | 方法 | libs | リンク |
|---|---|---|---|---|
Implementation | n/a | 検索( BFS 、 DFS ) | GO 、 Neo4j 、 Redis 、 Docker 、 Docker-Compose | https://github.com/erdiolmezogullari/de-crawler-as-a-service |
このプロジェクトでは、Simple Crawler Serviceがゼロから実装され、 DockerとDocker-composeを使用してRedisおよびNeo4j NoSQLシステムに統合されました。 Crawlerサービスは、最初のターゲットURLをcrawっており、その後、Fetted HTMLドキュメントの残りのURLをそれぞれ再帰的に訪問します。 URLに対応するHTMLドキュメントをrawっている間、2つの異なる検索アルゴリズム( BFS, DFS )のうち1つを参照できます。これらの検索アルゴリズムは、クロールサービスをスピードアップするために、 GOルーチンのgo routinesによって後押しされました。
クロール中に、作成されるgoルーチンの束が同じHTMLドキュメントを同時に取得して処理する可能性がある可能性があります。この場合、クローラーは一貫性のないデータを作成する場合があります。したがって、このプロジェクトでは、その問題を解決し、堅牢で一貫したシステムを構築するために、 Redis Key-Value NoSQLシステムを使用して推奨されました。
各URLは、HTMLドキュメントで他の異なるURLまたはそれ自体を参照する場合があります。 2つの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-アクション |
このプロジェクトでは、音楽を聞いているリスナーが行うアクションをスキップする確率を予測する必要があります。すでに誰もがラベル付けされているクラスはないので。この状況では、問題を解決できるターゲットラベルを作成する必要があります。したがって、連続ターゲット変数はターゲット機能として選択する必要があります。私たちが作成した機能によると、 per_listen (percentage of listen)アクションをスキップすることについて明らかにアイデアを提供するため、その問題により適しています。ターゲット機能として選択すると、この問題は、リスニング時間の比率が0〜1になるため、スコアリング/確率の問題が発生します。
その問題をクラスフィケーションの問題に変換したい場合は、Acitonをスキップするためのトレッションを推定することを決定できます。 per_listen 、リスナーが聴いたトラックの割合の量を示します。したがって、私たちのしきい値は25%、51%でさえ50%である可能性があります。ただし、決定を下す前に、 per_listenの補完的な累積分布関数(CCDF)をチェックアウトできます。それは私たちの理想的なしきい値についてのアイデアを与えるでしょう。次のプロットによると、Per_listen値が0.5を超えるインスタンスの65%があります。したがって、0.5は妥当ですが、それについてより現実的に考えると、0.5未満0.25未満がスキップアクションを決定する方が適しています。
| 問題 | データ | 方法 | libs | リンク |
|---|---|---|---|---|
Classification | ヘアスタイルデータセット | LightGBM 、 TF-IDF | Sklearn 、 LightGBM 、 Pandas 、 Seaborn | https://github.com/erdiolmezogullari/ml-hairstyle-classification |
このプロジェクトでは、データセットには、Instagramから採掘され、ショーケースに基づいてクラスター化されたサンプル10000画像が含まれています。
変数cluster 、視覚認識アルゴリズムによって画像が割り当てられたヘアスタイルクラスターを表します。
各行には、画像へのリンクといいねurlの数と画像ごとのcommentsの数が含まれています。 user_id 、投稿が来るInstagramアカウントの一意のIDであり、変数id投稿自体に関連付けられた一意の識別子です。
各投稿には、画像がInstagramに投稿された場合、日付( date_unix )がunix形式で含まれており、さらに日付は異なる形式( date_week > noniso番号、 date_month >月、>フルdate_formated DD/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)を実行する前にスタチノリーデータセットを取得する必要があると、完璧にビーセットを使用すると、平均分布の面での正規分布の事前術が既に満たされているため、容易に定常データセットに基づいています。したがって、EDAで観察できる場合は、トレンドに関連するデータの貴重な洞察と季節性の洞察を公開するために、いくつかのEDA技術を適用することにより、生データセットを掘り下げる必要があります。データ分析段階を完了した後、EDAで得られる知識に従ってデータセットで実行するために、利用可能な最良の手法(Arima、Sarimaxなど)を選択する必要があります。
EDA段階では、時間ベースの機能(年、月、日、平日、四半期)ごとに、ボックスプロット、ローリング統計(平均、STD)などのテクニックを適用して、特定のプロット上の3つの時系列コンポーネントのうち2つのコンポーネント(トレンド、季節性)を見つけます。これらのプロットは、開始する前にTSAに合理的なフィードバックを提供します。
TSA段階では、StatsmodelsパッケージでそれぞれArimaとSarimaxを使用して、非季節および季節の承認のためのさまざまなモデルを構築します。
TSAの最も困難な部分は、それらの技術の最適なパラメーター(P、D、Q)および(P、D、Q、S)を見つけることであるため、自己相関(ACF)および部分自己相関(PACF)が機能して、自己妊娠モデル(AR)またはSAIENSの平均化モデル(AR)またはSAINasの自動飼育モデル(AR)またはSARの移動モデルの動作モデル(AR)またはSARの動作モデルを実行するという重要な時間相関を見つけるために言及します。 (サム)。
| 問題 | データ | 方法 | libs | リンク |
|---|---|---|---|---|
Classification | ファッションデータセット | LightGBM 、 TF-IDF | Sklearn 、 LightGBM 、 Pandas 、 Seaborn | https://github.com/erdiolmezogullari/multi-label-classification |
このプロジェクトでは、データセットはさまざまなファッションWebサイトで収集されました。以下のような7つのフィールドで構成されています。
id :一意の製品識別子name :当社のウェブサイトに表示される製品のタイトルdescription :製品の説明price :製品の価格shop :この製品を購入できるショップbrand :製品ブランドlabels :この製品に適用されるカテゴリラベルテキスト機能(名前、説明)は、英語、ドイツ語、ロシア語など、さまざまな言語です。ターゲット機能の形式は、ファッションWebサイトのカテゴリに対応するタグ付けされたマルチサーベル(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スパムデータセットを使用しましたが、これは純粋にクリーンなデータセットではありません。データは、コンテキストやクラスなどの2つの異なる列(機能)で構成されています。列のコンテキストは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)モデルに取り組んだテキスト分類問題に関連しています。
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-imbalanced-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-analysis-on-sales-data |
このプロジェクトでは、プロモーションに関する新しい洞察を得るために、時系列分析を実行する必要があります。 Radio、Promo1、Promo2に対応するテレビなど、2つのタイプのプロモーションを提供している店があり、ドイツ、オーストリア、フランス全体で販売を増やしたいと考えています。ただし、どのプロモーションがそれを行うのに十分であるかについては考えていません。したがって、プロモーションが販売に与える影響は、彼らの好みに対する重要な役割です。
明確に定義されたプロモーション戦略を定義するには、プロモーションの影響に関してデータを分析する必要があります。その場合、データは時系列に基づいているため、かつて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を実行して機械学習モデルを構築した後ML based micro-serviceがRESTとDockerの上に開発されました。
docker-composeを使用して、以下のマイクロサービスを起動しました。
1.Jupyter Notebook,
2.Restful Comm. (Flask),
3.Redis
3つの異なるコンテナを作成した後、MLASSの準備が整いました。
| 問題 | データ | 方法 | 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 |
このプロジェクトでは、K-MeansクラスタリングアルゴリズムがJavaにゼロから実装されました。データセット: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-pot-pot-pot- |
このプロジェクトでは、サードパーティの人々によって収集され、いくつかの特定のWebサイトからリリースされたパブリックデータを使用します。データは主にAmazon Webサービス(AWS)Elastic Computing(EC2)に関連するため、いくつかの異なるフィールドで構成されます。 EC2は、AWSのクラウド内の一種の仮想マシンです。仮想マシンは、必要なときにいつでもAWSよりもプライベートクラウドまたはパブリッククラウドのいずれかで間に合うように作成できます。 CPU、RAM、ストレージ、およびネットワークバンドの制限に関して、ゼロから1回作成する前に、新しい仮想マシンをさまざまな仕様と構成に関して選択できます。また、EC2マシンは、世界中の仮想マシンの可用性を高めるために、さまざまな地理的地域(米国東部、米国西部、EU、アジア太平洋、南アメリカ)のAWSによって分離および管理されています。 AWSにはさまざまなセグメンテーションがあり、さまざまな目標(マクロインスタンス、汎用、最適化、ストレージ最適化、GPUインスタンス、メモリ最適化)に基づいてAWSによってシステム仕様に関して分類されました。支払いオプションは、専用、オンデマンド、スポットインスタンスです。顧客の運用に異なるコストを獲得するため、顧客は目標と予算に応じてさまざまな種類の仮想マシンを好む場合があります。一般に、Spotインスタンスは他のオプションよりも安価です。ただし、市場価格が最大入札を超えると、スポットインスタンスが中断される場合があります。私たちの研究では、スポットインスタンスの支払いに焦点を当てます。このプロジェクトでの私たちの目的は、顧客の要件に応じて、Spotインスタンス市場から正しいAWSインスタンスを選択することです。ストリーミングデータで決定ツリーを実行して、その場で決定を下すことを計画しています。データが継続的に変化しているため、決定ツリーの増分バージョンとして実装される場合があります