著者: 禅とコンピュータープログラミングの芸術
1 はじめに
インターネット、モバイル インターネット、モノのインターネットなどの新しい通信テクノロジの広範な適用と普及に伴い、ますます多くの人がそれらをデータ ソースとして使用し始め、大量のデータが生成されています。これらのデータには、さまざまなセンサーからのデータに加え、ユーザーの行動ログ、ソーシャル ネットワーク データ、検索エンジンのキーワード データ、電子メール アドレスなどの非構造化データが含まれます。これらのデータの処理、分析、マイニングは、顧客のニーズを理解し、業務運営を最適化し、サービス品質を向上させるために非常に重要です。コンピューター ビジョン、パターン認識、自然言語処理、推奨システムなどの分野に従事する多くの科学研究者は、データ マイニング タスクを実行するときに多くの困難に遭遇することがよくあります。データマイニングのプロセスで遭遇する問題を誰もが解決できるように、この本は著者の機械学習と深層学習における長年の実務経験を組み合わせて、実際の経験に基づいて書かれており、最新の機械学習手法と深層学習を説明するよう努めています。アルゴリズムを理解しやすい言葉で解説すると同時に、実際に遭遇する可能性のあるいくつかの問題や課題にも焦点を当てています。本書は 6 章に分かれており、主な内容は次のとおりです。
- 概要: データマイニングの基本概念、分類、手法、評価指標、応用シナリオを紹介します。
- データ前処理: 欠損値処理、外れ値検出、データセット分割、特徴抽出、その他のテクノロジーなど、データを収集、クリーンアップ、準備する方法を紹介します。
- 特徴エンジニアリング: 特徴選択、次元削減、正則化、相互検証、その他のテクノロジーなど、特徴エンジニアリング テクノロジーを使用してモデルの効果を向上させる方法を紹介します。
- モデル構築: デシジョン ツリー、サポート ベクター マシン、ニューラル ネットワーク、クラスタリング、相関ルール、ツリー構造に基づくランダム フォレストなどのモデル構築手法を紹介します。また、モデルごとにいくつかの典型的なケースが示されています。
- モデル評価: 精度、再現率、F1 スコア、ROC 曲線、その他のパフォーマンス評価指標などの一般的に使用されるモデル評価指標と、グリッド検索法、ベイジアン パラメーター調整、ランダム検索法などのモデル パラメーター調整方法を紹介します。 。
- 概要と展望: データマイニングの主な研究方向と将来の開発方向がいくつか整理されています。
本書はデータサイエンス関係者だけでなく、機械学習やディープラーニングの実践者にも適しています。この本を学ぶことで、読者がデータ マイニング テクノロジをすぐに使い始め、複雑なビジネス データを効果的に分析およびマイニングできるようになることを願っています。
2. データマイニングの概要
2.1 データマイニングの概要
データマイニングとは、コンピューター技術に基づいて価値のある情報を分析、処理、発見するプロセスであり、通常、大量のデータを処理し、有効な情報を抽出し、人々が理解して行動できるようにその情報を要約して表現する必要があります。その目的は、既知または未知のトランザクションによって生成された大量のデータについて、データに隠された規則性、パターン、相関関係などを一定のパターンに従って分析、特定、分類、予測、または要約することです。
データ マイニングは次の分野で使用できます。
- 探索的データ分析: 大量のデータに対して探索的分析を実行して、意味のあるパターンを見つけ、隠れたシグナルを発見し、データ間の接続と差異を分析します。
- 予測分析: データ マイニング モデルを使用して、タスクを予測、分類、クラスタリング、および関連付けます。
- 製品とサービスの最適化: データ マイニング テクノロジーを使用して、より正確で競争力のある製品とサービスを開発します。
- 顧客分析:ユーザーの行動、消費習慣、趣味などのデータを分析することで、ユーザーの嗜好を把握し、企業により良いサービスを提供することができます。
- 財務リスク管理: データマイニング技術を使用して取引データを分析し、リスクの高い銘柄を特定し、リスク管理を実行します。
- 医療健康管理: データマイニング技術を使用して医療診断データを分析し、患者の症状を特定し、的を絞った治療を実行し、患者の治療の成功率を向上させます。
2.2 データマイニングの定義
データマイニングの定義は、データ、マイニング、ナレッジの 3 つの要素で構成されます。その中で、「データ」とは、さまざまなソースや種類のデータを指します。「マイニング」とは、データの内的な意味、パターン、法則を発見して明らかにすることを目的として、データを分析、要約、分類、洗練するプロセスを指します。データ;「知識」とは、分析結果を解釈、適用、推進するための一連の作業、つまりマイニングから得られた有効な情報を実行可能なビジネス上の意思決定やソリューションに変換するための一連の作業を指します。
2.3 データマイニングの分類
データマイニングは、タスクの種類、データソース、分析目的に応じて、次の 5 つのカテゴリに分類できます。
- テキスト マイニング: テキスト データを分析とマイニングに使用します。例: データ収集、検索ログ、Web ドキュメントの取得、スパム フィルタリングなど。
- 画像マイニング: 画像データを分析とマイニングに使用します。例: 顔認識、画像要約、画像分類、画像検索、物体認識、ビデオ監視など。
- シーケンス マイニング: 分析とマイニングに時系列データを使用します。例: 運動軌跡分析、交通流予測、株式市場分析など。
- 構造マイニング: 分析とマイニングに構造化データを使用します。例: 通信通話データ分析、航空宇宙データ分析、物流注文データ分析など。
- 半構造化データ マイニング: 分析とマイニングに半構造化データを使用します。例: Douban 映画レビュー データ分析、Weibo ホットスポット分析など。
2.4 データマイニングの応用シナリオ
データ マイニングは次のシナリオに適用できます。
- パターンと傾向の発見: 履歴データに対して統計分析、機械学習アルゴリズムのトレーニング、クラスター分析、相関分析を実行して、データに隠されたパターンとルールを発見し、データの予測、リスク評価、異常検出などを実行します。
- 提案の提供:マイニング分析の結果に基づいて、企業にビジネスサポート、製品提案、売上予測、サービス品質の最適化、革新的な製品開発などの提案を提供します。
- フィードバックシステム:ユーザーの行動、注文データ、ウェブログ、ソーシャルメディアデータ、Tiebaの投稿などを分析することで、インテリジェントな顧客サービス、パーソナライズされたレコメンデーション、商品の仕分け、支払い分析などの機能を実現できます。
- 製造生産管理:工場の設備や生産ラインの動作を監視し、故障を回避するために事前に安全対策を講じます。製造プロセスの自動化の程度をモデル化し、製品の品質と効率の関係を正確に把握し、製造コストを節約します。生産性を高める。
3. データの前処理
3.1 データ前処理の役割
データ前処理の目的は、後続のデータ マイニング タスクをスムーズに進めることができるように、データの品質と構造を良好にすることです。データの前処理は、データ収集、データ クリーニング、データ変換、正規化の 3 つの段階に分かれています。
データ収集
データ収集とは、さまざまなチャネル (データベース、ファイル、API インターフェイス、クローラーなど) から元のデータを取得することを指します。
データ収集には、定期収集とリアルタイム収集の 2 つの方法があります。定期収集とは頻繁に収集することを意味し、リアルタイム収集とはリアルタイム要件を満たすことを意味します。一般に、データが古いほど取得コストが高くなるため、定期的に収集されるデータが主流になりますが、データが古くなったり、更新が遅くなったりすると、リアルタイム データがより注目されます。
クリーンデータ
データ クリーニングとは、データの品質と整合性を確保するために、元のデータをチェック、変更、フィルタリング、結合、変換するなどの操作を指します。
データ クリーニングに含まれる基本的な操作は次のとおりです。
- フィールドの標準化: すべてのフィールドを同じ形式に統一して、その後の分析を容易にします。
- 欠損値の処理: データの品質を確保するために欠損値を追加します。
- 外れ値の検出: データ内の外れ値を検出し、いくつかの統計モデルを使用して、それらを削除する必要があるかどうかを判断します。
- 重複レコード処理: 同じレコードの場合、1 つのみが保持されます。
- フィールド分割: フィールドに複数の値がある場合、異なる列に分割できます。
- フィールドの結合: 2 つの類似したフィールドを結合して、その後の分析を容易にします。
- データ変換: タイムスタンプ変換、エンコード変換など、特定のフィールドを変換します。
- データ検証:データがデータ汚染を防ぐためのルールに適合しているかどうかを確認します。
データ変換と正規化
データの変換と正規化とは、データを標準形式に変換すること、またはその後の分析に必要なパラメーターを計算することを指します。データの変換と正規化により、データの品質が向上し、分析が容易になります。
データ変換と正規化に関係する基本的な操作は次のとおりです。
- 標準化: 後続の機械学習アルゴリズムの処理を容易にするために、データを平均 0、分散 1 の分布に変換します。
- ビニング: 連続変数をいくつかの離散ビンに離散化し、その後の分析を容易にします。
- 正規化: データを 0 と 1 の間にマッピングして、その後の比較を容易にします。
- エンコーディング変換: 機械学習アルゴリズムによる処理を容易にするために、さまざまなカテゴリを数値に変換するなど、ラベルをエンコーディングします。
3.2 データの前処理方法
データの前処理には主に 4 つの方法があります。
- 正規化: 特定のルールまたはアルゴリズムを通じてデータを標準形式に変換します。
- エンコーディング: ラベルをエンコードし、テキストを数値に変換し、日付を数値に変換します。
- 分割: データセットを比率に従ってトレーニングセット、テストセット、検証セットに分割します。
- データ変換: 正規化、標準化、正規分布変換などのデータを変換します。
4. 特徴量エンジニアリング
4.1 特徴量エンジニアリングの概要
特徴エンジニアリングは、生データから意味のある特徴を抽出して効果的な機械学習モデルを作成するプロセスです。特徴エンジニアリングは、モデルの予測能力を向上させ、データ ノイズを低減し、モデルの堅牢性を向上させ、モデルにより良いデータを提供するのに役立ちます。
4.2 特徴量エンジニアリングの役割
特徴エンジニアリングには 3 つの機能があります。
- 機械学習モデルのトレーニングと予測に役立つ入力データを提供します。
- 特徴の選択、組み合わせ、変換などを通じてモデルの非線形性を高め、モデルの堅牢性を向上させます。
- データに対して正規化、標準化、コーディング、その他の操作を実行して、機械学習アルゴリズムによるデータの処理を容易にします。
4.3 特徴量エンジニアリングの原則
特徴量エンジニアリングには 3 つの基本原則があります。
機械学習アルゴリズムの概念や仮定ではなく、現実世界の問題や目標を表現できるようになります。
メモリ、コンピューティング リソース、モデルの制限など、特徴量エンジニアリングで使用されるアルゴリズムの実際的な制限を考慮する必要があります。
1 つのアルゴリズムまたはモデルのみに依存することはできず、他のアルゴリズムまたはモデルの前後でのみ使用できます。
4.4 特徴エンジニアリングプロセス
特徴量エンジニアリングのプロセスは通常、次のステップに分かれています。
要件の明確さ: 解決すべき問題とそれをどのように解決すべきかを明確に知っていますか?
データ収集: 既存の構造化データや将来のデータ ソースなどのデータを取得します。
データの探索と予備処理: データを探索して、どの特徴値が特徴エンジニアリングに使用できるかを確認します。
特徴の選択と抽出: 機械学習モデルのトレーニングと特徴抽出の実行に使用できる特徴を選択します。
データの変換とエンコード: 機械学習モデルで受け入れられるように、データを数値形式に変換します。
データの正規化と標準化: データが同じスケールになるようにデータを正規化または標準化します。
特徴クロスオーバー: 特徴クロスオーバー後に新しい特徴をデータに追加して、特徴の多様性を強化します。
特徴の次元削減: データの次元を適切な次元に削減し、特徴の数を減らし、データの冗長性を減らします。
特徴エンジニアリング モデルの評価: 期待される結果が達成されるかどうかを判断するための、特徴エンジニアリング後の特徴のモデル評価。
テスト セットの選択: モデルの最終評価のためにデータをトレーニング セット、テスト セット、検証セットに分割します。