# QuickML ## はじめに -------------------------------------------------------------------------------- title: "Catalyst QuickML" description: "QuickMLは、Catalyst開発プラットフォーム上で機械学習パイプラインをエンドツーエンドで構築できる、完全ノーコードのMLパイプラインビルダーサービスです。" last_updated: "2026-09-08T11:24:16.648Z" source: "https://docs.catalyst.zoho.com/ja/quickml/getting-started/introduction/" service: "QuickML" -------------------------------------------------------------------------------- # Catalyst QuickML ### はじめに QuickMLは、Catalyst開発プラットフォーム上で機械学習パイプラインをエンドツーエンドで構築できる、完全ノーコードのMLパイプラインビルダーサービスです。データ処理から機械学習のサブタスクまで、幅広いステージのシーケンスを実行でき、さまざまなビジネス要件に対応する効果的なMLモデルの構築、テスト、デプロイ、モニタリングを効率的に行えます。 Catalyst全体として、Webアプリケーション、モバイルアプリケーション、マイクロサービスの構築、コーディング、テスト、デプロイ、モニタリングに必要なサービス、コンポーネント、ツールを提供する、包括的なエンドツーエンドの開発プラットフォームです。Catalystは、バックエンドサービス、FaaSコンポーネント、DevOpsツール、強力なAI・MLマイクロサービスなど、多彩なサービスを提供しています。これらのアプリケーションが利用する基盤となるサーバーリソースのセットアップと管理はすべてCatalystが担うため、インフラの保守やそれに伴うコストが完全に不要になります。Catalystの各サービスは、独立して利用することも、相互に統合して高機能で堅牢なアプリケーションやマイクロサービスを構築することも可能です。 QuickMLには、高度に統合されたCatalystコンソールからアクセスできます。コンソールからプロジェクトを作成して開始できます。Catalystプロジェクトのセットアップを行い、要件に合わせてカスタマイズすることも、コンソールからCatalystの他のサービスやコンポーネントにアクセスすることも可能です。 注意: QuickMLは現在、CA(カナダ)、JP(日本)、SA(サウジアラビア)のデータセンターからアクセスするユーザーにはご利用いただけません。 ### 機械学習パイプラインとは? 機械学習パイプラインとは、一連のシーケンシャルなステップで構成された命令の集合です。各ステップは、機械学習モデルの開発、デプロイ、モニタリングを行うために必要なコンポーネントを配置して実現される個別のプロセスです。これらのシーケンシャルなステップには、データ収集、データバリデーション、前処理、モデルトレーニング、分析、デプロイなどのエンドツーエンドのプロセスが含まれます。 機械学習において、高精度で効果的なモデルを構築・達成するための鍵となるのがイテレーションです。複雑なソリューションを小さなコンポーネントに分割することが重要であり、コンポーネントが小さいほどイテレーションが容易かつ迅速になります。個々の役割に特化した小さなコンポーネントを持つことで、必要に応じた差し替えも容易になります。 モノリシックなアプローチは、長期的には実用的にスケールしません。特定の領域やコンテキストを調整する際に、セグメンテーションがないためフロー全体を再処理する必要があるからです。機械学習パイプラインの各ステップを手動で行うのは、コストがかかり、時間を要し、エラーも発生しやすくなります。 自動化された機械学習パイプラインにより、データサイエンティストはデータの前処理やデプロイスクリプトの実行といった既存モデルの手動メンテナンスから解放され、新しいモデルの開発に集中できるようになります。 初期の頃は、機械学習モデルそのものが市場における主要なプロダクトでした。しかし現在では、機械学習をサービスとして捉えるようになり、求められているのは、コンポーネントを接続して目的の機械学習ソリューションを実現するワークフロー、すなわち機械学習パイプラインそのものです。 -------------------------------------------------------------------------------- title: "なぜ QuickML なのか?" description: "QuickMLは、Catalyst開発プラットフォーム上で機械学習パイプラインをエンドツーエンドで構築できる、完全ノーコードのMLパイプラインビルダーサービスです。" last_updated: "2026-09-08T11:24:16.648Z" source: "https://docs.catalyst.zoho.com/ja/quickml/getting-started/why-quickml/" service: "QuickML" -------------------------------------------------------------------------------- ### Why QuickML? 機械学習ソリューションにおいて、機械学習のさまざまなステージに取り組むデータサイエンティストと、モデルに取り組むデベロッパーとの間にはギャップが存在します。QuickMLは、データサイエンティストにパイプライン全体のエンドツーエンドのコントロールを提供し、精度向上のためのイテレーションを大幅に容易にすることに焦点を当てています。 ビジネス改善に役立つより良い予測を得るための機械学習モデルの作成は、以下のような多くの開発上・本番環境上の課題を伴うイテレーティブなプロセスです: - データハンドリング - リソースハンドリング - モデル管理戦略 - モデルモニタリング - その他の運用上の課題 QuickMLは、これらすべての課題に対処し、クラウド上で利用可能なデータを運用オーバーヘッドゼロで最大限に活用するためのサービスです。QuickMLは、デベロッパー、データアナリスト、データサイエンティストなどがデータを最小限の労力で最大限に活用できるノーコードプラットフォームを提供し、データおよび機械学習ベースのシステムを効果的に構築できるよう支援します。機械学習モデルの開発、保守、本番運用のためのプラットフォームとして機能します。 QuickMLの活動は、以下の2つの主要モジュールに分類されます: - QuickML Machine Learning Pipelines - QuickML Data Pipelines ### QuickML Machine Learning Pipelines Machine Learning Pipelinesは、データおよび機械学習タスクのワークフローをエンドツーエンドで実行するもので、幅広いビジネス要件に対して予測インテリジェンスを提供するために、完全にトレーニングされた高精度な機械学習モデルをオーケストレーションするよう設計されています。 QuickMLには、機械学習パイプラインの設計と実行を行うための独自のノーコードパイプラインビルダープラットフォームがあります。機械学習モデルの開発において、本番環境に対応可能なモデルを構築するための機械学習オペレーションの簡素化に重点を置いています。 ![QuickML Machine Learning Pipelines](/images/help/quickml/introduction/ML_pipeline.webp) ユーザーは、このパイプラインビルダーインターフェースを使用して、機械学習モデルの構築やデータ品質の向上を行うことができます。インターフェースには、パイプラインのステージを構築するためのシンプルなドラッグ&ドロップUIが搭載されています。各ステージは、要件に応じてプラットフォーム上で出力プレビューを確認しながらさらに細かく設定できます。 QuickMLは、パイプライン構築フローにおけるアトミックなステージとして統合された、多彩な基本MLアルゴリズムおよびAI機能の提供に特化しています。パイプラインの実行フローには、データオペレーション、機械学習タスク、アルゴリズムのさまざまな組み合わせを含めることができ、異なる特徴量フォーカスや、ビジネスデータに基づく堅牢な機械学習モデルを生成できます。 ### QuickML Data Pipelines Data Pipelinesは、**機械学習モデルライフサイクル**の一部であり、機械学習のトレーニングプロセスにデータを渡す前に、さまざまな加工を適用する必要がある場面で使用されます。 QuickML Data Pipelinesは、要件に応じて、独立したデータパイプラインとしても、MLパイプラインの一部としても扱うことができます。 データは、他のZohoサービスからインポートするか、AWS S3やGoogle Cloudなどの外部サービスから、またはローカルファイルシステムからインポートできます。データがシステムにインポートされると、データ品質などの基本的な情報を確認できます。 -------------------------------------------------------------------------------- title: "ユースケース" description: "QuickMLは、Catalyst開発プラットフォーム上で機械学習パイプラインをエンドツーエンドで構築できる、完全ノーコードのMLパイプラインビルダーサービスです。" last_updated: "2026-09-08T11:24:16.648Z" source: "https://docs.catalyst.zoho.com/ja/quickml/getting-started/use-cases/" service: "QuickML" -------------------------------------------------------------------------------- ### 売上予測 正確な売上予測は、在庫管理、リソース配分、および全体的なビジネス戦略に関する意思決定を行うために、企業にとって極めて重要です。ML分類アルゴリズムは、過去の売上データ、顧客データ、およびその他の関連変数を分析することで、企業が売上を正確に予測するのに役立ちます。 ### 感情分析 感情分析とは、顧客レビュー、ソーシャルメディアの投稿、その他のフィードバックソースなどのテキストデータを分析し、製品やサービスに対する感情を判定することです。ML分類アルゴリズムを使用することで、企業は顧客の好みに関するインサイトを獲得し、改善すべき領域を特定し、マーケティングや製品開発戦略について情報に基づいた意思決定を行うことができます。 感情分析により、企業は顧客の好みや意見をより深く理解できます。顧客レビューやソーシャルメディアの投稿の感情を分析することで、改善が必要な領域を特定し、顧客の懸念に対処するための積極的な対策を講じることができます。また、ブランドの評判をモニタリングし、ネガティブなフィードバックにリアルタイムで対応するためにも活用できます。 ### 不正検知 不正検知は、MLの分類アルゴリズムをソリューションとして必要とする最も一般的なビジネスユースケースの一つです。オンライン金融取引の増加に伴い、不正行為も大幅に増加しています。なりすまし、クレジットカード詐欺、オンラインバンキング詐欺は、企業が注意すべき最も一般的な不正行為の例です。 ML分類アルゴリズムは、大量の金融取引データを分析し、不正行為を示すパターンを特定するために使用できます。これは、過去の取引データでMLモデルをトレーニングし、不正な取引に共通する特徴を識別することで実現されます。その後、モデルは新しい取引の特徴を分析し、過去の取引のものと比較することで、不正である可能性を予測するために使用できます。 ### 解約予測 解約(チャーン)とは、一定期間内に顧客やサブスクライバーが製品やサービスの利用を停止する割合を指します。顧客の離反や損失を測定するためによく使用され、収益や成長に直接影響するため、企業にとって重要な指標です。高い解約率は、企業の製品、カスタマーサービス、または価格設定に問題があることを示す可能性があり、長期的には収益や収益性の低下につながります。 解約を管理するために、企業は顧客満足度とロイヤルティの向上、顧客の問題への対処、および優れたカスタマーサービスの提供に注力することが多くあります。また、データ分析や顧客フィードバックを活用して顧客が離れる理由を特定し、これらの問題に対処するための戦略を策定する場合もあります。さらに、ロイヤルティプログラムや割引など、顧客の継続利用を促すインセンティブやプロモーションを提供することもあります。 ML分類アルゴリズムは、ユーザーデータを分析し、解約する可能性のある顧客を特定するために使用できます。 ### 在庫予測 在庫予測とは、過去のデータ、トレンド、および今後の既知のイベントを活用して、将来の期間に必要な在庫レベルを予測する手法です。 在庫予測は、顧客の需要を満たすのに十分な在庫を確保しつつ、資本の固定化や廃棄につながる過剰在庫を避けるために、企業にとって極めて重要です。 MLアルゴリズムは、売上を分析し、補充が必要な製品の量を正確に特定するために使用できます。 ### 価格予測 価格予測は、収益の最大化と、顧客を引き付けるための競争力のある価格設定の維持との間でバランスを取ることを目指します。需要の価格弾力性、生産コスト、顧客の好み、市場トレンドなどの要素を考慮しながら、可能な限り高い利益を生み出す価格を設定することが目標です。 顧客の行動、市場動向、過去の売上、競合他社の価格設定に関するデータを収集・分析します。その後、MLアルゴリズムを使用して製品の最適なスコアを特定します。 ### スパム検知 スパム検知は、正当なメッセージ(ハム)と、広告、詐欺、フィッシング、その他の望ましくないコンテンツを含む可能性のある未承諾・無関係・悪意のあるメッセージ(スパム)を区別することを目的としています。受信メッセージをスパムまたはハムとして自動的に分類し、スパムの影響を最小限に抑えながら、ユーザーが本当に重要なコミュニケーションに集中できるようにすることが目標です。 ラベル付きデータを収集・分析します。その後、MLアルゴリズムを使用してデータ内のパターンを学習し、スパムを正確に識別します。 ## ヘルプコンポーネント -------------------------------------------------------------------------------- title: "データプロファイラーとビューアー" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのMLパイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.648Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-profiler-and-viewer/" service: "QuickML" -------------------------------------------------------------------------------- # データプロファイラーとビューアー ### データプロファイリングとは? データプロファイリングとは、生データをレビューし、その構造、内容、相互関係を理解し、分析的な洞察の機会を特定するプロセスです。 データ前処理の実行、データ可視化の実行、データ品質スコアの改善において重要です。また、使用されているデータに関する全体的なインテリジェンスを提供することで、分析の改善にも役立ちます。 データプロファイリングの活用例: - **データ前処理:** 欠損値、ユニーク値と重複値、一貫性のないデータフォーマットを特定し、分析のためのデータのクリーンアップと準備に役立ちます。 - **データ可視化:** データプロファイリングにより、データの実際の分布を理解し、外れ値を特定できるため、より正確で有益なデータ可視化を作成できます。 - **データ品質スコアの改善:** データ品質の問題を特定して修正することで、データプロファイリングはさらなる分析のためのデータの信頼性向上に役立ちます。 データプロファイリングには、以下のような多様な活動が含まれます: - 数値カラムの最小値、最大値、平均値などの統計情報の収集 - データ型の収集とデータ内の繰り返しパターンの特定 - データの冗長性と品質の把握 - 表形式データのテーブル間分析の実施 ### QuickMLにおけるデータプロファイリング QuickMLのデータセットモジュールにアップロードされたデータは、自動的にデータプロファイリングセクションを通過し、データに関する豊富な理解と価値ある洞察を提供します。 1. **レコード数、ユニーク値とパーセンテージ:** QuickMLは、データの各カラムにおけるユニーク値と重複値の数、およびそれぞれの合計に対するパーセンテージを検出し、行とカラムの効率的な更新に活用できます。 2. **データ型と可視化:** QuickMLデータプロファイラーは、データセット内の各特徴量のデータ型を正確に識別し、データに関する明確な洞察を得るために分布を可視化します。 3. **欠損値:** QuickMLデータプロファイラーは、空白値やnull値などの欠損値の数とパーセンテージを取得し、データサイエンティストが適切な値を設定するのに役立ちます。 4. **統計情報:** QuickMLデータプロファイラーは、数値カラムとカテゴリカラムに対して以下の統計データを生成します: <table class="content-table" style="width:800px;"> <tr> <th style="text-align:center">数値カラム</th> <td style="text-align:center">合計、最小値、最大値、平均値、中央値、標準偏差、分散、低・中・高パーセンタイル</td> </tr> <th style="text-align:center">カテゴリカラム</th> <td style="text-align:center">ユニーク値、重複値</td> </tr> <tbody> </tbody> </table> 5. **データセットバージョニングと品質スコア** QuickMLは、同じデータの複数バージョンをプロファイリングし、各バージョンの品質スコアを生成できます。データプロファイルは、データセット詳細ページのバージョンオプションを使用していつでも表示できます。 6. **相関ヒートマップ** データプロファイラーは、データセットのすべてのバージョンに対して相関ヒートマップを生成し、特徴量間の相互関係と、それらが互いにおよびターゲット特徴量とどの程度関連しているかを可視化します。 <br /> ### QuickMLにおけるデータビューアー データセット詳細ページでは、元のデータセットから250レコードをサンプリングしてデータプレビューが生成され、各特徴量のデータ型を特定するのに役立ちます。 <br /> -------------------------------------------------------------------------------- title: "Ziaの機能" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.648Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/zia-features/" service: "QuickML" -------------------------------------------------------------------------------- # Zia機能 QuickMLは、Zohoで独自に開発された市場で注目のZiaテキスト分析機能と統合されています。これらのZia機能は、テキストの理解と処理を伴うさまざまなタスクに使用できます。Ziaは、企業の業務改善、より良い意思決定、および顧客理解の向上に役立つ強力なツールです。これらのカテゴリの主要な機能は以下のとおりです: - **Zia感情分析** - **Ziaキーワード抽出** - **Zia言語検出** - **Zia感情検出** - **Zia意図抽出** - **Ziaアクティビティ抽出** - **Ziaコミットメント分類** #### Zia感情分析: Zia感情分析は、テキスト分析の一部であり、テキストコンテンツを処理してメッセージのトーンとそれが伝える感情を認識します。各文を分析して、そのトーンがポジティブ、ネガティブ、またはニュートラルかを判断します。そして、各文で認識された感情に基づいて、テキスト全体のトーンをこれら3つの感情のいずれかとして判定します。 #### Ziaキーワード抽出: キーワード抽出は、テキストから重要で関連性のある用語を抽出するテキスト分析技術であり、テキスト全体の抽象化を提供します。テキストマイニング、情報検索、および自然言語処理の原理に基づいて動作します。キーワード抽出は、人間の言語を分析し、豊富なデータセットを使用したトレーニングによって精度を向上させる分野に類似しています。単語の頻度や共起などの単純な統計的アプローチや、高度な機械学習アプローチを使用します。 #### Zia言語検出: 自然言語処理において、言語識別または言語検出は、与えられたコンテンツがどの自然言語であるかを判別する技術です。この問題への計算アプローチは、テキスト分類の特殊なケースとして捉えます。言語検出は、機械学習、特にテキスト分類の優れたユースケースです。メール、ニュース記事、音声テキスト変換の出力、またはその他のソースからのテキストが与えられると、言語検出モデルはそれがどの言語であるかを判別します。 #### Zia感情検出: 感情検出は感情分析のサブセットであり、単にポジティブ、ネガティブ、またはニュートラルを述べるのではなく、固有の感情を予測します。これは、特定の対象や物事に対する人々の態度、感情、および意見を把握するための技術です。Ziaの感情予測器は、テキストデータに隠された感情を識別および分析することを容易にします。Happy、Enthusiasm、Discontentment、Frustration、Trust、Confusion、Gratitude、およびNeutralの8つの感情を、Ziaのアルゴリズムは高い精度で予測できます。文を与えると、Ziaの感情検出モデルはその文に含まれる感情の種類を予測して伝えます。 #### Zia意図抽出: 意図抽出モデルは、Distilbert Transformersアーキテクチャを使用した深層学習モデルであり、フレーズで表現されているアクションの種類とその構成要素すべてを判断するために、大量の英語の文でトレーニングされています。意図検出は、テキストデータを分析して著者の意図を見つけるプロセスです。Ziaの意図抽出モデルは、苦情、リクエスト、購入、および問い合わせに関連する文中の用語を識別できます。 #### Ziaアクティビティ抽出: Ziaのアクティビティ抽出は、Distilbert分類器を活用して、与えられた文からイベント、電話、タスクなどのアクティビティを認識するマルチクラスシーケンス分類器です。 #### Ziaコミットメント分類: Ziaのコミットメント分類は、期日、何かの約束など、フレーズ内のコミットメントに関連する条項を予測および識別します。任意の文を与えると、Ziaのコミットメント分類モデルはコミットメントステートメントを検出して返します。 -------------------------------------------------------------------------------- title: "クラス不均衡" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.648Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/class-imbalance/" service: "QuickML" -------------------------------------------------------------------------------- ### クラス不均衡とは? クラス不均衡は、分類問題において一方のクラス(多数派クラスと呼ばれる)のサンプル数が、もう一方のクラス(少数派クラスと呼ばれる)のサンプル数を大幅に上回る場合に発生します。この不均衡により、モデルが多数派クラスの予測に偏る可能性があり、少数派クラスのケース(例:詐欺検出や希少疾患の診断など、重要なケースであることが多い)の検出精度が低下します。 ### なぜ重要なのか? 不均衡が処理されない場合、モデルは以下のような問題を引き起こす可能性があります: - 全体的な精度は高いが、少数派クラスのケースを検出できない - 多くの偽陰性(検出漏れ)が発生し、医療などの分野では危険になり得る - 多数派クラスが精度を支配するため、評価指標が誤解を招く - 新しいデータに対する汎化性能が低下する ### 不均衡を処理するテクニック クラス不均衡処理とは、一方のクラス(多数派)がもう一方のクラス(少数派)よりも大幅にサンプル数が多い分類問題に対処するために使用される一連のテクニックを指します。 ### オーバーサンプリング オーバーサンプリングは、データセットにおけるクラス不均衡の問題に対処するために使用されます。特に、一方のクラスがもう一方を大幅に上回るバイナリ分類問題で一般的です。 不均衡なデータセットでは、多数派クラスが支配的になり、機械学習モデルがそのクラスをより頻繁に予測するようにバイアスがかかり、少数派クラスを完全に無視する可能性があります。これにより、関心のあるクラスであることが多い少数派クラスの再現率と適合率が低下します。 **オーバーサンプリングの機能** オーバーサンプリングは、既存のサンプルを複製するか、新しい合成サンプルを生成することにより、少数派クラスの表現を増やします。目的はクラス分布のバランスを取り、モデルが両方のクラスに対して均等な学習機会を得られるようにすることです。 **一般的なテクニック:** - **SMOTE(Synthetic Minority Over-sampling Technique)**: 既存の少数派サンプル間を補間して合成少数派クラスサンプルを作成します。 - **RandomOverSampler**: 少数派クラスのサンプルをランダムに複製します。 - **BorderlineSMOTE**: クラスが重複する決定境界付近でのみ合成サンプルを生成します。 - **ADASYN**: SMOTEに類似していますが、学習が困難な少数派ケースのサンプル作成に重点を置きます。 **例:** 詐欺検出データセットがあるとします: <table class="content-table" style="width:400px;"> <thead> <tr> <th>クラス</th> <th>サンプル数</th> </tr> </thead> <tbody> <tr> <td>正常</td> <td>10,000</td> </tr> <tr> <td>詐欺</td> <td>200</td> </tr> </tbody> </table> **SMOTE**を使用して合成詐欺ケースを生成し、少数派クラスのサンプルを200から10,000に増やします。このバランスの取れたデータセットにより、モデルが詐欺パターンをより適切に学習し、詐欺ケースの検出漏れ(偽陰性)を減らし、検出率を向上させることができます。 ### アンダーサンプリング アンダーサンプリングは、多数派クラスのサイズを少数派クラスのサイズと同程度になるように削減することで、機械学習データセットにおけるクラス不均衡を処理するテクニックです。これにより、よりバランスの取れたデータセットが作成され、トレーニング中にモデルが両方のクラスに均等に注意を払うようになります。 典型的な不均衡シナリオでは、一方のクラス(通常、関心の低いクラス)がデータセットを支配します。例えば、メール分類タスクでは、「非スパム」メールの数が「スパム」メールの数を大幅に上回ることがあります。バランスを取らないと、モデルは精度を最適化するために多数派クラスのみを予測するように学習し、少数派クラスを完全に無視する可能性があります。 **アンダーサンプリングの機能** アンダーサンプリングは、多数派クラスからサンプルをランダムまたは戦略的に除去して少数派クラスのサイズに近づけることで、偏った分布を軽減します。これにより、モデルは両方のクラスからより均等に学習するようになり、少数派クラスでのパフォーマンスが向上します。 **一般的なテクニック:** - **RandomUnderSampler**: 多数派クラスからランダムにサンプルを除去します。 - **TomekLinksUnderSampler**: 少数派サンプルに非常に近い多数派サンプルを除去します(ノイズの多い重複をクリーニング)。 - **EditedNNUnderSampler**: 最近傍法で誤分類された多数派サンプルを除去し、ノイズを削減します。 - **NearMissUnderSampler**: 少数派サンプルに近い多数派サンプルを保持します(困難な境界ケースに焦点)。 **例:** 医療診断データセットの場合: <table class="content-table" style="width:400px;"> <thead> <tr> <th>クラス</th> <th>サンプル数</th> </tr> </thead> <tbody> <tr> <td>健康</td> <td>5000</td> </tr> <tr> <td>疾患</td> <td>300</td> </tr> </tbody> </table> **RandomUnderSampler**を使用して、健康サンプルを5,000から300に削減し、疾患サンプルと一致させます。これにより、モデルが健康クラスへのバイアスを回避し、疾患をより適切に検出できるようになります。 -------------------------------------------------------------------------------- title: "定期同期" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのMLパイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.648Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/periodic-sync/" service: "QuickML" -------------------------------------------------------------------------------- # 定期同期 定期同期は、同じデータコネクタから複数の間隔でデータを繰り返しインポートするために必要な手動作業を削減します。同期を設定することで、ユーザーは選択した周期に従ってデータインポートプロセスを自動化し、手動介入の必要性を最小限に抑えることができます。 QuickMLでは、データ同期は同期頻度を使用して設定できます。日次、週次、月次、年次、および時間と分で設定するカスタム頻度(最小6時間から最大23時間59分の間隔)など、さまざまな周期的間隔オプションを利用できます。 ### QuickMLで定期同期を使用するメリット - **手動介入の削減:** インポートプロセス中にユーザーが待機する必要がありません。 - **時間の節約:** データインポートの自動化により、データのインポートが必要になるたびにデータコネクタを設定する時間を節約できます。 - **一貫性:** QuickMLプラットフォーム内でデータが一貫して更新されることを保証し、正確性と信頼性を維持します。 - **モデルパフォーマンスの向上:** 最新のデータを利用できることで、モデルの定期的なトレーニングに役立ちます。最新のデータにより、より良く一貫したモデルパフォーマンスが確保され、信頼性の高い予測が得られます。 - **効率性:** 手動データインポートに伴うエラーのリスクを削減します。 - **柔軟な間隔オプション:** QuickMLは、さまざまなデータインポートおよび更新ニーズに対応するための幅広いスケジューリングオプションを提供します。 ### 同期頻度の設定方法 #### データインポート時: オブジェクトストレージ、Zohoアプリ、データベースのいずれかのデータコネクタからのデータインポート時に、定期同期頻度を設定できます。 <br /> #### データインポート後: データセット詳細ページには、データインポートステージで選択した同期設定を伝える同期頻度フィールドがあります。ただし、以下のようにドロップダウンオプションを使用して、必要に応じて設定を変更できます。 <br /> #### データパイプラインの作成: 定期同期が有効なデータセットのデータパイプラインを作成する際は、「Execute pipeline after periodic sync」オプションを有効にしてください。これにより、同期のたびにデータパイプラインが再実行され、変換済みデータの次のバージョンが生成されます。 <br /> #### MLパイプラインの作成: 定期同期が有効なデータセットのMLパイプラインを作成する際は、「Retrain model when the dataset is updated」オプションを有効にしてください。これにより、データセットが更新されるたびにモデルが自動的に再トレーニングされます。 <br /> -------------------------------------------------------------------------------- title: "データパイプラインの作成" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのMLパイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.649Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/create-data-pipeline/" service: "QuickML" -------------------------------------------------------------------------------- # 最初のデータパイプラインを作成する QuickMLプラットフォームを使用してデータパイプラインを作成する方法を見ていきましょう。 <!-- **リソース:** こちらをクリックして、サンプルデータセットにアクセスできます。 --> ## パイプラインビルダーインターフェースを使用したデータパイプラインの作成 1. **datasets**セクションに移動します 2. Import Datasetをクリックして、利用可能なデータコネクタオプションを使用してQuickMLプラットフォームにデータセットをアップロードします。 <br /> 3. インポート操作を実行するために、優先するデータソースを選択します。 <br /> 上記のオプションからファイルをアップロードすると、データ品質スコアが表示されます。 <br /> 4. データパイプラインを作成するには、Go to Data Cleaningをクリックします。「Create pipeline」ポップアップが表示され、パイプライン名の入力を求められます。名前を入力してCreate Pipelineボタンをクリックします。 <br /> 5. パイプラインビルダーページに移動し、左ペインに表示されるコンポーネントをドラッグ&ドロップし、前後のコンポーネントに接続してパイプラインを作成することで、以下のデータ前処理操作を実行できます。 - Data Cleaning - Data Transformation - Data Extraction <br /> 左ペインの各データ前処理ステップ配下のコンポーネントは、展開して確認できます。 6. ビルダー内で実行されたすべての操作は、プレビューセクションでサンプルデータに対して処理された結果を確認できます。 **例:** Data Cleaningセクション配下のSelect/Dropコンポーネントをドラッグ&ドロップし、必要なカラムを選択して、Drop/Select操作を選択します。プレビューセクションでカラムが削除されたことを確認できます。 <br /> 7. 同様に、必要なすべてのコンポーネントをビルダーにドラッグ&ドロップし、最後のコンポーネントをデスティネーションに接続してパイプラインの構築を完了します。以下のように表示されます: <br /> 8. パイプラインを実行するには、「Execute」ボタンをクリックします。パイプラインが実行されると、以下のように表示されます: <br /> 9. **car_price**データセットをクリックすると、car_pricesデータセットの詳細ページに移動し、新しいバージョンやその他の関連するデータセットプロファイル情報を確認できます。 <br /> **注意:** QuickMLは認証マネージャーとしてZoho IAMを使用しています。サービスを利用するには、Zohoアカウントでサインインする必要があります。 -------------------------------------------------------------------------------- title: "MLパイプラインの作成" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのMLパイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.649Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/create-ml-pipeline/" service: "QuickML" -------------------------------------------------------------------------------- # 最初のMLパイプラインを作成する QuickMLプラットフォームを使用してMLパイプラインを作成する方法を見ていきましょう。 ## パイプラインビルダーインターフェースを使用したMLパイプラインの作成 1. 「Pipelines」セクションに移動します 2. Create-Pipelineをクリックして、アップロード済みのデータセットを使用してQuickMLプラットフォームでMLパイプラインを作成します。 <br /> 3. MLパイプライン名、モデル名を入力し、MLパイプラインの準備に使用するデータセットを選択します。Target columnで、予測を実行するカラムを選択し、「Create Pipeline」ボタンをクリックします。 <br /> **注意:** データパイプラインと同じデータセットからMLパイプラインを作成する場合、出力データ(データパイプラインによるデータセットの変更バージョン)が自動的に取得されます。 4. パイプラインビルダーインターフェースが開いたら、必要なノードをドラッグ&ドロップしてML操作を実行できます。 例:この画像では、Ordinal Encoder [ノード](/ja/quickml/help/operations-in-quickml/encoding/#ordinal-encoder)がソースに接続されています。設定で、**year**、**mileage**、**money**以外のすべてのカラムを選択します。これらはすでに数値形式であるためです。 <br /> 設定が完了したら、Saveをクリックして次に進みます。 5. 同様に、予測の実行に必要なすべてのノードを接続し、以下のようにパイプラインを完成させることができます。 <br /> 6. パイプラインが完成したらSaveをクリックし、次にExecuteをクリックします。 <br /> パイプラインが正常に実行されると、上記のように実行ステータスが「Success」と表示されます。 7. **モデル名**(Car Price Prediction ML Pipeline model)をクリックすると、モデル詳細ページにリダイレクトされ、以下のようにモデル評価指標データを確認できます。 <br /> -------------------------------------------------------------------------------- title: "AutoMLパイプラインの作成" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのMLパイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.649Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/create-automl-pipeline/" service: "QuickML" -------------------------------------------------------------------------------- # AutoMLパイプライン ### QuickMLでAutoMLパイプラインを作成する手順 1. ページ左下の「+Create」ボタンをクリックし、「Pipeline」を選択します。 2. 「Create Pipeline」ページが表示されます。詳細を入力し、「Create an Auto-generated pipeline using AutoML」チェックボックスをオンにします。 <br /> 3. 「Create Pipeline」をクリックします。以下のように、必要な設定を備えた自動パイプラインが作成されます: <br /> 最もパフォーマンスの高いモデルが最終決定され、以下のようにすべての評価指標とともに生成されます。 -------------------------------------------------------------------------------- title: "カスタムコード" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのMLパイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.649Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/custom-code/" service: "QuickML" -------------------------------------------------------------------------------- ### カスタムコード操作 カスタムコード操作は、すべてのデータセンターで早期アクセスとして利用可能です。この機能を使用するには、support@zohocatalyst.com からアクセスをリクエストしてください。 QuickMLパイプラインのカスタムコード操作により、開発者はモデルトレーニングプロセスに独自のロジックを組み込むことができます。テンプレートで提供されるPythonクラスを実装することで、データの変換方法、特徴量の処理方法、さらには使用する機械学習アルゴリズムをカスタマイズできます。 この機能は、3つの異なるコンポーネントに分かれています: - Custom Data Transformation - Custom ML Transformation - Custom Algorithm 各コンポーネントは機械学習ライフサイクルにおいて固有の役割を果たし、ユーザーが実装すべき事前定義されたメソッドシグネチャを備えています。 注意: テンプレートクラスのすべてのメソッドの実装は必須です。 ### Custom Data Transformation Custom Data Transformationは、カスタムロジックを使用して、データクリーニング、変換、生データの抽出などの操作を実行し、データを最適化するために使用されます。カラムの削除、フォーマット変換、スケーリングなど、モデルトレーニングと予測の両方のステージで一貫性を保つ必要がある前処理ステップに特に有用です。カスタマイズされたコードは、データ前処理中の複雑な要件を処理し、**transform()** メソッドで実装されます。このメソッドはDataFrameオブジェクトを受け取って返し、トレーニングと推論の両方で実行されます。 以下のサンプルコードでは、Custom Data Transformationノードがモデルトレーニングまたは予測に使用される前にデータを前処理します。データセットから「Glucose」カラムを削除し、無関係またはバイアスの原因となる可能性のある特徴量がモデルの学習や予測に影響を与えないようにします。 ### Custom ML Transformation MLモデル開発ライフサイクルにおいて、Custom ML Transformation操作は、カスタムロジックを使用してユースケースに特化した特徴量エンジニアリングタスクを実行する前処理ステップで使用されます。これらの変換は、欠損値補完、特徴量エンコーディング、正規化など、トレーニングデータから学習し、予測時に同じ変換を一貫して適用する必要がある操作の処理に最適です。これは、トレーニングデータから必要なパラメータを学習する**fit()** メソッドと、学習したパラメータを適用して新しいデータを前処理する**transform()** メソッドによって実現されます。両方のメソッドはDataFrameオブジェクトを受け取って返します。 以下のサンプルコードでは、Custom ML Transformationノードがデータ前処理ステップの一環として欠損値補完を処理します。トレーニング中に各数値カラムの平均値を計算して保存します。その後、予測または推論時に、保存された平均値を使用してそれらのカラムの欠損値を補完し、トレーニングフェーズと予測フェーズ間の一貫性を確保します。 ### Custom Algorithm カスタムMLモデルを組み込み、そのトレーニング、予測、評価ロジックを定義できます。これにより、使用するアルゴリズムとそのパフォーマンス評価方法を完全に制御できます。**fit**、**predict**、**get_evaluation_metrics**関数があります。fitはモデルトレーニング時に実行され、predictは予測時に実行され、get_evaluation_metricsはモデルトレーニング後に評価指標を生成するために実行されます。**get_evaluation_metrics()** メソッドから返される指標は、モデル詳細ページの評価指標セクションに表示されます。 Custom Algorithm操作は、特定のビジネスユースケースに合わせたカスタムアルゴリズムの適用を指します。ユーザーがカスタムMLモデルを組み込み、独自のトレーニング、予測、評価ロジックを定義できます。このアプローチにより、使用するアルゴリズムとそのパフォーマンス評価方法を完全に制御できます。標準的な事前定義アルゴリズムの拡張として捉えることができ、ドメイン固有のルールを使用した独自のモデリング問題の解決を可能にします。 この操作には3つの主要なメソッドが含まれます: - **fit()** — モデルトレーニング中に実行され、データから学習します - **predict()** — 予測時に実行され、出力を生成します - **get_evaluation_metrics()** — トレーニング後に実行され、評価指標を計算して返します 注意: get_evaluation_metrics()から返される指標は、モデル詳細ページの評価セクションに表示され、カスタマイズされたモデル評価ワークフローをサポートします。 以下のサンプルコードでは、Custom Algorithmノードがカスタムアルゴリズムを使用してMLモデルを構築します。LightGBM分類器を使用して、入力データセットをトレーニングセットとテストセットに分割し、トレーニングデータでモデルをトレーニングして、トレーニング済みモデルインスタンスを保存します。予測時には、トレーニング済みモデルを使用して未知のデータに対する出力を生成します。トレーニング後、テストデータに対して精度、適合率、再現率、F1スコアの指標を使用してモデルを評価し、パフォーマンス分析のために辞書として返します。 **importがサポートされているPyライブラリの一覧:** *numpy, scipy, pandas, xgboost, catboost, lightgbm, sklearn, tld, patsy, tensorflow, statsmodels, tldextract, huggingface_hub, sentence_transformers, imbalanced_learn, hyperopt, shap, lime, transformers, pmdarima, lightfm, LibRecommender, subseq* -------------------------------------------------------------------------------- title: "モデルの詳細" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのMLパイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.649Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/models-details/" service: "QuickML" -------------------------------------------------------------------------------- # モデル MLパイプラインが正常に実行されると、対応するMLモデルが作成されます。このモデルビューを使用して、内部指標を理解することができます。 作成されたモデルの一覧は、以下のように各モデルのステータスとともにModelsページで確認できます。 <br /> ### モデル指標 QuickMLユーザーは、各バージョンのモデル指標にアクセスでき、機械学習モデルのパフォーマンスに関する価値ある洞察を得ることができます。これらの指標は、予測におけるモデルの精度と有効性を評価するための重要な指標として機能します。 <br /> QuickMLユーザーは以下の指標にアクセスできます。 ### 混同行列 機械学習において、混同行列は分類モデルのパフォーマンスを測定するために使用されます。簡単に言うと、混同行列は機械学習モデルが行った正しい予測と誤った予測の数をまとめたものです。行列は、以下のように真陽性(TP)、真陰性(TN)、偽陽性(FP)、偽陰性(FN)の数を表示します。 **TP:** 真陽性は、予測値と実際の値の両方が陽性であるインスタンスの数です。 **TN:** 真陰性は、予測値と実際の値の両方が陰性であるインスタンスの数です。 **FP:** 偽陽性は、モデルが陽性と予測したが実際の値が陰性であるインスタンスの数です。 **FN:** 偽陰性は、モデルが陰性と予測したが実際の値が陽性であるインスタンスの数です。 ### ユースケース 混同行列をユースケースで説明しましょう:航空会社のフライトサービスに対する乗客の満足度を予測します。 **概要説明:** 航空会社は、乗客のデモグラフィック情報、フライト情報、航空会社のサービスに対する満足度に関するアンケート回答を含む乗客情報を収集します。その後、航空会社はこの情報を使用して、乗客が**満足**か**中立/不満**かを予測する機械学習分類モデルを作成します。 以下のように、QuickMLで混同行列を使用した分類モデルのパフォーマンスを評価しましょう: 混同行列から得られた値: <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">総回答数</th> <td style="text-align:center">5,196</td> </tr> <th style="text-align:center">真陽性(TP)</th> <td style="text-align:center">2,930</td> </tr> <th style="text-align:center">偽陰性(FN)</th> <td style="text-align:center">182</td> </tr> <th style="text-align:center">偽陽性(FP)</th> <td style="text-align:center">35</td> </tr> <th style="text-align:center">真陰性(TN)</th> <td style="text-align:center">2,049</td> </tr> <tbody> </tbody> </table> 分類モデルを評価するために一般的に使用されるパフォーマンス指標は以下の通りです。 **正解率スコア:** 全インスタンスに対する正しく予測されたインスタンスの割合。 Accuracy = TP+TN/Total Responses = (2,930+2,049)/5,196 = 0.958 **適合率スコア:** 適合率は、モデルの陽性予測がどれだけ正確であるかを示す指標です。真陽性予測の数を真陽性と偽陽性の予測の合計で割って計算されます。 Precision = TP/(TP+FP)= 2,930/(2,930+35) = 0.988 **再現率スコア:** 再現率スコアは感度とも呼ばれ、モデルが正しく予測した実際の陽性ケースの割合です。真陽性予測の数を真陽性と偽陰性の予測の合計で割って計算されます。 簡単に言うと、再現率スコアは、モデルがデータセット内のすべての陽性ケースをどれだけうまく識別できるかを測定します。高い再現率スコアは、モデルがすべての陽性ケースを見つけるのに優れていることを意味し、低い再現率スコアは、モデルが多くの陽性ケースを見逃していることを意味します。 Recall score = TP/(TP+FN) = 2930/3112 = 0.941 **F1スコア:** 適合率と再現率の調和平均であり、モデルのパフォーマンスのバランスの取れた評価を提供します。 F1 Score = 2*Recall*Precision/(Recall+Precision) = 2*0.941*0.988/(0.941+0.988) = 0.9639 上記の指標から、モデルについていくつかの結論を導くことができます。 1. 航空会社モデルは4,979人の乗客の満足度レベルを正確に予測しましたが、182人が誤って満足と予測され、35人が不満/中立と予測されました。 2. 正解率95.8%、適合率98.8%、再現率94.1%と良好なパフォーマンスを示しています。ただし、182件の満足した乗客の予測を見逃しています。 したがって、すべての満足した乗客を識別できるように、再現率スコアを向上させるためにモデルを微調整する必要があります。 QuickMLでこれらのモデル指標を調べることで、あらゆる機械学習モデルのパフォーマンスに関するより深い洞察を得て、モデルの選択と最適化に関する情報に基づいた意思決定を行うことができます。これにより、ユーザーはモデルを微調整し、予測精度を向上させることができます。 ### 評価指標 QuickMLは、作成された分類モデルと回帰モデルに関する以下の評価指標を表示します。 1. #### 分類 <br /> 2. #### 回帰 <br /> 3. #### レコメンデーション 4. #### 時系列 ### 交差検証指標 交差検証は、トレーニングデータをk個のフォールドに分割し、k-1個のフォールドでモデルをトレーニングし、残りのフォールドでモデルを評価することにより、機械学習モデルのパフォーマンスを評価する方法です。このプロセスがk回繰り返され、k個のフォールドに対するモデルの平均パフォーマンスが全体的なパフォーマンスの評価に使用されます。 簡単に言うと、交差検証はトレーニングデータのサブセットでモデルをトレーニングし、トレーニングデータの残りのサブセットでパフォーマンスを評価することで機能します。これが複数回繰り返され、すべてのサブセットに対するモデルの平均パフォーマンスが全体的なパフォーマンスの評価に使用されます。これにより、モデルがトレーニングデータに過学習していないこと、および新しいデータに対して適切に汎化することを確認できます。 QuickMLは、分類モデルまたは回帰モデルのパフォーマンスを追跡するための豊富な交差検証指標を提供しています。 交差検証で提供される指標タイプの一覧は以下の通りです: 1. #### 分類モデル <br /> **指標タイプ:** - ROC AUC OVR - ROC AUC OVO - ROC AUC OVR weighted - ROC AUC OVO weighted - Balanced accuracy - Average precision - F1 score - F1 macro - F1 micro - F1 samples - F1 weighted 2. #### 回帰モデル <br /> **指標タイプ:** - Negative mean-squared error - Negative mean-squared log error - Negative root mean-squared error - Negative mean absolute error - Negative median absolute error - Negative mean poisson deviance - Negative mean gamma deviance - Negative log loss - Negative brier score - R2 score ### モデルバージョン モデルバージョニングは、機械学習モデルの異なるバージョンを追跡・管理するプロセスです。 <br /> これは、モデルの異なるバージョンを比較し、パフォーマンスを追跡し、デプロイに最適なバージョンを選択できるため重要です。モデルバージョニングは、必要に応じてモデルの以前のバージョンにロールバックするのにも役立ちます。 ### 特徴量重要度 機械学習モデルの構築に使用される各入力特徴量の重要度を特定することで、モデルの品質と意思決定プロセスにどのように影響するかを追跡できます。 特徴量重要度スコアは重要度を定量化するために計算されます。特徴量のスコアが高いほど、ターゲット変数を予測するモデルに対するその特徴量の影響が大きくなります。各特徴量の重要度を定量化することで、データとモデルに関する洞察を提供し、モデルのパフォーマンスのより良い理解、解釈、および潜在的な改善を可能にします。 特徴量重要度は、順列重要度や不純度の平均減少量など、さまざまな方法を使用して計算できます。また、ツリーベースモデルのfeature importances属性などのモデル固有のテクニックも使用できます。 #### 特徴量重要度の用途 特徴量重要度は、相関行列と同様に、入力特徴量とターゲット変数の関係を理解するためにも使用されます。モデルに影響を与える関連性の高い特徴量は、重要度スコアを使用して特定されます。 - **次元削減:** 特徴量重要度は、スコアの高い特徴量を保持し、スコアの低い特徴量をトレーニングデータから除去することで、モデルの次元を削減するのに役立ちます。この簡素化により、バイアスが削減され、ノイズが除去され、モデルトレーニングが高速化し、最終的により良いパフォーマンスのモデルが生成されます。 - **モデルパフォーマンス:** 最も関連性の高い特徴量に焦点を当てることで、特徴量重要度はモデルの最適化とより良いパフォーマンス、予測性の向上に役立ちます。 - **ステークホルダーへの洞察:** 特徴量重要度は、モデルの予測に最も大きな影響を与える特徴量についてステークホルダーに洞察を提供し、モデルの動作の理解に役立ちます。 要約すると、特徴量重要度はモデルに対する各特徴量の重要性を説明します。 <br /> QuickMLのモデル詳細ページでは、上位20特徴量の特徴量重要度スコアを降順で視覚的に表示する棒グラフが生成され、残りは「その他」としてカテゴリ分けされます。 -------------------------------------------------------------------------------- title: "パイプライン実行メトリクス" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのMLパイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.657Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/pipeline-execution-metrics/" service: "QuickML" -------------------------------------------------------------------------------- # パイプライン実行指標 パイプラインが公開されると、独立した環境で実行がスケジュールされます。パイプライン実行は後続の実行ごとにバージョニングされ、実行の詳細はQuickMLサービスによって監視・収集されます。これらの実行の詳細は、QuickMLに統合された**パイプライン指標ビューアー**から確認できます。 これらの指標は、パイプライン実行のパフォーマンスとリソース使用状況の把握に役立ち、MLパイプラインに関するパイプラインの改善と継続的な開発に有益です。 <br /> 指標ビューアーは、**パイプライン全体の実行とステージ実行**の情報を表示するために使用できます。以下の指標が監視用に利用可能です: - **パイプライン実行情報** - 実行時間 - 平均メモリ使用量 - 平均ディスク使用量 - 平均CPU使用量 - **ランタイム詳細** - 最良のパイプライン実行 - 前回のパイプライン実行 - **リソース使用チャート** ### パイプライン実行情報 パイプライン詳細ページから実行情報ウィンドウを開くと、以下のような実行情報が含まれます。 <br /> ### リソース使用グラフ パイプライン実行における時間ベースのリソース使用状況を追跡するため、QuickMLにはステータスチャートとグラフが用意されており、ステージごとの実行とその詳細をより良く理解できます。これらのチャートはチャートベースのエディターにズームインして、実行のさらなる分析を行うこともできます。 ![Process_stats](/images/help/quickml/pipeline-metric-viewer/Process_stats.webp) -------------------------------------------------------------------------------- title: "パイプラインエンドポイント" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのMLパイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.657Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/pipeline-endpoints/" service: "QuickML" -------------------------------------------------------------------------------- # QuickMLパイプラインエンドポイント # エンドポイント 機械学習(ML)パイプラインの主な成果は、新しいデータに対する予測に使用できる**エンドポイントの作成**です。これらのエンドポイントはトレーニング済みのMLモデルを使用して作成され、継続的な推論に使用できます。 MLモデルが**開発およびトレーニング**された後、QuickMLユーザーはモデルの最新バージョンでエンドポイントを作成できます。このエンドポイントは、新しいデータに対する予測に使用できます。QuickMLはすべてのエンドポイントを監視し、モデルを改善できる領域を特定します。 <br /> ### 公開モデルバージョン QuickMLパイプラインを使用して機械学習モデルが生成された後、ユーザーは**特定のモデルバージョン**でエンドポイントとして**公開**することを選択できます。これにより、ユーザーはモデルをデプロイして正確な予測に使用できます。 パイプライン実行時にパイプラインステージの設定に変更がある場合、モデルはバージョニングされます。 <br /> ### モデルテスター モデルの精度を確認するために、QuickMLエンドポイントモジュールにはモデルバージョンに対応した**Test the Model**コンポーネントが統合されており、エンドポイントURLを使用してWebアプリ内でライブリクエストを行い、モデルの推論をテストできます。 <br /> ### モデル説明チャート 機械学習モデルのトレーニングに使用されたデータの各入力特徴量は、モデルの予測に影響を与えます。しかし、これらのモデルはブラックボックス動作を示すため、予測にどのように至ったかを理解することが困難です。各特徴量が最終予測に対してどの程度貢献しているかを定量化することは難しく、モデルの動作の理解を妨げます。 この問題に対処するため、QuickMLはモデル説明チャートを作成しました。このチャートは、x軸に予測への影響、y軸に特徴量のリストを表示します。 各特徴量について、予測への影響はSHAP(SHapley Additive exPlanations)値によって定量化され、機械学習モデルの判断を説明します。これらの値はモデルの判断を理解・解釈し、透明性を高めるのに役立ちます。x軸上の値の分布は、各特徴量が予測に対してポジティブまたはネガティブな影響を持つかどうかを、そのスコアとともに示します。 このチャートは、以下のようにエンドポイント詳細ページに配置されています。 <br /> まとめると、QuickMLのモデル説明チャートは、与えられた入力に対する最終予測結果に対する各特徴量の影響を示します。 モデル説明チャートビューのクイックリファレンス動画。 <iframe src="https://workdrive.zohoexternal.com/embed/aw71qaca827e70c8a4c70917ac924336ca5be?toolbar=false&appearance=light&themecolor=green" scrolling="no" frameborder="0" allowfullscreen=true width="800" height="450" title="Embed code" ></iframe> エンドポイント詳細ページにあるモデル説明チャートの概要では、レスポンスボックスに各特徴量の予測に対する影響スコアが表示され、上部のチャートで影響の視覚的表現が確認できます。 ## エンドポイント認証 ライブエンドポイントはQuickMLサービスからREST APIとして公開され、2つのモードでアクセスできます: - 外部OAuth2認証 - 内部認証 ### 外部OAuth2認証 REST APIとして公開されるエンドポイントは、Zohoアカウントの OAuth2メカニズムで認証されます。 ユーザーはアカウント[コンソール](https://api-console.zoho.com/)からトークンを生成することで、外部から予測コールを行うことができます。 - **予測ガイドライン:** REST APIコールを行うには、以下の情報を提供する必要があります: - **Request URL:** 詳細に記載されたDeployment URL - **HTTP Method:** POST - **Headers :** { 'X-QUICKML-ENDPOINT-KEY' : ************************, 'Authorization': 'Zoho-oauthtoken <access-token>', 'CATALYST-ORG': ******** 'Environment': , 'Development/Production' } アクセストークンを生成するには、このドキュメントの手順に従ってください。 - **Scope:** QuickML.deployment.READ -------------------------------------------------------------------------------- title: "ステージの再設定" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.657Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/stage-reconfiguration/" service: "QuickML" -------------------------------------------------------------------------------- ### QuickMLパイプラインにおけるステージ再設定の理解 機械学習パイプラインの構築では、複数の操作を連鎖させることが多く、各操作は前の操作の結果に依存します。20以上のステージを持つ複雑なパイプラインでは、1つのステージを変更すると、下流のステージで意図しない設定変更が発生する可能性があります。これにより、面倒な再設定作業、以前の設定の喪失、およびデータフローの中断が発生する可能性があります。 この課題に対処し、複雑なワークフローのメンテナンスを簡素化するために、QuickMLはパイプラインの**ステージ再設定**を導入しました。これは、パイプラインを構築する際にバックグラウンドで実行される自動化メカニズムです。 ### ステージ再設定とは? ステージ再設定は、QuickMLのスマートなユーザーガイド型メカニズムであり、前のステージの変更によって影響を受ける下流のステージを特定します。すべての後続ステージの設定を自動的にリセットするのではなく、影響を受けるステージとオプション(再設定、スキップ、または必要なステージのみのリセット)をユーザーに提示し、効率的で制御されたパイプライン管理を可能にします。 これにより以下が保証されます: - 後続ステージへの設定変更の影響が軽減され、よりスムーズなパイプライン構築プロセスが実現します。 - どのステージが影響を受けるかの透明性 - ビジネスニーズに応じた変更の柔軟性 リアルタイムでのステージ再設定の使用を理解するためのシナリオを考えてみましょう。 小売企業がQuickMLで販売予測パイプラインを構築し、異なる地域の製品パフォーマンスを分析しているとします。パイプラインには、データ取り込みからアルゴリズム選択まで、25以上のステージが含まれています。初期のパイプラインバージョンでは、チームはステージ4(カラム選択)でamountカラムを選択し、その後ステージ7で型変換を適用しています。 改良中に、チームメンバーがamountカラムはもう分析に必要ないと判断し、ステージ4で削除することにしました。QuickMLのステージ再設定メカニズムは、この変更がステージ7に影響することを即座に検出します。ステージ7はまだamountの型変換に依存しているためです。すべての後続ステージをリセットする代わりに、システムはステージ7が影響を受けることを特定し、オプションを提示します。カラムはもう必要ないため、チームは単純にステージ7をスキップしてマージすることを選択します。これによりパイプラインは有効に保たれ、不要な中断が回避されます。ステージ再設定がチームに全体のフローを再作業することなく正確な変更を行う方法を示しています。 ### パイプラインの種類とステージ再設定の互換性 ステージ再設定は、パイプラインが編集可能でユーザーが設定可能なステージをサポートするかどうかに応じて、QuickMLのさまざまなパイプラインタイプに実装されています。このメカニズムは特にClassicモードのパイプラインで有用であり、1つのステージで行われた変更が後続のステージに直接影響し、再設定が必要になる場合があります。この再設定は通常、スキーマ変更(カラムの追加、削除、名前変更など)または後続ステージでのデータ処理方法に影響する値の変更がある場合にのみトリガーされます。ただし、Smartモードのパイプラインでは、ステージに手動設定が含まれないため、この機能は通常不要です。リセットや再設定の代わりに、Smartモードではロジックが一貫してシステムによって制御されるため、単純な再実行で更新を処理します。 以下の表は、どのパイプラインタイプがステージ再設定をサポートし、各ケースでの適用性または除外の理由を説明しています: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:25%;">パイプラインタイプ</th> <th style="text-align:left; width:25%;">ステージ再設定の適用</th> <th style="text-align:center; width:50%;">理由</th> </tr> </thead> <tbody> <tr> <td style="text-align:left">Data Transformation</td> <td style="text-align:left">はい</td> <td style="text-align:left">ステージはユーザーが設定可能であり、再設定がサポートされています</td> </tr> <tr> <td style="text-align:left">Prediction</td> <td style="text-align:left">はい</td> <td style="text-align:left">ステージはユーザーが設定可能であり、再設定がサポートされています</td> </tr> <tr> <td style="text-align:left">Text Analytics</td> <td style="text-align:left">Classicモードのみ</td> <td style="text-align:left">Smartモードではステージレベルの編集は不要です</td> </tr> <tr> <td style="text-align:left">Recommendation</td> <td style="text-align:left">はい</td> <td style="text-align:left">ステージはユーザーが設定可能であり、再設定がサポートされています</td> </tr> <tr> <td style="text-align:left">Forecasting</td> <td style="text-align:left">いいえ</td> <td style="text-align:left">デフォルトでSmartモードを使用しており、ステージレベルの編集は不要です</td> </tr> <tr> <td style="text-align:left">Clustering</td> <td style="text-align:left">はい</td> <td style="text-align:left">ステージはユーザーが設定可能であり、再設定がサポートされています</td> </tr> <tr> <td style="text-align:left">Anomaly Detection</td> <td style="text-align:left">いいえ</td> <td style="text-align:left">デフォルトでSmartモードを使用しており、ステージレベルの編集は不要です</td> </tr> </tbody> </table> ### ステージ再設定の動作プロセス パイプラインのステージに変更を加えると、QuickMLはその変更が後続のステージの設定に影響するかどうかを自動的に確認します。変更内容に応じて、2つの結果が考えられます。 **ケース1:変更が後続ステージの設定に影響しない場合** 変更が後続ステージで使用されるデータセットのスキーマを変更しない場合、QuickMLはそれらのステージがまだ有効であることを認識します。ただし、パイプラインの一貫性を維持するために、システムは後続ステージを再実行します。この場合、2つのオプションが表示されます: - **無視してすべてリセット** - 変更の影響を受けていないにもかかわらず、すべての後続ステージの設定をリセットします。 - **続行** - 既存の設定を使用して後続ステージを再実行し、再作業は不要です。 例えば、ステージ2で**Select/Drop** Columns操作を使用して、後続のステージで使用されていない**membership_category**というカラムを削除したとします。後続のステージがこのカラムに依存していないため、変更はそれらの設定に影響しません。この場合、QuickMLは後続ステージのスキーマがそのまま保たれていることを認識します。単純に続行を選択すれば、再設定なしでパイプラインが再実行されます。 **ケース2:変更が後続ステージの設定に影響する場合** 変更が後続ステージで使用されるデータセットのスキーマに影響する場合、QuickMLはどのステージが影響を受けるかを強調表示します。その後、影響を受けるステージの処理方法を制御するための以下のオプションが提示されます: - **無視してすべてリセット** - 影響を受けるすべてのステージの設定を無視してリセットします。 - **今すぐ設定** - 影響を受けるステージと正確に何が変更されたかを示すポップアップを開きます。設定ポップアップ内で以下が可能です: - 各影響を受けるステージを**確認して編集**し、最近の変更に基づいて設定を更新します。 - **キャンセル**して行った変更を元に戻し、パイプラインを以前の状態に戻します。 - 新しいフローで不要になったステージを**スキップしてマージ**します。 - **破棄** - 現在のステージで行った変更を元に戻し、元の設定に復元します。これにより、適用した編集を実質的に取り消します。これは、パイプラインの残りの部分への影響のために最近の変更をキャンセルしたい場合に便利です。 以下に例を示します:ステージ2で**Select Columns**操作を使用してchurn_risk_scoreカラムを含め、ステージ4でそのカラムに**Type Conversion**を適用したとします。ステージ2でchurn_risk_scoreカラムを削除すると、ステージ4はそのカラムに依存しているため壊れます。QuickMLはこれを検出し、ステージ4が影響を受けることを表示します。その後、ステージ2でカラムを再追加するか、ステージ4を更新して別のカラムを使用するか、もはや必要ない場合はステージ4を完全にスキップするかを選択できます。 このアプローチにより、以前の作業を不必要に失うことなく、変更の処理方法を完全に制御できます。また、本当に注意が必要な部分にのみ集中することで、時間のかかる再設定を回避するのに役立ちます。 ### ステージ固有のエッジケース **Select/Dropステージでの追加カラムの動作**:再設定中に追加されたカラムは、後続ステージの設定に影響しません。ただし、影響を受けるステージのSelect Columnsドロップダウンにリストされ、必要に応じて含めることができます。 **Merge Columnsステージでの削除カラムの動作**:削除されたカラムが以前にMerge Columns操作で使用されていた場合、依存関係をクリアし設定を適切に更新するために、Merge Columnsステージから再設定を開始する必要があります。 **Split Columnsステージでの削除カラムの動作**:削除されたカラムがSplit Columnsで使用され、2つの出力間で共有されている場合、カラムの変更方法に基づいて2つの別々の再設定レイヤーが表示されます。 **Add Datasetの影響**:Add Datasetステージでの変更は、パイプライン全体に影響を与える可能性があります。 <u>**注意事項**</u> ステージ再設定機能を最大限に活用するためには、使用中に以下の重要なポイントを覚えておくことが重要です。 - **ページリロードの処理**:ステージ設定中にページをリロードすると、すべての変更を元に戻すか、中断した場所から再開するかのプロンプトが表示されます。 - **削除操作の影響**:接続の削除とステージの削除は、後続ステージの設定をデフォルトにリセットします。 - **再設定のキャンセル**:再実行中に再設定をキャンセルすると、すべての中間変更が元に戻されます。 -------------------------------------------------------------------------------- title: "QuickMLの制限事項" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.657Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/quickml-limitations/" service: "QuickML" -------------------------------------------------------------------------------- # QuickMLの制限事項 1. ### エンティティの制限 <table class="content-table" style="width:700px;"> <tbody> <tr> <th style="text-align:center">作成可能なデータセットの最大数</th> <td style="text-align:center">25</td> </tr> <tr> <th style="text-align:center">作成可能なパイプラインの最大数</th> <td style="text-align:center">25</td> </tr> <tr> <th style="text-align:center">作成可能なエンドポイントの最大数</th> <td style="text-align:center">10</td> </tr> <tr> <th style="text-align:center">ビルダーの単一ステージ操作で設定可能なカラム数</th> <td style="text-align:center">25</td> </tr> </tbody> </table> 2. ### データセットサンプルプレビュー **データセット詳細プレビューセクション** <table class="content-table" style="width:700px;"> <tbody> <tr> <th style="text-align:center">表示可能なカラム数</th> <td style="text-align:center">50</td> </tr> <tr> <th style="text-align:center">表示可能なレコード数</th> <td style="text-align:center">250</td> </tr> </tbody> </table> **パイプラインビルダープレビューセクション** <table class="content-table" style="width:700px;"> <tbody> <tr> <th style="text-align:center">表示可能なカラム数</th> <td style="text-align:center">50</td> </tr> <tr> <th style="text-align:center">表示可能なレコード数</th> <td style="text-align:center">250</td> </tr> </tbody> </table> 3. ### ビジュアライゼーションの制限 <table class="content-table" style="width:900px;"> <tbody> <tr> <th style="text-align:center">作成可能なビジュアライゼーションの最大数</th> <td style="text-align:center">データセットバージョンごとに5つ</td> </tr> <tr> <th style="text-align:center">チャートプレビューの最大データポイント数</th> <td style="text-align:center">2000レコード</td> </tr> <tr> <th style="text-align:center">チャートの最大データポイント数</th> <td style="text-align:center">25000レコード</td> </tr> <tr> <th style="text-align:center">チャートに表示されるカテゴリの最大数。例:構成チャート:カテゴリ vs カウント</th> <td style="text-align:center">上位19カテゴリが表示されます。 * 残りは「Others」というカテゴリにグループ化されます(例:円グラフ、ファネルなど)。</td> </tr> <tr> <th style="text-align:center">折れ線グラフに表示される系列またはトレンドラインの最大数</th> <td style="text-align:center">100</td> </tr> <tr> <th style="text-align:center">相関ヒートマップの最大カラム数</th> <td style="text-align:center">25</td> </tr> <tr> <th style="text-align:center">パイプラインビルダーのステージビジュアライゼーションで使用される最大レコード数</th> <td style="text-align:center">250</td> </tr> <tr> <th style="text-align:center">チャートイベントが利用できない条件</th> <td style="text-align:center">単一の系列が8000ポイントを超える場合</td> </tr> </tbody> </table> 4. ### データソースの制限 <table class="content-table" style="width:700px;"> <thead> <tr> <th style="text-align:center">ソース</th> <th style="text-align:center">制限</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">Zohoアプリ</td> <td style="text-align:center">200Kレコード</td> </tr> </tr> <tr> <td style="text-align:center">CRM、Bigin、Recruitの定期インポート機能</td> <td style="text-align:center">100万レコード</td> </tr> <tr> <td style="text-align:center">クラウドデータストレージ(オブジェクトストレージ)</td> <td style="text-align:center">1GBサイズ</td> </tr> <tr> <td style="text-align:center">データベース</td> <td style="text-align:center">100Kレコード</td> </tr> <tr> <td style="text-align:center">ファイルアップロード</td> <td style="text-align:center">1GBサイズ</td> </tr> </tbody> </table> 6. #### 注意事項 <table class="content-table" style="width:700px;"> <tbody> <tr> <th style="text-align:center">ローカルファイルシステム</th> <td style="text-align:center">カラム名なしでアップロードした場合、データセットの特徴量はcol_0、col_1、col_2などの名前になります。</td> </tr> <tr> <th style="text-align:center">特徴量エンジニアリングのルール</th> <td style="text-align:center">特徴量名に[、]、または<、>を含めることはできません。</td> </tr> </tbody> </table> ### MLアルゴリズム -------------------------------------------------------------------------------- title: "分類アルゴリズム" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.657Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/ml-algorithms/classification-algorithms/" service: "QuickML" -------------------------------------------------------------------------------- <!-- ### MLアルゴリズム QuickMLのML操作は複数のセクションに分類されています。これらの操作はすべてPipeline Builderのステージとして利用可能で、主なカテゴリは以下の通りです: 1. **アルゴリズム** - 分類アルゴリズム - 回帰アルゴリズム 2. **エンコーディング** 3. **補完** 4. **ビニング** 5. **トランスフォーマー** 6. **データ型検出** 7. **DType変換** 8. **特徴量生成** 上記のすべての操作には詳細なカテゴリがあり、MLパイプライン環境における独自のユースケースがあります。詳細については、今後のパイプライン記事で確認できます。 --> # QuickMLのMLアルゴリズム QuickMLは主に、スムーズなパイプライン実行環境を提供するために、機械学習パイプラインに機械学習操作を簡単に組み込むことに重点を置いています。そのため、データから最良の分析結果を得るために、幅広いMLアルゴリズムと機能が統合されています。 MLアルゴリズムは、外部からの介入なしにデータから学習し、経験から改善できるプログラムです。以下のアルゴリズムと操作はすべて、1つ以上のパイプライン実行で設定できる**QuickMLのステージ**として利用可能です。 データサイエンス分野で最も広く使用されているアルゴリズムは以下の通りです。 1. **分類アルゴリズム** 2. **回帰アルゴリズム** # 分類アルゴリズム 分類は、離散的なクラスラベルを予測するタスクです。QuickMLは以下の分類アルゴリズムを備えています。 1. ### AdaBoost分類 AdaBoostは、一連の小さな1ステップ(1レベル)の決定木を構築し、前の木で見逃された予測困難なケースに各木を適応させ、すべての木を単一のモデルに統合する機械学習アルゴリズムです。 この分類は、最初に元のデータセットで分類器をフィッティングし、その後、同じデータセットで分類器の追加コピーをフィッティングすることから始まります。これらのインスタンスの重みは、現在の予測の誤差に応じて調整されます。これにより、後続の分類器はより困難なケースに集中します。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w15p">パラメータ</th> <th class="w35p">説明</th> <th class="w15p">データ型</th> <th class="w20p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>base_estimator</td> <td>ブーストされたアンサンブルが構築される元のベースエスティメータ。noneの場合、ベースエスティメータはmax_depth=1で初期化されたDecisionTreeClassifierです。</td> <td>object</td> <td>KNN分類モデルを除く任意の分類モデル</td> <td>None</td> </tr> <tr> <td>n_estimators <br>(エスティメータの数)</td> <td>ブースティングが終了するエスティメータの最大数。完全なフィットの場合、学習手順は早期に停止されます。</td> <td>int</td> <td>[1, 500]</td> <td>50</td> </tr> <tr> <td>learning_rate</td> <td>各ブースティングイテレーションで各分類器に適用される重み。学習率が高いほど、各分類器の貢献が大きくなります。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>algorithm</td> <td>'SAMME.R'の場合、SAMME.Rリアルブースティングアルゴリズムを使用します。base_estimatorはクラス確率の計算をサポートしている必要があります。'SAMME'の場合、SAMME離散ブースティングアルゴリズムを使用します。SAMME.Rアルゴリズムは通常、SAMMEよりも速く収束し、より少ないブースティングイテレーションで低いテストエラーを達成します。</td> <td>string</td> <td>{'SAMME', 'SAMME.R'}</td> <td>'SAMME.R'</td> </tr> </tbody> </table> 2. ### CatBoost分類 CatBoostは勾配ブースティング決定木に基づいています。トレーニング中、一連の決定木が連続的に構築されます。各後続の木は、前の木と比較して損失が削減された状態で構築されます。木の数は開始パラメータによって制御されます。<br /> この分類は、他と比較して**予測時間がはるかに短い**という特徴があります。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w25p">説明</th> <th class="w15p">データ型</th> <th class="w20p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>learning_rate</td> <td>勾配ステップの縮小に使用されます。</td> <td>float</td> <td>(0,1]</td> <td>0.03</td> </tr> <tr> <td>l2_leaf_reg (l2_leaf_regularization)</td> <td>コスト関数のL2正則化項の係数。</td> <td>float</td> <td>[0,+inf)</td> <td>3.0</td> </tr> <tr> <td>rsm (random subspace method)</td> <td>各分割選択時に使用する特徴量の割合。特徴量はランダムに再選択されます。</td> <td>float</td> <td>(0,1]</td> <td>None</td> </tr> <tr> <td>loss_function</td> <td>トレーニングで使用するメトリック。指定された値は解くべき機械学習問題も決定します。一部のメトリックはオプションパラメータをサポートしています。</td> <td>string</td> <td>{&#39;Logloss&#39;, &#39;CrossEntropy&#39;, &#39;MultiClass&#39;, &#39;MultiClassOneVsAll&#39;}</td> <td>&#39;MultiClass&#39;</td> </tr> <tr> <td>nan_mode</td> <td>入力データセット内の欠損値を処理する方法。</td> <td>string</td> <td>{&#39;Forbidden&#39;, &#39;Min&#39;, &#39;Max&#39;}</td> <td>Min</td> </tr> <tr> <td>leaf_estimation_method</td> <td>リーフ内の値を計算するために使用される方法。</td> <td>string</td> <td>{&quot;Newton&quot;, &quot;Gradient&quot;}</td> <td>None</td> </tr> <tr> <td>score_function</td> <td>木の構築中に次の分割を選択するために使用されるスコアタイプ。</td> <td>string</td> <td>{L2, Cosine}</td> <td>Cosine</td> </tr> <tr> <td>max_depth</td> <td>木の最大深度。</td> <td>int</td> <td>[1,+Inf)</td> <td>None</td> </tr> <tr> <td>n_estimators<br> (エスティメータの数)</td> <td>機械学習問題を解く際に構築できる木の最大数。イテレーション数を制限する他のパラメータを使用する場合、最終的な木の数はこのパラメータで指定された数より少なくなることがあります。</td> <td>int</td> <td>[1, 500]</td> <td>None</td> </tr> </tbody> </table> 3. ### Decision-Tree分類 決定木は、木構造の形式で分類または回帰モデルを構築します。データセットをより小さなサブセットに分割していき、同時に関連する決定木が段階的に開発されます。 決定木は**カテゴリカルデータと数値データの両方**を処理できます。特徴量のセットの出力値を予測する際、その特徴量のセットが属するサブセットに基づいて出力を予測します。 #### ハイパーパラメータ <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w15p">データ型</th> <th class="w20p">設定可能な値</th> <th class="w10p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>criterion</td> <td>分割の品質を測定する関数。</td> <td>string</td> <td>{"gini", "entropy"}</td> <td>"gini"</td> </tr> <tr> <td>splitter</td> <td>各ノードで分割を選択するために使用される戦略。</td> <td>string</td> <td>{"best", "random"}</td> <td>"best"</td> </tr> <tr> <td>max_depth</td> <td>木の最大深度。Noneの場合、すべてのリーフが純粋になるか、すべてのリーフがmin_samples_splitサンプル未満になるまでノードが展開されます。</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>内部ノードを分割するために必要なサンプルの最小数。</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>リーフノードに必要なサンプルの最小数。任意の深さの分割ポイントは、左右の各ブランチに少なくともmin_samples_leafのトレーニングサンプルが残る場合にのみ考慮されます。</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>リーフノードに存在するために必要な、(すべての入力サンプルの)重みの合計の最小加重分数。</td> <td>float</td> <td>[0, 0.5]</td> <td>0</td> </tr> <tr> <td>max_features</td> <td>最適な分割を探す際に考慮する特徴量の数。</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"}</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>ベストファースト方式でmax_leaf_nodesの木を成長させます。ベストノードは不純度の相対的な減少として定義されます。Noneの場合、リーフノードの数は無制限です。</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>この分割がこの値以上の不純度の減少をもたらす場合にノードが分割されます。</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> </tbody> </table> 4. ### GB分類 勾配ブースティング分類は、現在の予測と既知の正しいターゲット値の差を計算します。この差は残差と呼ばれます。この値を見つけた後、勾配ブースティング分類器は特徴量をその残差にマッピングする弱いモデル(決定木)をトレーニングします。弱いモデルによって予測されたこの残差は既存のモデル入力に追加され、このプロセスによりモデルは正しいターゲットに向かって徐々に近づきます。このステップを複数回繰り返すことで、全体的なモデル予測が改善されます。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w15p">データ型</th> <th class="w15p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>loss</td> <td>最適化される損失関数。'deviance'は確率的出力を持つ分類のためのdeviance(= ロジスティック回帰)を指します。</td> <td>string</td> <td>{&#39;deviance&#39;, &#39;exponential&#39;}</td> <td>&#39;deviance&#39;</td> </tr> <tr> <td>learning_rate</td> <td>学習率は各木の貢献をlearning_rateで縮小します。learning_rateとn_estimatorsの間にはトレードオフがあります。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (エスティメータの数)</td> <td>実行するブースティングステージの数。</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>criterion</td> <td>分割の品質を測定する関数。</td> <td>string</td> <td>{&#39;friedman_mse&#39;, &#39;mse&#39;, &#39;mae&#39;}</td> <td>'friedman_mse'</td> </tr> <tr> <td>subsample</td> <td>個々のベースラーナーのフィッティングに使用されるサンプルの割合。</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>max_depth</td> <td>個々の回帰エスティメータの最大深度。</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>内部ノードを分割するために必要なサンプルの最小数。</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>リーフノードに必要なサンプルの最小数。</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>リーフノードに存在するために必要な、(すべての入力サンプルの)重みの合計の最小加重分数。</td> <td>float</td> <td>[0, 0.5]</td> <td>0</td> </tr> <tr> <td>max_features</td> <td>最適な分割を探す際に考慮する特徴量の数。</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"}</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>ベストファースト方式でmax_leaf_nodesの木を成長させます。ベストノードは不純度の相対的な減少として定義されます。</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>この分割がこの値以上の不純度の減少をもたらす場合にノードが分割されます。</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>init</td> <td>初期予測の計算に使用されるエスティメータオブジェクト。</td> <td>object or string</td> <td>エスティメータ(SVM分類とcatboostを除く任意の分類モデル)または'zero'</td> <td>None</td> </tr> <tr> <td>warm_start</td> <td>Trueに設定すると、前回のfitの呼び出しの解を再利用し、アンサンブルにエスティメータを追加します。Falseの場合は、前回の解を消去します。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>早期停止の許容値。損失がn_iter_no_changeイテレーション(数値に設定されている場合)で少なくともtol分改善しない場合、トレーニングが停止します。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> </tbody> </table> 5. ### KNN分類 KNNは、クエリ(データインスタンス)とデータ内のすべての例との距離を求め、クエリに最も近い指定数の例(K)を選択し、近傍で最も頻度の高いラベルに投票することで動作します。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w15p">パラメータ</th> <th class="w35p">説明</th> <th class="w15p">データ型</th> <th class="w20p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_neighbors<br>(近傍の数)</td> <td>kneighborsクエリにデフォルトで使用する近傍の数。</td> <td>int</td> <td>[1, n]<br> n = データセット内の総レコード数</td> <td>5</td> </tr> <tr> <td>weights</td> <td>予測に使用される重み関数。</td> <td>string</td> <td>{'uniform', 'distance'}</td> <td>'uniform'</td> </tr> <tr> <td>algorithm</td> <td>最近傍の計算に使用されるアルゴリズム。</td> <td>string</td> <td>{'auto', 'ball_tree', 'kd_tree', 'brute'}</td> <td>'auto'</td> </tr> <tr> <td>leaf_size</td> <td>BallTreeまたはKDTreeに渡されるリーフサイズ。構築とクエリの速度、およびツリーの格納に必要なメモリに影響を与えることがあります。</td> <td>int</td> <td> (1, +Inf)</td> <td>30</td> </tr> <tr> <td>p</td> <td>Minkowskiメトリックのパワーパラメータ。</td> <td>int</td> <td>[1,3]</td> <td>2</td> </tr> <tr> <td>metric</td> <td>距離計算に使用するメトリック。デフォルトは"minkowski"で、p = 2の場合は標準ユークリッド距離になります。</td> <td>string</td> <td>{'cityblock', 'cosine', &#39;euclidean&#39;, &#39;l1&#39;, &#39;l2&#39;, &#39;manhattan&#39;, &#39;nan_euclidean&#39;, 'minkowski'}</td> <td>'minkowski'</td> </tr> </tbody> </table> 6. ### LGBM分類 LGBMは、各木の出力を使用して更新される初期推定値から始めることで動作します。学習パラメータはこの推定値の変化の大きさを制御します。任意のデータに使用でき、多くの組み込み前処理ステップを含むため高い精度を提供します。 LightGBMアルゴリズムは垂直方向に成長します。つまり、他のアルゴリズムがレベル単位で成長するのに対し、リーフ単位で成長します。LightGBMは最大の損失を持つリーフを選択して成長させます。同じリーフを成長させる場合、レベル単位のアルゴリズムよりも大きな損失の削減が可能です。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w20p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>boosting_type</td> <td>ブースティングの方法。</td> <td>string</td> <td>{'gbdt', 'dart', 'goss' }</td> <td>&#39;gbdt&#39;</td> </tr> <tr> <td>num_leaves</td> <td>ベースラーナーの最大リーフ数。</td> <td>int</td> <td>(1, +Inf)</td> <td>31</td> </tr> <tr> <td>max_depth</td> <td>ベースラーナーの最大木深度。<= 0は制限なしを意味します。</td> <td>int</td> <td>(-Inf, +Inf)</td> <td>-1</td> </tr> <tr> <td>learning_rate</td> <td>ブースティング学習率。fitメソッドのcallbacksパラメータを使用して、reset_parameterコールバックでトレーニング中の学習率を縮小/適応させることができます。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (エスティメータの数)</td> <td>フィッティングするブーストされた木の数。</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>subsample_for_bin</td> <td>ビンを構築するためのサンプル数。</td> <td>int</td> <td>(0, +Inf)</td> <td>200000</td> </tr> <tr> <td>min_split_gain</td> <td>木のリーフノードでさらなるパーティションを行うために必要な最小損失削減。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>min_child_weight</td> <td>子ノード(リーフ)に必要なインスタンス重み(ヘシアン)の最小合計。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-3</td> </tr> <tr> <td>min_child_samples</td> <td>子ノード(リーフ)に必要なデータの最小数。</td> <td>int</td> <td>[0, +Inf)</td> <td>20</td> </tr> <tr> <td>subsample</td> <td>トレーニングインスタンスのサブサンプル比率。</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>subsample_freq (subsample_frequency)</td> <td>サブサンプルの頻度。<= 0は無効を意味します。</td> <td>int</td> <td>(-Inf, +Inf)</td> <td>0</td> </tr> <tr> <td>colsample_bytree (column sample by tree)</td> <td>各木を構築する際のカラムのサブサンプル比率。</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>reg_alpha (alpha)</td> <td>重みに対するL1正則化項。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>reg_lambda (lambda)</td> <td>重みに対するL2正則化項。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>importance_type</td> <td>feature<em>importances</em>に入力される特徴量の重要度のタイプ。'split'の場合、結果にはモデルで特徴量が使用された回数が含まれます。'gain'の場合、結果にはその特徴量を使用した分割の合計ゲインが含まれます。</td> <td>string</td> <td>{ 'gain', &#39;split&#39;}</td> <td>&#39;split&#39;</td> </tr> </tbody> </table> 7. ### ロジスティック回帰 ターゲットが**バイナリ値**の場合、ロジスティック分類を使用できます。値を0と1の間にマッピングします。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w20p">パラメータ</th> <th class="w35p">説明</th> <th class="w10p">データ型</th> <th class="w20p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>penalty</td> <td>ペナルティのノルムを指定します:<ul style="text-align: left;"><li><strong>&#39;none&#39;</strong>:ペナルティなし<li><strong>&#39;l2&#39;</strong>:L2ペナルティ項を追加(デフォルト)<li><strong>&#39;l1&#39;</strong>:L1ペナルティ項を追加<li><strong>&#39;elasticnet&#39;</strong>:L1とL2の両方のペナルティ項を追加</ul></td> <td>string</td> <td>{ 'l1', 'l2', 'elasticnet', 'none'}</td> <td>'l2'</td> </tr> <tr> <td>dual</td> <td>双対または主問題の定式化。双対定式化はliblinearソルバーを使用するl2ペナルティに対してのみ実装されています。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>停止基準の許容値。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> <tr> <td>C</td> <td>正則化の強さの逆数。正のfloatである必要があります。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>solver</td> <td>最適化問題に使用するアルゴリズム。</td> <td>string</td> <td>{ 'newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga' }</td> <td>'lbfgs'</td> </tr> <tr> <td>fit_intercept</td> <td>定数(バイアスまたは切片)を決定関数に追加するかどうかを指定します。</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>l1_ratio</td> <td>Elastic-Netの混合パラメータ。<br>0 &lt;= l1_ratio &lt;= 1。penalty=&#39;elasticnet&#39;の場合のみ使用されます。</td> <td>float</td> <td>[0, 1]</td> <td>None</td> </tr> <tr> <td>multi_class</td> <td>'ovr'オプションが選択された場合、各ラベルに対してバイナリ問題がフィッティングされます。'multinomial'の場合、データがバイナリであっても、確率分布全体にわたって多項損失が最小化されます。</td> <td>string</td> <td>{&#39;auto&#39;, &#39;ovr&#39;, &#39;multinomial&#39;}</td> <td>&#39;auto&#39;</td> </tr> <tr> <td>intercept_scaling</td> <td>ソルバー'liblinear'が使用され、self.fit_interceptがTrueに設定されている場合にのみ有用です。切片はintercept_scaling * synthetic_feature_weightとなります。</td> <td>float</td> <td>(0, +Inf)</td> <td>1.0</td> </tr> </tbody> </table> 注意: "solver"パラメータの値は、"penalty"パラメータの一部の値のみをサポートしています。ソルバーがサポートするペナルティは以下の通りです: * newton-cg' - ['l2', 'none'] * 'lbfgs' - ['l2', 'none'] * 'liblinear' - ['l1', 'l2'] * 'sag' - ['l2', 'none'] * 'saga' - ['elasticnet', 'l1', 'l2', 'none'] 8. ### Naive Bayes分類 Naive Bayesは**ベイズの定理**を使用する分類器です。各クラスの帰属確率(特定のレコードやデータポイントが特定のクラスに属する確率)を予測します。最も高い確率を持つクラスが最も可能性の高いクラスとして考慮されます。 9. ### Random-Forest分類 ランダムフォレストは、多数の決定木で構成される分類アルゴリズムです。個々の木を構築する際にバギングと特徴量のランダム性を使用して、個々の木よりも予測精度が高い非相関な木の森を作成しようとします。 バギングは、元のデータセットのランダムなサブセットに対してベース分類器/回帰器をフィッティングし、その後、個々の予測を集約(投票または平均化)して最終予測を形成するアンサンブルメタエスティメータです。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w20p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_estimators<br> (エスティメータの数)</td> <td>フォレスト内の木の数。</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>criterion</td> <td>分割の品質を測定する関数。</td> <td>string</td> <td>{"gini", "entropy"}</td> <td>"gini"</td> </tr> <tr> <td>max_depth</td> <td>木の最大深度。Noneの場合、すべてのリーフが純粋になるか、すべてのリーフがmin_samples_splitサンプル未満になるまでノードが展開されます。</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>内部ノードを分割するために必要なサンプルの最小数。</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>リーフノードに必要なサンプルの最小数。任意の深さの分割ポイントは、左右の各ブランチに少なくともmin_samples_leafのトレーニングサンプルが残る場合にのみ考慮されます。</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>リーフノードに存在するために必要な、(すべての入力サンプルの)重みの合計の最小加重分数。</td> <td>float</td> <td>[0, 0.5]</td> <td>0.0</td> </tr> <tr> <td>max_features</td> <td>最適な分割を探す際に考慮する特徴量の数。</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt"}</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>ベストファースト方式でmax_leaf_nodesの木を成長させます。ベストノードは不純度の相対的な減少として定義されます。</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>この分割がこの値以上の不純度の減少をもたらす場合にノードが分割されます。</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>bootstrap</td> <td>木を構築する際にブートストラップサンプルを使用するかどうか。Falseの場合、各木の構築にデータセット全体が使用されます。</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>oob_score(out of bag score)</td> <td>汎化スコアの推定にout-of-bagサンプルを使用するかどうか。bootstrap=Trueの場合のみ利用可能です。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>warm_start</td> <td>Trueに設定すると、前回のfitの呼び出しの解を再利用し、アンサンブルにエスティメータを追加します。Falseの場合は、完全に新しいフォレストをフィッティングします。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> </tbody> </table> 10. ### SVM分類 SVM(サポートベクターマシン)は、分類および回帰問題のための線形モデルです。線形問題と非線形問題の両方を解くことができ、多くの実際的な問題に対してうまく機能します。SVMのアイデアはシンプルです:アルゴリズムはデータをクラスに分離する直線または超平面を作成します。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w35p">説明</th> <th class="w10p">データ型</th> <th class="w15p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>C</td> <td>正則化パラメータ。正則化の強さはCに反比例します。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>kernel</td> <td>アルゴリズムで使用するカーネルタイプを指定します。指定しない場合、'rbf'が使用されます。</td> <td>string</td> <td>{'linear', 'poly', 'rbf', 'sigmoid'}</td> <td>'rbf'</td> </tr> <tr> <td>degree</td> <td>多項式カーネル関数('poly')の次数。他のすべてのカーネルでは無視されます。</td> <td>int</td> <td>[0, +Inf)</td> <td>3</td> </tr> <tr> <td>gamma</td> <td>'rbf'、'poly'、'sigmoid'のカーネル係数。</td> <td>string or float</td> <td>{'scale', 'auto'} or (0.0, +Inf)</td> <td>'scale'</td> </tr> <tr> <td>coef0</td> <td>カーネル関数の独立項。'poly'と'sigmoid'でのみ重要です。</td> <td>float</td> <td>(-Inf, +Inf)</td> <td>0.0</td> </tr> <tr> <td>shrinking</td> <td>縮小ヒューリスティックを使用するかどうか。</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>probability</td> <td>確率推定を有効にするかどうか。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>停止基準の許容値。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-3</td> </tr> <tr> <td>decision_function_shape</td> <td>他のすべての分類器と同様に(n_samples, n_classes)の形状を持つone-vs-rest('ovr')決定関数を返すか、(n_samples, n_classes * (n_classes - 1) / 2)の形状を持つlibsvmの元のone-vs-one('ovo')決定関数を返すか。</td> <td>string</td> <td>{'ovo', 'ovr'}</td> <td>'ovr'</td> </tr> <tr> <td>break_ties</td> <td>trueの場合、decision_function_shape=&#39;ovr&#39;かつクラス数が2より大きい場合、predictはdecision_functionの信頼値に従ってタイを解消します。それ以外の場合は、タイのクラスの中で最初のクラスが返されます。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> </tbody> </table> 11. ### XGB分類 XGBoostは、高効率で柔軟かつポータブルに設計された最適化された分散勾配ブースティングライブラリです。Gradient Boostingフレームワークの下で機械学習アルゴリズムを実装しています。多くのデータサイエンスの問題を迅速かつ正確に解決するための並列ツリーブースティングを提供します。L1およびL2正則化を使用してポイントを予測し、トレーニングが高速です。 各モデルにはFit(モデルのトレーニング)、predict(新しいデータの予測)、get metrics(モデルの精度やその他のメトリックの取得)、feature_importances(予測のための入力特徴量の重要度)があります。 Adaboost、CatBoost、Decision tree、Gradient boost(GB)、LGBM、RandomForest、SVM、XGBの基本的な動作原理は、回帰と分類の両方でほぼ同一です。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>booster</td> <td>使用するブースターを決定します。</td> <td>string</td> <td>{'gbtree&#39;, &#39;gblinear&#39;, &#39;dart&#39; }</td> <td>'gbtree'</td> </tr> <tr> <td>learning_rate</td> <td>過学習を防ぐために更新に使用されるステップサイズの縮小。各ブースティングステップの後、新しい特徴量の重みを直接取得でき、etaは特徴量の重みを縮小してブースティングプロセスをより保守的にします。</td> <td>float</td> <td>[0,1]</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (エスティメータの数)</td> <td>フィッティングする木の数。</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>objective</td> <td>バイナリ分類のためのロジスティック回帰。</td> <td>string</td> <td>以下の表に記載。</td> <td>&quot;binary:logistic&quot;</td> </tr> <tr> <td>subsample</td> <td>サンプルの割合を制御します。</td> <td>int</td> <td>(0,1]</td> <td>1</td> </tr> <tr> <td>max_depth</td> <td>木の最大深度。</td> <td>int</td> <td>(0, +Inf)</td> <td>3</td> </tr> <tr> <td>max_delta_step</td> <td>値が0に設定されている場合、制約はありません。正の値に設定すると、更新ステップをより保守的にするのに役立ちます。通常このパラメータは必要ありませんが、クラスが極端に不均衡な場合のロジスティック回帰に役立つことがあります。</td> <td>int or float</td> <td>[0, +Inf)</td> <td>0</td> </tr> <tr> <td>colsample_bytree (column sample by tree)</td> <td>カラムのランダムサンプルの割合。</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>colsample_bylevel (column sample by level)</td> <td>各レベルのカラムのサブサンプル比率。サブサンプリングは木の新しい深度レベルに到達するたびに行われます。カラムは現在の木に対して選択されたカラムのセットからサブサンプリングされます。</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>min_child_weight</td> <td>重みの最小合計。</td> <td>int</td> <td>[0, +Inf)</td> <td>1</td> </tr> <tr> <td>reg_alpha (alpha)</td> <td>重みに対するL1正則化項。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>reg_lambda (lambda)</td> <td>重みに対するL2正則化項。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>scale_pos_weight (scale positive weight)</td> <td>正と負の重みのバランスを制御します。不均衡なクラスに有用です。</td> <td>int</td> <td>[0, +Inf)</td> <td>1</td> </tr> </tbody> </table> **"OBJECTIVE"パラメータの設定可能な値:** {binary:logistic, binary:logitraw, binary:hinge, multi:softmax, multi:softprob} -------------------------------------------------------------------------------- title: "回帰アルゴリズム" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.659Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/ml-algorithms/regression-algorithms/" service: "QuickML" -------------------------------------------------------------------------------- # 回帰アルゴリズム 回帰は、連続的な量を予測するタスクです。QuickMLは以下の回帰アルゴリズムを備えています。 1. ### AdaBoost回帰 AdaBoostは、小さな1ステップ(1レベル)の決定木を連続的に構築し、前の木で見逃した予測困難なケースに各木を適応させ、すべての木を1つのモデルに統合する機械学習アルゴリズムです。 この回帰は、まず元のデータセットに回帰器をフィッティングし、次に同じデータセットに回帰器の追加コピーをフィッティングします。これらのインスタンスの重みは、現在の予測の誤差に応じて調整されます。これにより、後続の回帰器はより困難なケースに重点を置くようになります。 機械学習におけるブースティングは、複数の単純なモデルを1つの複合モデルに組み合わせる方法です。これがブースティングが加法モデルとも呼ばれる理由です。単純なモデル(弱学習器とも呼ばれる)は、モデル内の既存の木を変更せずに1つずつ追加されるためです。より多くの単純なモデルを組み合わせるほど、最終的な完全なモデルはより強力な予測器となります。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>base_estimator</td> <td>ブーストされたアンサンブルを構築するための基本推定器です。Noneの場合、基本推定器はmax_depth=3で初期化されたDecisionTreeRegressorです。</td> <td>object</td> <td>任意の回帰モデル</td> <td>None</td> </tr> <tr> <td>n_estimators <br>(推定器の数)</td> <td>ブースティングが終了する推定器の最大数です。完全なフィットの場合、学習手順は早期に停止されます。</td> <td>int</td> <td>[1, 500]</td> <td>50</td> </tr> <tr> <td>learning_rate</td> <td>各ブースティングイテレーションで各回帰器に適用される重みです。学習率が高いほど、各回帰器の寄与が大きくなります。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>loss</td> <td>各ブースティングイテレーション後に重みを更新する際に使用する損失関数です。</td> <td>string</td> <td>{'linear', 'square', 'exponential'}</td> <td>&quot;linear&quot;</td> </tr> </tbody> </table> 2. ### CatBoost回帰 CatBoostは勾配ブースティング決定木に基づいています。トレーニング中、一連の決定木が連続的に構築されます。後続の各木は、前の木と比較して損失が低減されるように構築されます。木の数は開始パラメータによって制御されます。 他のアルゴリズムと比較して、予測時間が大幅に短くなります。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>learning_rate</td> <td>トレーニングに使用される学習率です。</td> <td>float</td> <td>(0,1]</td> <td>0.03</td> </tr> <tr> <td>l2_leaf_reg (l2_leaf_regularization)</td> <td>コスト関数のL2正則化項の係数です。</td> <td>float</td> <td>[0,+Inf)</td> <td>3.0</td> </tr> <tr> <td>rsm (random subspace method)</td> <td>各分割選択時に使用する特徴量の割合で、特徴量がランダムに再選択されます。</td> <td>float</td> <td>(0,1]</td> <td>None</td> </tr> <tr> <td>loss_function</td> <td>トレーニングで使用するメトリクスです。指定された値は、解決する機械学習の問題も決定します。一部のメトリクスはオプションのパラメータをサポートしています。</td> <td>string</td> <td>{&#39;RMSE&#39;, &#39;MAE&#39;, &#39;Quantile:alpha=value, &#39;LogLinQuantile: alpha=value&#39;, &#39;Poisson&#39;, &#39;MAPE&#39;, &#39;Lq:q=value&#39;, &#39;SurvivalAft:dist=value; scale=value&#39;} Note : range of value = [0, 1]</td> <td>&#39;RMSE&#39;</td> </tr> <tr> <td>nan_mode</td> <td>入力データセットの欠損値を処理する方法です。</td> <td>string</td> <td>{&#39;Forbidden&#39;, &#39;Min&#39;, &#39;Max&#39;}</td> <td>Min</td> </tr> <tr> <td>leaf_estimation_method</td> <td>リーフの値を計算するために使用される方法です。</td> <td>string</td> <td>{&quot;Newton&quot;, &quot;Gradient&quot;}</td> <td>None</td> </tr> <tr> <td>score_function</td> <td>木の構築中に次の分割を選択するために使用されるスコアタイプです。</td> <td>string</td> <td>{L2, Cosine}</td> <td>Cosine</td> </tr> <tr> <td>max_depth</td> <td>木の最大深度です。</td> <td>int</td> <td>[1,+Inf)</td> <td>None</td> </tr> <tr> <td>n_estimators <br>(推定器の数)</td> <td>機械学習の問題を解決する際に構築できる木の最大数です。イテレーション数を制限する他のパラメータを使用する場合、最終的な木の数はこのパラメータで指定された数よりも少なくなる場合があります。</td> <td>int</td> <td>[1, 500]</td> <td>None</td> </tr> </tbody> </table> 3. ### Decision-Tree回帰 決定木は、ツリー構造の形式で分類または回帰モデルを構築します。データセットをより小さなサブセットに分割しながら、同時に関連する決定木が段階的に開発されます。決定木はカテゴリカルデータと数値データの両方を処理できます。一連の特徴量の出力値を予測する際、その特徴量セットが属するサブセットに基づいて出力を予測します。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>criterion</td> <td>分割の品質を測定する関数です。</td> <td>string</td> <td>{&quot;mse&quot;, &quot;friedman_mse&quot;, &quot;mae&quot;}</td> <td>&quot;mse"</td> </tr> <tr> <td>splitter</td> <td>各ノードでの分割を選択するために使用される戦略です。</td> <td>string</td> <td>{"best", "random"}</td> <td>"best"</td> </tr> <tr> <td>max_depth</td> <td>木の最大深度です。Noneの場合、すべてのリーフが純粋になるか、すべてのリーフに含まれるサンプル数がmin_samples_split未満になるまでノードが展開されます。</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>内部ノードを分割するために必要な最小サンプル数です。</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>リーフノードに必要な最小サンプル数です。任意の深さでの分割点は、左右の各ブランチに少なくともmin_samples_leafのトレーニングサンプルが残る場合にのみ考慮されます。</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>リーフノードに必要な、すべての入力サンプルの重みの合計に対する最小加重割合です。</td> <td>float</td> <td>[0, 0.5]</td> <td>0</td> </tr> <tr> <td>max_features</td> <td>最良の分割を探す際に考慮する特徴量の数です。</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"},</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>best-first方式でmax_leaf_nodesのリーフを持つ木を成長させます。最良のノードは不純度の相対的な減少として定義されます。</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>この分割によって不純度がこの値以上に減少する場合にノードが分割されます。</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> </tbody> </table> 4. ### ElasticNet回帰 Elastic Netは、L1(Lasso回帰)とL2(Ridge回帰)の2つの一般的なペナルティ関数を組み合わせた、広く使用される正則化線形回帰の一種です。Elastic Netは、トレーニング中に損失関数に正則化ペナルティを追加する線形回帰の拡張です。 正則化は、モデルに追加情報を加えることで過学習を防ぐ手法です。正則化手法では、特徴量の数を維持しながら特徴量の大きさを減少させます。 Lasso回帰では、予測が特定の変数に過度に依存する場合にモデルに小さなバイアス(予測値と実際の値の差)が生じることがあります。このような場合、Elastic NetはLassoとRidge回帰の両方の正則化を組み合わせることで、より優れたパフォーマンスを発揮します。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>alpha</td> <td>ペナルティ項に乗算される定数です。</td> <td>float</td> <td>(0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>l1_ratio</td> <td>ElasticNetの混合パラメータで、<br>0 &lt;= l1_ratio &lt;= 1です。<br> l1_ratio = 0の場合、ペナルティはL2ペナルティです。<br> l1_ratio = 1の場合、L1ペナルティです。<br> 0 &lt; l1_ratio &lt; 1の場合、ペナルティはL1とL2の組み合わせです。</td> <td>float</td> <td>[0, 1]</td> <td>0.5</td> </tr> <tr> <td>fit_intercept</td> <td>切片を推定するかどうかを指定します。</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>normalize</td> <td>このパラメータは、fit_interceptがFalseに設定されている場合は無視されます。Trueの場合、回帰前に回帰変数Xは平均を引いてl2ノルムで割ることにより正規化されます。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>最適化の許容値です。更新がtolより小さい場合、最適化コードは双対ギャップの最適性をチェックし、tolより小さくなるまで続行します。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> <tr> <td>warm_start</td> <td>Trueに設定すると、前回のfit呼び出しの解を初期化として再利用します。それ以外の場合は、前回の解を消去します。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>positive</td> <td>Trueに設定すると、係数を正の値に強制します。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>selection</td> <td>'random'に設定すると、デフォルトで特徴量を順次ループするのではなく、各イテレーションでランダムな係数が更新されます。</td> <td>string</td> <td>{&quot;cyclic&quot;, &quot;random&quot;}</td> <td>&quot;cyclic&quot;</td> </tr> </tbody> </table> 5. ### GB回帰 勾配ブースティング回帰は、現在の予測と既知の正しいターゲット値との差を計算します。 この差は残差と呼ばれます。この値を取得した後、勾配ブースティング回帰は特徴量をその残差にマッピングする弱モデル(決定木)をトレーニングします。弱モデルによって予測された残差は既存のモデル入力に追加され、モデルを正しいターゲットに向けて修正します。このステップを複数回繰り返すことで、全体的なモデルの予測が向上します。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>loss</td> <td>最適化する損失関数です。'ls'は最小二乗回帰を指します。'lad'(最小絶対偏差)は、入力変数の順序情報のみに基づく非常にロバストな損失関数です。'huber'は両者の組み合わせです。'quantile'は分位回帰を可能にします(分位数を指定するにはalphaを使用します)。</td> <td>string</td> <td>{&#39;ls&#39;, &#39;lad&#39;, &#39;huber&#39;, &#39;quantile&#39;}</td> <td>'ls'</td> </tr> <tr> <td>learning_rate</td> <td>学習率は、learning_rateによって各木の寄与を縮小させます。</td> <td>float</td> <td>(0.0, +inf)</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (推定器の数)</td> <td>実行するブースティングステージの数です。勾配ブースティングは過学習に対してかなりロバストであるため、通常は大きな数を指定するとパフォーマンスが向上します。</td> <td>int</td> <td>[1, 500)</td> <td>100</td> </tr> <tr> <td>criterion</td> <td>分割の品質を測定する関数です。</td> <td>string</td> <td>{&#39;friedman_mse&#39;, &#39;mse&#39;, &#39;mae&#39;}</td> <td>'friedman_mse'</td> </tr> <tr> <td>subsample</td> <td>個々の基本学習器のフィッティングに使用されるサンプルの割合です。</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>max_depth</td> <td>個々の回帰推定器の最大深度です。最大深度はツリー内のノード数を制限します。</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>内部ノードを分割するために必要な最小サンプル数です。</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>リーフノードに必要な最小サンプル数です。任意の深さでの分割点は、左右の各ブランチに少なくともmin_samples_leafのトレーニングサンプルが残る場合にのみ考慮されます。</td> <td>int or float</td> <td> [1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>リーフノードに必要な、すべての入力サンプルの重みの合計に対する最小加重割合です。</td> <td>float</td> <td>[0, 0.5]</td> <td>0</td> </tr> <tr> <td>max_features</td> <td>最良の分割を探す際に考慮する特徴量の数です。</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"}</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>best-first方式でmax_leaf_nodesのリーフを持つ木を成長させます。最良のノードは不純度の相対的な減少として定義されます。</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>この分割によって不純度がこの値以上に減少する場合にノードが分割されます。</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>init</td> <td>初期予測の計算に使用される推定器オブジェクトです。initはfitとpredictを提供する必要があります。'zero'の場合、初期の生の予測はゼロに設定されます。</td> <td>object</td> <td>推定器(CatBoost以外の回帰モデル)または'zero'</td> <td>None</td> </tr> <tr> <td>warm_start</td> <td>Trueに設定すると、前回のfit呼び出しの解を再利用し、アンサンブルにさらに推定器を追加します。それ以外の場合は、前回の解を消去します。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>早期停止のための許容値です。n_iter_no_changeイテレーション(数値に設定されている場合)で損失が少なくともtol以上改善しない場合、トレーニングが停止します。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> </tbody> </table> 6. ### KNN回帰 KNN回帰は、クエリ(データインスタンス)とデータ内のすべての例との間の距離を求め、クエリに最も近い指定数の例(K)を選択し、同じ近傍の観測値の平均であるポイントに投票することで動作します。 言い換えれば、同じ近傍の観測値を平均化することにより、独立変数(入力変数)と連続的な結果(ターゲット)との間の関連性を近似します。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_neighbors <br>(近傍の数)</td> <td>kneighborsクエリにデフォルトで使用する近傍の数です。</td> <td>int</td> <td>[1, n]<br> n = データセットの総レコード数</td> <td>5</td> </tr> <tr> <td>weights</td> <td>予測で使用される重み関数です。<ul style="text-align: left; ;"><li><strong>'uniform'</strong>:均一な重みです。各近傍のすべてのポイントが等しく重み付けされます。<li><strong>'distance'</strong>:距離の逆数でポイントに重みを付けます。この場合、クエリポイントに近い近傍は、遠い近傍よりも大きな影響を与えます。</ul></td> <td>string</td> <td>{'uniform', 'distance'}</td> <td>'uniform'</td> </tr> <tr> <td>algorithm</td> <td>最近傍の計算に使用されるアルゴリズムです。</td> <td>string</td> <td>{'auto', 'ball_tree', 'kd_tree', 'brute'}</td> <td>'auto'</td> </tr> <tr> <td>leaf_size</td> <td>BallTreeまたはKDTreeに渡されるリーフサイズです。これは構築とクエリの速度、およびツリーの格納に必要なメモリに影響を与える可能性があります。最適な値は問題の性質に依存します。</td> <td>int</td> <td> (1, +Inf)</td> <td>30</td> </tr> <tr> <td>p</td> <td>Minkowskiメトリクスのべき乗パラメータです。p = 1の場合、manhattan_distance(l1)の使用と同等であり、p = 2の場合はeuclidean_distance(l2)です。<br>任意のpの場合、minkowski_distance(l_p)が使用されます。</td> <td>int</td> <td>[1,3]</td> <td>2</td> </tr> <tr> <td>metric</td> <td>距離計算に使用するメトリクスです。デフォルトは"minkowski"で、p = 2の場合は標準的なユークリッド距離になります。</td> <td>str</td> <td>{'cityblock', 'cosine', &#39;euclidean&#39;, &#39;l1&#39;, &#39;l2&#39;, &#39;manhattan&#39;, &#39;nan_euclidean&#39;, 'minkowski'}</td> <td>'minkowski'</td> </tr> </tbody> </table> 7. ### Kernel回帰 この回帰は、散布図に線をフィッティングするものです。カーネル値は、与えられた入力から出力を予測するための重みを導出するために使用されます。カーネル回帰は、確率変数の条件付き期待値を推定するためのノンパラメトリックな手法です。目的は、確率変数XとYのペア間の非線形関係を見つけることです。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>alpha</td> <td>正則化の強度で、正のfloat値である必要があります。正則化は問題の条件付けを改善し、推定値の分散を減少させます。値が大きいほど、より強い正則化が指定されます。</td> <td>float</td> <td>[0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>kernel</td> <td>内部で使用されるカーネルマッピングです。このパラメータはpairwise_kernelに直接渡されます。kernelが文字列の場合、pairwise.PAIRWISE_KERNEL_FUNCTIONSのメトリクスの1つまたは"precomputed"である必要があります。kernelが"precomputed"の場合、Xはカーネル行列と見なされます。</td> <td>string</td> <td>{'additive_chi2',&#39;chi2&#39; 'linear', 'poly', 'polynomial', 'rbf', 'laplacian', 'sigmoid', &#39;cosine'}</td> <td>"linear"</td> </tr> <tr> <td>gamma</td> <td>RBF、laplacian、polynomial、exponential chi2、sigmoidカーネルのGammaパラメータです。デフォルト値の解釈はカーネルに委ねられています。sklearn.metrics.pairwiseのドキュメントを参照してください。</td> <td>float</td> <td>[0, +Inf)</td> <td>None</td> </tr> <tr> <td>degree</td> <td>多項式カーネルの次数です。</td> <td>float</td> <td>[0, +Inf)</td> <td>3</td> </tr> <tr> <td>coef0</td> <td>多項式カーネルとsigmoidカーネルのゼロ係数です。</td> <td>float</td> <td>(-Inf, +Inf)</td> <td>1</td> </tr> </tbody> </table> 8. ### LGBM回帰 LGBMは、各木の出力を使用して更新される初期推定値から始まります。学習パラメータは、推定値のこの変化の大きさを制御します。任意のデータに使用でき、多くの組み込み前処理ステップが含まれているため、高い精度を提供します。 LightGBMアルゴリズムは垂直方向に成長します。つまり、リーフ単位で成長しますが、他のアルゴリズムはレベル単位で成長します。LightGBMは最大の損失を持つリーフを選択して成長させます。同じリーフを成長させる場合、レベル単位のアルゴリズムよりも多くの損失を低減できます。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>boosting_type</td> <td>ブースティングの方法です。</td> <td>string</td> <td>{'gbdt', 'dart', 'goss'}</td> <td>&#39;gbdt&#39;</td> </tr> <tr> <td>num_leaves</td> <td>基本学習器の最大ツリーリーフ数です。</td> <td>int</td> <td>(1, +Inf)</td> <td>31</td> </tr> <tr> <td>max_depth</td> <td>基本学習器の最大ツリー深度です。&lt;= 0は制限なしを意味します。</td> <td>int</td> <td>(-Inf, +Inf)</td> <td>-1</td> </tr> <tr> <td>learning_rate</td> <td>ブースティングの学習率です。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (推定器の数)</td> <td>フィットするブーストされた木の数です。</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>subsample_for_bin</td> <td>ビンの構築に使用するサンプル数です。</td> <td>int</td> <td>(0, +Inf)</td> <td>200000</td> </tr> <tr> <td>min_split_gain</td> <td>木のリーフノードでさらに分割を行うために必要な最小損失減少量です。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>min_child_weight</td> <td>子(リーフ)に必要なインスタンスの重み(ヘッセ行列)の最小合計です。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-3</td> </tr> <tr> <td>min_child_samples</td> <td>子(リーフ)に必要なデータの最小数です。</td> <td>int</td> <td>[0, +Inf)</td> <td>20</td> </tr> <tr> <td>subsample</td> <td>トレーニングインスタンスのサブサンプル比率です。</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>subsample_freq (subsample_frequency)</td> <td>サブサンプルの頻度です。&lt;= 0は無効を意味します。</td> <td>int</td> <td>(-Inf, +Inf)</td> <td>0</td> </tr> <tr> <td>colsample_bytree (column sample by tree)</td> <td>各木を構築する際の列のサブサンプル比率です。</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>reg_alpha (alpha)</td> <td>重みに対するL1正則化項です。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>reg_lambda (lambda)</td> <td>重みに対するL2正則化項です。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>importance_type</td> <td>feature_importances_に入力される特徴量の重要度のタイプです。'split'の場合、結果にはモデルで特徴量が使用された回数が含まれます。'gain'の場合、結果にはその特徴量を使用した分割の総ゲインが含まれます。</td> <td>string</td> <td>{ 'gain', &#39;split&#39;}</td> <td>&#39;split&#39;</td> </tr> </tbody> </table> 9. ### Lasso回帰 Lasso回帰は正則化手法です。より正確な予測のために回帰手法に対して使用されます。Lasso回帰は縮小を使用する線形回帰の一種です。縮小とは、データ値が平均のような中心点に向かって縮小されることです。Lasso手順は、シンプルでスパースなモデル(つまり、パラメータが少ないモデル)を促進します。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>alpha</td> <td>L1項に乗算される定数で、正則化の強度を制御します。alphaは非負のfloat値である必要があります。</td> <td>float</td> <td>(0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>fit_intercept</td> <td>このモデルの切片を計算するかどうかを指定します。Falseに設定すると、計算で切片は使用されません。</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>normalize</td> <td>このパラメータは、fit_interceptがFalseに設定されている場合は無視されます。Trueの場合、回帰前に回帰変数Xは平均を引いてl2ノルムで割ることにより正規化されます。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>最適化の許容値です。更新がtolより小さい場合、最適化コードは双対ギャップの最適性をチェックし、tolより小さくなるまで続行します。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> <tr> <td>warm_start</td> <td>Trueに設定すると、前回のfit呼び出しの解を初期化として再利用します。それ以外の場合は、前回の解を消去します。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>positive</td> <td>Trueに設定すると、係数を正の値に強制します。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>selection</td> <td>'random'に設定すると、デフォルトで特徴量を順次ループするのではなく、各イテレーションでランダムな係数が更新されます。</td> <td>string</td> <td>{&quot;cyclic&quot;, &quot;random&quot;}</td> <td>&quot;cyclic&quot;</td> </tr> </tbody> </table> 10. ### Linear回帰 線形回帰は、直線を使用して独立変数(入力)と従属変数(ターゲット)の間の線形関係を推定する回帰モデルです。回帰タイプの問題の基本的なアルゴリズムです。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>fit_intercept</td> <td>このモデルの切片を計算するかどうかを指定します。Falseに設定すると、計算で切片は使用されません。</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>normalize</td> <td>このパラメータは、fit_interceptがFalseに設定されている場合は無視されます。Trueの場合、回帰前に回帰変数Xは平均を引いて<br>l2ノルムで割ることにより正規化されます。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> </tbody> </table> 11. ### Random-Forest回帰 ランダムフォレストは、多数の決定木で構成される分類および回帰アルゴリズムです。個々の木を構築する際にバギングと特徴量のランダム性を使用し、委員会による予測が個々の木よりも正確な、無相関の木のフォレストを作成しようとします。 バギングは、元のデータセットのランダムなサブセットで基本分類器/回帰器をフィットさせ、個々の予測を集約(投票または平均化)して最終的な予測を形成するアンサンブルメタ推定器です。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_estimators</td> <td>フォレスト内の木の数です。</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>criterion</td> <td>分割の品質を測定する関数です。サポートされている基準は、特徴量選択基準として分散減少に等しい平均二乗誤差の"squared_error"と、平均絶対誤差の"absolute_error"です。</td> <td>string</td> <td>{&quot;mse&quot;, &quot;mae&quot;}</td> <td>"mse"</td> </tr> <tr> <td>max_depth</td> <td>木の最大深度です。Noneの場合、すべてのリーフが純粋になるか、すべてのリーフに含まれるサンプル数がmin_samples_split未満になるまでノードが展開されます。</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>内部ノードを分割するために必要な最小サンプル数です。</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>リーフノードに必要な最小サンプル数です。任意の深さでの分割点は、左右の各ブランチに少なくともmin_samples_leafのトレーニングサンプルが残る場合にのみ考慮されます。</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>リーフノードに必要な、すべての入力サンプルの重みの合計に対する最小加重割合です。sample_weightが指定されていない場合、サンプルは等しい重みを持ちます。</td> <td>float</td> <td>[0, 0.5]</td> <td>0.0</td> </tr> <tr> <td>max_features</td> <td>最良の分割を探す際に考慮する特徴量の数です。</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"}, None</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>best-first方式でmax_leaf_nodesのリーフを持つ木を成長させます。最良のノードは不純度の相対的な減少として定義されます。</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>この分割によって不純度がこの値以上に減少する場合にノードが分割されます。</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>bootstrap</td> <td>木の構築時にブートストラップサンプルを使用するかどうかを指定します。Falseの場合、各木の構築にデータセット全体が使用されます。</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>oob_score (out of bag score)</td> <td>汎化スコアを推定するためにout-of-bagサンプルを使用するかどうかを指定します。bootstrap=Trueの場合のみ利用可能です。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>warm_start</td> <td>Trueに設定すると、前回のfit呼び出しの解を再利用し、アンサンブルにさらに推定器を追加します。それ以外の場合は、完全に新しいフォレストをフィットします。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> </tbody> </table> 12. ### Ridge回帰 Ridge回帰は、独立変数が高度に相関しているシナリオで重回帰モデルの係数を推定する方法です。入力変数がターゲットと高度に相関している場合に使用できます。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>alpha</td> <td>L2項に乗算される定数で、正則化の強度を制御します。</td> <td>float</td> <td>(0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>fit_intercept</td> <td>このモデルの切片をフィットするかどうかを指定します。Falseに設定すると、計算で切片は使用されません。</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>normalize</td> <td>このパラメータは、fit_interceptがFalseに設定されている場合は無視されます。Trueの場合、回帰前に回帰変数Xは平均を引いて<br> l2ノルムで割ることにより正規化されます。</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>解の精度です。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> <tr> <td>solver</td> <td>計算ルーチンで使用するソルバーです:</td> <td>string</td> <td>{'auto', 'svd', 'cholesky', 'lsqr', 'sparse_cg', 'sag', 'saga'}</td> <td>'auto'</td> </tr> </tbody> </table> 注意: solverの値は以下の通りです: * 'auto'はデータの種類に基づいてソルバーを自動的に選択します。 * 'svd'はXの特異値分解を使用してRidge係数を計算します。最も安定したソルバーであり、特に特異行列に対して'cholesky'より安定していますが、速度は遅くなります。 * 'cholesky'は標準的なscipy.linalg.solve関数を使用して閉形式の解を取得します。 * 'sparse_cg'はscipy.sparse.linalg.cgにある共役勾配ソルバーを使用します。反復アルゴリズムとして、このソルバーは大規模データに対して'cholesky'よりも適しています(tolとmax_iterを設定可能)。 * 'lsqr'は専用の正則化最小二乗ルーチンscipy.sparse.linalg.lsqrを使用します。最も高速で、反復手順を使用します。 * 'sag'は確率的平均勾配降下法を使用し、'saga'はSAGAと呼ばれる改良された不偏バージョンを使用します。両方の方法も反復手順を使用し、n_samplesとn_featuresの両方が大きい場合、他のソルバーよりも高速であることが多いです。'sag'と'saga'の高速収束は、特徴量がほぼ同じスケールである場合にのみ保証されます。sklearn.preprocessingのスケーラーでデータを前処理できます。 13. ### SVM回帰 サポートベクター回帰は離散値を予測するために使用されます。サポートベクター回帰はSVMと同じ原理を使用します。SVMの基本的な考え方は、最良のフィット線を見つけることです。SVMでは、最良のフィット線は最大数のポイントを持つ超平面です。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>C</td> <td>正則化パラメータです。正則化の強度はCに反比例します。厳密に正の値である必要があります。</td> <td>float</td> <td>(0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>kernel</td> <td>アルゴリズムで使用されるカーネルタイプを指定します。指定がない場合、rbfが使用されます。callableが指定された場合、カーネル行列の事前計算に使用されます。</td> <td>string</td> <td>{'linear', 'poly', 'rbf', 'sigmoid'}</td> <td>'rbf'</td> </tr> <tr> <td>degree</td> <td>多項式カーネル関数('poly')の次数です。</td> <td>int</td> <td>[0, +Inf)</td> <td>3</td> </tr> <tr> <td>gamma</td> <td>'rbf'、'poly'、'sigmoid'のカーネル係数です。</td> <td>string or float</td> <td>{'scale', 'auto'} or (0.0, +Inf)</td> <td>'scale'</td> </tr> <tr> <td>coef0</td> <td>カーネル関数の独立項です。'poly'と'sigmoid'でのみ有効です。</td> <td>float</td> <td>(-Inf, +Inf)</td> <td>0.0</td> </tr> <tr> <td>shrinking</td> <td>縮小ヒューリスティックを使用するかどうかを指定します。</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>tol (tolerance)</td> <td>停止基準の許容値です。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-3</td> </tr> <tr> <td>epsilon</td> <td>epsilon-SVMモデルのイプシロンです。<br>実際の値からの距離がイプシロン以内に予測されたポイントに対してトレーニング損失関数でペナルティが関連付けられないepsilon-tubeを指定します。</td> <td>float</td> <td>[0, +Inf)</td> <td>0.1</td> </tr> </tbody> </table> 14. ### XGB回帰 XGBoostは、高効率、柔軟性、移植性を実現するように設計された最適化された分散勾配ブースティングライブラリです。勾配ブースティングフレームワークの下で機械学習アルゴリズムを実装します。多くのデータサイエンスの問題を迅速かつ正確に解決するための並列ツリーブースティングを提供します。L1およびL2正則化を使用してポイントを予測し、高速にトレーニングします。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w10p">データ型</th> <th class="w25p">設定可能な値</th> <th class="w20p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>booster</td> <td>使用するブースターを決定します。</td> <td>string</td> <td>{'gbtree&#39;, &#39;gblinear&#39;, &#39;dart&#39; }</td> <td>'gbtree'</td> </tr> <tr> <td>learning_rate</td> <td>過学習を防ぐために更新で使用されるステップサイズの縮小です。各ブースティングステップの後、新しい特徴量の重みを直接取得でき、etaは特徴量の重みを縮小させてブースティングプロセスをより保守的にします。</td> <td>float</td> <td>[0,1]</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br>(推定器の数)</td> <td>フィットする木の数です。</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>objective</td> <td>バイナリ分類のためのロジスティック回帰です。</td> <td>string</td> <td>以下の表の下に記載されています。</td> <td>&quot;reg:linear&quot;</td> </tr> <tr> <td>subsample</td> <td>サンプルの比率を制御します。</td> <td>int</td> <td>(0,1]</td> <td>1</td> </tr> <tr> <td>max_depth</td> <td>木の最大深度です。</td> <td>int</td> <td>(0, +Inf)</td> <td>3</td> </tr> <tr> <td>max_delta_step</td> <td>値が0に設定されている場合、制約はありません。正の値に設定すると、更新ステップをより保守的にするのに役立ちます。通常このパラメータは不要ですが、クラスが極端に不均衡な場合のロジスティック回帰に役立つ場合があります。</td> <td>int or float</td> <td>[0, +Inf)</td> <td>0</td> </tr> <tr> <td>colsample_bytree (column sample by tree)</td> <td>列のランダムサンプルの割合です。</td> <td>float</td> <td>(0, 1]</td> <td>1.0</td> </tr> <tr> <td>colsample_bylevel (column sample by level)</td> <td>各レベルの列のサブサンプル比率です。サブサンプリングはツリーで新しい深度レベルに達するたびに1回発生します。列は現在のツリーに選択された列のセットからサブサンプリングされます。</td> <td>float</td> <td>(0, 1]</td> <td>1.0</td> </tr> <tr> <td>min_child_weight</td> <td>重みの最小合計です。</td> <td>int</td> <td>[0, +Inf)</td> <td>1</td> </tr> <tr> <td>reg_alpha (alpha)</td> <td>重みに対するL1正則化項です。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>reg_lambda (lambda)</td> <td>重みに対するL2正則化項です。</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>scale_pos_weight (scale positive weight)</td> <td>正と負の重みのバランスを制御します。不均衡なクラスに有用です。</td> <td>int</td> <td>[0, +Inf)</td> <td>1</td> </tr> </tbody> </table> **"OBJECTIVE"パラメータの設定可能な値:** { "rank:pairwise", reg:tweedie, "reg:gamma", "reg:linear", "count:poisson"} -------------------------------------------------------------------------------- title: "アンサンブル" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.660Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/ml-algorithms/ensemble/" service: "QuickML" -------------------------------------------------------------------------------- # アンサンブル アンサンブル学習は、複数のモデルの出力を組み合わせることで予測精度と頑健性を向上させる機械学習技術です。 #### スタッキングアンサンブル技術 1. **分類アンサンブル** - 投票技術(ハード投票とソフト投票)を使用して、複数の他のモデルの予測を組み合わせる分類モデルです。ハード投票では、すべてのモデルの中で最も多くの票を得たクラスが結果として選択されます。一方、ソフト投票ではすべてのベースモデルによる各クラス予測の確率を取得し、最も高い平均確率を持つクラスが最終予測として選択されます。 2. **回帰アンサンブル** - 加重平均と非加重平均の平均化技術を使用して、複数の他のモデルの予測を組み合わせる回帰モデルです。 3. **スタッキング分類** - 複数のベース分類器(またはモデル)の予測を組み合わせて、より強力で頑健なメタ分類器を作成するアンサンブル学習分類器です。これは、補完的な強みと弱みを持つ複数の多様な分類器がある場合に特に有用です。 4. **スタッキング回帰** - 複数のベース回帰器(またはモデル)の予測を組み合わせて、より強力で頑健なメタ回帰器を作成するアンサンブル学習回帰器です。これは、補完的な強みと弱みを持つ複数の多様な回帰器がある場合に特に有用です。 -------------------------------------------------------------------------------- title: "レコメンデーション" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.660Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/ml-algorithms/recommendation/" service: "QuickML" -------------------------------------------------------------------------------- # レコメンデーションアルゴリズム レコメンデーションアルゴリズムは、過去の取引やインタラクションデータ、アイテム属性、ユーザーの人口統計情報などのさまざまなデータセットを活用し、ユーザーの行動パターンを分析して、ユーザーの興味に合った高度にパーソナライズされたレコメンデーションを生成します。これらは、さまざまなプラットフォームにおけるインタラクションの促進、リテンションの向上、ユーザーエクスペリエンスの強化において重要な役割を果たします。 QuickMLでは、多様なレコメンデーションモデルを構築するためのさまざまなビジネスニーズに対応するように設計された情報検索アルゴリズムを現在サポートしています。 ## レコメンデーションシステムの種類 リアルタイム環境で使用されているレコメンデーションモデルの種類には以下が含まれます: - シーケンシャルレコメンデーションシステム - パーソナライズドレコメンデーションシステム - リカレンスサイクルレコメンデーションシステム ## a. 情報検索 レコメンダーシステムは、過去のインタラクション、好み、行動を分析し、各ユーザーが関心を持つ可能性の高いパーソナライズされた商品を提案するインテリジェントなツールです。高度なアルゴリズムを使用してユーザーの嗜好やニーズを理解し、ユーザー固有の好みに合った正確なレコメンデーションを行います。 情報検索アルゴリズムは、パーソナライズされたレコメンデーションを提供することにより、ユーザーエクスペリエンスとエンゲージメントを向上させる正確な提案を生成することを目的としています。 QuickML内の各タイプのレコメンダーシステムで使用されるアルゴリズムは以下の通りです。 1. ## シーケンシャルレコメンデーションシステム シーケンシャルレコメンデーションアルゴリズムは、機械学習技術を活用して過去のインタラクションデータを分析し、シーケンス内で次に消費される可能性が高いアイテムを予測します。このアルゴリズムは、過去のインタラクションの順序を考慮して、購買パターンに合った商品を提案します。 これらのモデルを構築するために使用されるアルゴリズムは: ### SubSequence **SuBSeq**(Succinct BWT-Based Sequence Prediction)は、Burrows-Wheeler Transform(BWT)を活用した強力なアルゴリズムで、シーケンシャルレコメンデーションシステム向けに特別に設計されており、トランザクション/インタラクションデータから意味のあるパターンを抽出するための高度な技術を活用します。サブシーケンスマイニングに焦点を当て、ユーザーの行動シーケンス内の繰り返しシーケンスや複雑なパターンを識別することができます。効率的なデータ処理とパターン認識の組み合わせにより、SubSeqは時間的依存関係、ユーザーの好み、文脈のニュアンスを捉えることに優れ、最終的に個々の行動に合わせた高度にパーソナライズされたレコメンデーションを生成します。メモリ使用量と計算複雑度の面で特に効率的です。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w15p">データ型</th> <th class="w15p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>transactions_column</td> <td>入力データのアイテムセットの列名です。</td> <td>str</td> <td>データセット内の列名</td> <td>指定</td> </tr> <tr> <td>min_similar_sequence</td> <td>必要な類似シーケンスの最小数です。</td> <td>int</td> <td>任意の正の整数</td> <td>2</td> </tr> </tbody> </table> #### このアルゴリズムを選択するサンプルシナリオ: オンラインメディアプラットフォームが、ユーザーの過去の行動やインタラクションに基づいて消費する可能性のあるアイテムのシーケンスを予測することで、ユーザーエンゲージメントを向上させることを目指しています。目標は、ユーザーの好みを理解・予測し、プラットフォームがパーソナライズされたコンテンツレコメンデーションを提供できるようにすることです。 例えば、ユーザーがコメディ映画を3本視聴し、その後歴史ドキュメンタリーに切り替えた場合、シーケンシャルレコメンデーションアルゴリズムはこの消費パターンの変化を識別し、より多くのドキュメンタリーや両ジャンルの組み合わせを提案します。 2. ## パーソナライズドレコメンデーションシステム パーソナライズドレコメンデーションアルゴリズムは、ユーザーの好み、過去のインタラクション、商品属性、人口統計情報に基づいて、個々のユーザーに合わせたレコメンデーションを提供することを目的としています。これらのアルゴリズムは、ユーザーとアイテムのインタラクションデータを活用して、ユーザーとアイテム間のパターンや類似性を識別します。 これらのモデルを構築するために使用されるアルゴリズムは: ### LightFM **LightFM**は、ユーザープロファイル、商品詳細、インタラクションデータを活用してパーソナライズされたレコメンデーションを提供する堅牢なレコメンデーションアルゴリズムです。協調フィルタリングと行列分解技術を統合することで、LightFMはユーザーの好みとアイテムの特徴を捉え、特定のドメインにおける正確なレコメンデーションを保証します。ユーザープロファイルとアイテムの特性を分析し、より関連性の高い提案を提供することで、関連商品の発見を簡素化し、ユーザーの行動に基づいてレコメンデーションを迅速に調整します。 ユーザーの人口統計、好み、インタラクション履歴に関する洞察により、LightFMはさまざまな業界やアプリケーションにおけるレコメンデーション体験を向上させ、エンゲージメントと満足度を促進します。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w15p">データ型</th> <th class="w15p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>no_components</td> <td>潜在特徴埋め込みの次元数です。値が高いほどより複雑な関係を捉えられますが、データセットに対して大きすぎると過学習する可能性があります。</td> <td>int</td> <td>任意の正の整数</td> <td>10</td> </tr> <tr> <td>n</td> <td>k-OSトレーニングの場合、各更新ステップで各ユーザーに対して考慮される正のサンプルの最大数を指定します。</td> <td>int</td> <td>任意の正の整数</td> <td>10</td> </tr> <tr> <td>learning_schedule</td> <td>使用する学習率スケジュールを決定します。オプションには、トレーニング中の勾配情報に基づいて学習率を調整するadagradやadadeltaなどの適応スケジュールが含まれます。</td> <td>str</td> <td>'adagrad', 'adadelta'r</td> <td>'adagrad'</td> </tr> <tr> <td>loss</td> <td>最適化する損失関数を指定します: <ul style="text-align: left;"><li><strong>&#39;logistic&#39;</strong>: ペナルティは追加されません。<li><strong>&#39;bpr&#39;</strong>: L2ペナルティ項が追加され、デフォルトの選択です。<li><strong>&#39;warp&#39;</strong>: L1ペナルティ項が追加されます。<li><strong>&#39;warp-kos&#39;</strong>: L1とL2の両方のペナルティ項が追加されます。</td> <td>int</td> <td>任意の正の整数</td> <td>10</td> </tr> <tr> <td>learning_rate</td> <td>勾配降下オプティマイザーの初期学習率です。値が小さいほど収束は遅くなりますが、より安定する可能性があります。</td> <td>float</td> <td>任意の正のfloat</td> <td>0.05</td> </tr> <tr> <td>item_alpha</td> <td>アイテム特徴埋め込みに対するL2正則化の強度です。大きな重みにペナルティを課すことで過学習を防止します。値が高いほど、より強い正則化が適用されます。</td> <td>float</td> <td>任意の非負のfloat</td> <td>0.0</td> </tr> <tr> <td>user_alpha</td> <td>ユーザー特徴埋め込みに対するL2正則化の強度です。大きな重みにペナルティを課すことで過学習を防止します。item_alphaと同様の動作をします。</td> <td>float</td> <td>任意の非負のfloat</td> <td>0.0</td> </tr> <tr> <td>train_split_ratio</td> <td>トレーニングに使用されます。残りのデータは評価用に確保されます。比率が高いほどトレーニング用のデータが多くなりますが、テスト用のデータは少なくなります。</td> <td>float</td> <td>0から1の間</td> <td>0.8</td> </tr> <tr> <td>td_uid_column</td> <td>トランザクションデータセットにおける一意のユーザーIDを表す列の名前です。</td> <td>str</td> <td>データセット内の有効な列名</td> <td>ユーザー指定</td> </tr> <tr> <td>ud_uid_column</td> <td>ユーザー特徴データセットにおける一意のユーザーIDを表す列の名前です。</td> <td>str</td> <td>データセット内の有効な列名</td> <td>ユーザー指定</td> </tr> <tr> <td>pd_pid_column</td> <td>商品特徴データセットにおける一意の商品IDを表す列の名前です。</td> <td>str</td> <td>データセット内の有効な列名</td> <td>ユーザー指定</td> </tr> </tbody> </table> #### このアルゴリズムを選択するサンプルシナリオ: - Eコマースプラットフォームでは、パーソナライズドレコメンデーションアルゴリズムがリアルタイムのユーザーインタラクションと検索アクティビティに基づいて関連アイテムを提案します。ユーザーの行動、アイテムの特性、取引データを分析することで、これらのモデルは個々のユーザーに響く高度にパーソナライズされた提案を生成します。このアプローチは、ユーザーエクスペリエンスを向上させるだけでなく、関連商品やリレーテッド商品を促進することでビジネス価値を高めます。 - Eラーニングプラットフォームでは、ユーザーの学習上の興味や目的を補完する関連コースの発見を促進します。これらのモデルは、コースの類似性とユーザーの興味を分析することで発見を強化し、最終的に探索とエンゲージメントの増加につながります。 ### Pixie 大規模なアイテムプールと多数のユーザーが存在するため、高品質なパーソナライズドレコメンデーションを提供するシステムの構築は大きな課題です。これらのレコメンデーションは、ユーザーのアクションに対してオンデマンドで応答的に生成される必要があります。 Pixieは、スケーラブルなリアルタイムのグラフベースレコメンデーションシステムであり、ランダムウォークと呼ばれる手法を使用して、相互接続されたアイテムの大規模なグラフを探索し、ユーザーに関連アイテムをレコメンドすることでこの問題に対処します。グラフはノードとエッジで構成され、ノードはアイテムまたはユーザーを表し、エッジはそれらの間の関係やインタラクションを表します。このアルゴリズムは高度にスケーラブルに設計されており、膨大な数のアイテムとユーザーが存在する環境で効率的に動作できます。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w15p">データ型</th> <th class="w15p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>user_id_colum</td> <td>user_datasetの一意の列名です。</td> <td>str</td> <td>データセット内の列名</td> <td>指定</td> </tr> <tr> <td>product_id_column</td> <td>product_datasetの一意の列名です。</td> <td>str</td> <td>データセット内の列名</td> <td>指定</td> </tr> <tr> <td>depth</td> <td>各ランダムウォークのステップ数です。</td> <td>int</td> <td>任意の正の整数</td> <td>10</td> </tr> <tr> <td>n_epochs</td> <td>ランダムウォークプロセスの最大ステップ数です。</td> <td>int</td> <td>任意の正の整数</td> <td>50</td> </tr> <tr> <td>higher_weight</td> <td>より可能性の高い接続に向けてグラフエッジにバイアスをかけるための重みです。</td> <td>float</td> <td>0から1の間のfloat</td> <td>1.0</td> </tr> <tr> <td>lower_weight</td> <td>より可能性の低い接続に向けてグラフエッジにバイアスをかけるための重みです。</td> <td>float</td> <td>0から1の間のfloat</td> <td>0.0001</td> </tr> <tr> <td>recommendation_type</td> <td>行う予測のタイプです。</td> <td>str</td> <td>'fbt', 'cwbab'</td> <td>'cwbab'</td> </tr> <tr> <td>with_feature_encoding</td> <td>ユーザー特徴のエンコーディングを使用するかどうかを指定します。</td> <td>bool</td> <td>True, False</td> <td>False</td> </tr> </tbody> </table> #### このアルゴリズムを選択するサンプルシナリオ: Pixieは、ユーザーの閲覧履歴と購買行動に基づいて商品を提案でき、商品発見の改善と販売コンバージョン率の向上につながります。 #### 例: 家電製品を専門とするEコマースプラットフォームがPixieを活用してレコメンデーションシステムを改善します。 ユーザーがスマートフォンを購入すると、アルゴリズムはrecommendation_type: **fbt(Frequently Bought Together:よく一緒に購入される商品)**を使用して、画面保護フィルムや充電器など、現在の購入に直接関連する必要な関連購入品をレコメンドします。 同時に、アルゴリズムがrecommendation_type: "**cwbab(Customers who bought also bought:購入した顧客が他にも購入した商品)**"を使用する場合、スマートウォッチやBluetoothスピーカーなど、顧客が後で購入を検討する可能性のある補完的な商品を提案します。即時のニーズと将来の潜在的なニーズを区別することで、プラットフォームは平均注文額を増加させるだけでなく、長期的な顧客エンゲージメントと満足度を構築します。 3. ## リカレンスサイクルレコメンデーションシステム リカレンスサイクルレコメンデーションモデルは、ユーザーの行動における繰り返しパターンに基づいてアイテムを識別し提案するようにトレーニングされています。過去のデータを分析することで、購入、サブスクリプション、エンゲージメントなど、ユーザーが特定のインタラクションを繰り返す可能性のある繰り返しサイクルや間隔を検出します。 Recurrence Finderアルゴリズムは、ユーザーが再購入する可能性が最も高いアイテムを予測し、商品の補充や好みのアイテムへの再エンゲージメントのプロセスを簡素化します。 リカレンスレコメンデーションモデルを構築するために使用されるアルゴリズムは: ### Recurrence Finder **Recurrence Finder**は、顧客の商品購入、イベント参加、毎日のアラーム設定などの繰り返しイベントを識別・予測し、過去のタイムスタンプを活用して将来の発生を予測します。過去のイベントからパターンを分析することで、将来のイベント発生を提供し、効果的な計画と意思決定を支援します。このモデルは、顧客維持、イベント管理、時間管理ツールの戦略最適化に役立ちます。 将来の発生を予測する能力により、Recurrence FinderはEコマースからヘルスケアまで、さまざまなドメインにおける効率性と生産性を向上させます。 #### ハイパーパラメータ: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">パラメータ</th> <th class="w30p">説明</th> <th class="w15p">データ型</th> <th class="w15p">設定可能な値</th> <th class="w15p">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>user</td> <td>一意のユーザーIDを含むデータセット内の列の名前です。この列は、ユーザーに基づくトランザクションの繰り返しを識別するために不可欠です。</td> <td>str</td> <td>データセット内の有効な列名</td> <td>ユーザー指定</td> </tr> <tr> <td>product</td> <td>一意の商品IDを含むデータセット内の列の名前です。この列は、トランザクションにおける特定の商品の繰り返しを追跡するために使用されます。</td> <td>str</td> <td>データセット内の有効な列名</td> <td>ユーザー指定</td> </tr> <tr> <td>timestamp_column</td> <td>トランザクションのタイムスタンプを含むデータセット内の列の名前です。この列は、繰り返しトランザクション間の時間間隔を計算するために重要です。</td> <td>str</td> <td>データセット内の有効な列名</td> <td>ユーザー指定</td> </tr> <tr> <td>quantity</td> <td>繰り返し分析でトランザクション数量を考慮するかどうかを示すブールフラグです。Trueの場合、quantity_columnを使用して数量ベースの繰り返しパターンを組み込みます。</td> <td>bool</td> <td>True, False</td> <td>ユーザー指定</td> </tr> <tr> <td>quantity_column</td> <td>各トランザクションで購入された商品の数量を含むデータセット内の列の名前です。quantityパラメータがTrueに設定されている場合に必要です。</td> <td>str</td> <td>データセット内の有効な列名</td> <td>ユーザー指定</td> </tr> </tbody> </table> #### このアルゴリズムを選択するサンプルシナリオ: - サブスクリプションベースのビジネスは、繰り返し予測を活用して顧客がサブスクリプションを更新する可能性のあるタイミングを予測できます。これにより、パーソナライズされたオファーやリマインダーなどのターゲットを絞ったリテンション戦略を実施し、更新率と顧客ロイヤルティを向上させることができます。 - ヘルスケアプロバイダーやサロンなどのサービスベースのビジネスは、繰り返し予測を使用して予約を効率的にスケジュールできます。クライアントが予約する可能性のあるタイミングを予測することで、スタッフのスケジュールを最適化し、待ち時間を最小限に抑え、顧客満足度を向上させることができます。 ## データバリデーション基準 レコメンデーションモデルは3つのデータセットを使用してトレーニングされます: 1. トランザクション/インタラクションデータ 2. ユーザーの人口統計データ 3. アイテムの属性データ **トランザクションデータセット**には、transactionID、userID、itemID、注文金額、購入日、タイムスタンプなどのトランザクション詳細が含まれ、ユーザーが行った各購入を記録します。 **ユーザーデータセット**には、ビジネスのユーザーに関する人口統計情報が保持され、ユーザーの特性や好みに関する洞察を提供します。 **アイテム/商品特徴データセット**には、カテゴリ、ブランド、価格など、ユーザーが購入するアイテムの属性と特性が含まれます。 3つのデータセットを含むバリデーションチェックは、モデルトレーニングが開始される前にアルゴリズム自体によって自動的に実行されます。以下の基準のいずれかが満たされない場合、アルゴリズムはトレーニングを停止し、エラーをスローします: - トランザクション、ユーザー、またはアイテムのデータセットに欠損値が存在してはなりません。 - トランザクションデータセットに存在するuserIDまたはitemID/productIDは、それぞれのユーザーまたはアイテムのデータセットにも存在する必要があります。 -------------------------------------------------------------------------------- title: "時系列" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.697Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/ml-algorithms/time-series/" service: "QuickML" -------------------------------------------------------------------------------- # 時系列アルゴリズム 時系列予測は、時間の経過とともに収集された過去のデータを利用して将来のデータポイントを予測する予測分析タスクです。時系列における予測がどのように機能するかを深く掘り下げ、予測モデルを生成するために使用されるさまざまなアルゴリズムを探りましょう。 ### 予測 予測とは、過去のデータのトレンドやパターンを調査して将来の値を予測するために統計的手法を使用することです。この分析により、ビジネスオーナーはモデルによって生成された予測に基づいて、将来の行動方針について十分な情報に基づいた意思決定を行うことができます。 時系列予測アルゴリズムは、単変量と多変量の2つのカテゴリに分類でき、それぞれ対応するタイプのモデルの作成につながります。 #### 1. 単変量予測 単変量予測モデルは、時間の経過とともに記録された単一の特徴量または変数のみを含む単変量データセットを使用して構築されます。これらのモデルは、他の要因の影響を組み込まずに、その1つの変数の時間的パターン、トレンド、季節性のみに焦点を当てて将来の予測を行います。 単変量予測モデルを構築するために使用されるアルゴリズムには以下が含まれます: - 移動平均 - MA - 指数平滑法 - Holt-Winterの方法 - 自動自己回帰和分移動平均 - Auto ARIMA - 季節性自己回帰和分移動平均 - SARIMA - 自己回帰移動平均 - ARMA - 自己回帰器 各アルゴリズムがどのように機能するかを詳しく理解しましょう。 **a. 移動平均** 移動平均(MA)モデルは、時系列分析における予測に一般的に使用される統計手法です。過去のデータポイントの平均を計算する代わりに、「ウィンドウサイズ」と呼ばれる固定期間数にわたる過去の予測誤差(または残差)の線形結合に基づいて将来の値を予測します。この方法はランダムな変動を平滑化し、データ内の短期的なトレンドやパターンを識別するのに役立ちます。 MAモデルは適用が容易でさまざまな種類の時系列データに有用ですが、過去の誤差のみに依存し、過去の値やデータに影響を与える可能性のある他の外部要因を直接考慮しません。そのため、精度を向上させデータのより複雑なダイナミクスを捉えるために、移動平均モデルを自己回帰モデルなどの他の予測手法と組み合わせることが推奨されることが多いです。 **移動平均(MA)**モデルで使用される過去の予測誤差の数は、MAの次数またはラグ(q)によって定義されます。MAの次数は、現在の値を予測するためにモデルに含まれる過去の誤差項(残差のラグ)の数を示します。 例えば、MA(q)モデルでは: - q = 1の場合、モデルは前の誤差項(残差の1次ラグ)を使用します。 - q = 2の場合、前の2つの誤差項(1次と2次のラグ)を使用します。以降同様です。 MAの次数の選択はモデルのパフォーマンスに大きな影響を与える可能性があります。 **利点** - この移動平均アルゴリズムは、次の数期間の売上予測など、短期予測に適しています。 - ランダムな変動を平滑化することで、時系列データからノイズを除去し、基礎となるパターンやトレンドを識別しやすくすることができます。 **欠点** - 移動平均(MA)モデルは、過去の予測残差(誤差)のみに依存し、長期的にデータに影響を与える可能性のある過去の値や他の外部要因を直接考慮しないため、長期予測には適していません。 - 予測に使用される残差のウィンドウサイズに基づいて、データの突然の変化やトレンドへの反応が遅くなる場合があります。 - MAモデルは主に、単一の変数とその過去の誤差に焦点を当てた単変量時系列予測に使用されます。ただし、複数の変数が関与する多変量時系列予測では、移動平均はうまく機能しません。 - 多変量時系列分析では、目標は多くの場合、複数の変数間の関係を理解し、これらの相関関係を活用してより良い予測を行うことです。 - 多変量データにおいて個々の変数に独立して単純な移動平均モデルを直接適用すると、変数間の潜在的な相互依存性を捉えることができません。 **b. 自己回帰モデル** 自己回帰(AR)モデルは、時系列分析で一般的に使用される統計モデルの一種で、時系列の過去の値を入力として使用して将来の値を予測します。前後の値の間の相関を評価することにより、データの時間的依存性を捉えるのに特に有用です。モデルは、過去の値が将来の動作に直接影響を与えるという仮定に基づいて、過去の観測値の線形結合として将来の値を予測します。 ARの次数(p)は、自己回帰(AR)モデルで使用される過去の観測値の数として定義できます。現在の値を予測するためにモデルに含まれる時系列の前の値(ラグ)の数を示します。 例えば、AR(p)モデルでは: - p = 1の場合、モデルは前の値(1次ラグ)を使用します。 - p = 2の場合、前の2つの値(1次と2次のラグ)を使用します。以降同様です。 ARの次数の選択はモデルのパフォーマンスに大きな影響を与える可能性があります。 **利点** - ARモデルは、時系列データに存在する時間的依存性を効果的に捉えます。現在の値を自身の過去の値に回帰させることで、データのパターンやトレンドを捉えることができます。 - ARモデルのパラメータは明確な解釈を持ちます。各自己回帰パラメータは、現在の値に対する特定のラグ値の影響を表し、過去と現在の観測値の間の関係を理解しやすくします。 - ARモデルは外れ値に対してロバストで、ノイズの多いデータをうまく処理できます。短期的な変動を効果的にフィルタリングし、データの長期的なトレンドの捕捉に焦点を当てることができます。 - ARモデルは計算効率が高く、特に小規模から中規模のデータセットに適しています。他の時系列モデルと比較して比較的少ないパラメータで済むため、迅速な分析と予測に適しています。 **欠点** - ARモデルは、過去と現在の観測値の間の線形関係を仮定します。この仮定は、すべての時系列データ、特に非線形関係や複雑なパターンに対しては成り立たない場合があります。 - ARモデルは、基礎となる時系列が定常であること、つまりその統計的特性が時間の経過とともに変化しないことを仮定します。しかし、多くの実世界の時系列は非定常な動作を示し、ARモデルの適用性を制限する可能性があります。 - ARモデルの適切な次数(ARラグ(p))の選択は難しく、反復的な実験や統計的診断が必要になる場合があります。不適切な次数を選択すると、モデルのパフォーマンスが低下し、不正確な予測につながる可能性があります。 - ARモデルは、特に基礎となるデータが非常に不安定であったり構造的変化を受けやすい場合、長期予測に対して正確な予測を提供するのに苦労する場合があります。 **c. ARMAモデル** ARMA(自己回帰移動平均)は、自己回帰と移動平均の両方のコンポーネントを組み合わせた時系列予測手法です。自己回帰からの過去の値と移動平均手法からの過去の残差(誤差)を使用して将来の値を予測する統計モデルを構築します。このモデルは、定常時系列データにおける短期的な依存性やパターンを捉えるのに特に使用されます。 - 自己回帰(AR)コンポーネント:自己回帰コンポーネントでは、時系列の現在の値はその前の値の線形結合としてモデル化されます。自己回帰の「自己」は、現在の値が自身の過去の値に回帰されることを意味します。pの値が高いほど、より複雑な依存性を捉えます。 - 移動平均(MA)コンポーネント:移動平均コンポーネントでは、時系列の現在の値は過去の予測誤差の線形結合としてモデル化されます。移動平均パラメータは、現在の値の予測に過去の予測誤差に割り当てられる重みを決定します。自己回帰モデルと同様に、qの値が高いほど、より複雑な依存性を捉えます。 ARMAモデルは、自己回帰と移動平均の両方のコンポーネントを組み合わせて、データに存在する時間的依存性とランダムな変動を捉えます。 ARMA(p, q)モデルは、AR(p)とMA(q)コンポーネントの和として表されます。 **利点** - ARMAモデルは、時系列データに存在する幅広いパターンやダイナミクスを捉えることができ、さまざまなアプリケーションに対して汎用性があります。 - ARMAモデルのパラメータは明確な解釈を持ち、アナリストが過去の観測値と将来の予測の間の基礎となる関係を理解することができます。 - ARMAモデルは外れ値に対してロバストで、ノイズの多いデータをうまく処理でき、不規則性のある実世界のデータセットに適しています。 - ARMAモデルは計算効率が高く、特に小規模から中規模のデータセットに適しており、迅速なモデル推定と予測が可能です。 **欠点** - ARMAモデルは、基礎となる時系列が定常であること、つまりその統計的特性が時間の経過とともに変化しないことを仮定します。しかし、多くの実世界の時系列は非定常な動作を示し、ARMAモデルの適用性を制限する可能性があります。 - ARMAモデルは、特に基礎となるデータが非常に不安定であったり構造的変化を受けやすい場合、長期予測に対して正確な予測を提供するのに苦労する場合があります。 - ARMAモデルのARおよびMAコンポーネントの適切な次数(pとq)の選択は難しく、反復的な実験や統計的診断が必要になる場合があります。 - ARMAモデルのパフォーマンスは初期パラメータ推定に敏感である可能性があり、特に高次元パラメータ空間では収束の問題や次善の解につながる可能性があります。 **d. ARIMAモデル** ARIMA(自己回帰和分移動平均)モデルは、ARMAモデルのARおよびMAコンポーネントに加えて差分コンポーネントを組み込むことで非定常データを処理するために設計された、時系列予測の一般的な統計手法です。定常および非定常の両方の時系列データに適用できるため、汎用性が高く強力な手法です。 そのコンポーネントの内訳は以下の通りです: - **自己回帰(AR)項**:観測値と一定数のラグ付き観測値(前の時間ステップ)との関係を表します。AR(p)モデルでは、時間't'の系列の値は、時間't-1'、't-2'、...、't-p'の値に線形に依存します。 - **和分(I)項**:時系列を定常にするための生の観測値の差分を指します。定常性とは、平均や分散などの時系列の統計的特性が時間の経過とともに変化しないことを意味します。'd'で表される差分の次数は、定常性を達成するために必要な差分の回数を示します。 - **移動平均(MA)項**:ラグ付き観測値に適用された移動平均モデルからの観測値と残差誤差の関係を説明します。MA(q)モデルでは、時間't'の系列の値は、時間't-1'、't-2'、...、't-q'の誤差項に線形に依存します。 ARIMAモデルはARIMA(p, d, q)として表されます: - 'p'は自己回帰部分の次数です。 - 'd'は差分の次数です。 - 'q'は移動平均部分の次数です。 ARIMAモデルは、過去の観測値の線形結合、系列を安定させるための差分、およびモデルで説明されない予期しない変動を捉える誤差項に基づいて予測を行います。 **Auto ARIMA** Auto ARIMAは、自己回帰(AR)、和分(I)、移動平均(MA)コンポーネントのさまざまな組み合わせを含む、可能なARIMAモデルの範囲を自動的に検索し、データに最も適合するモデルを識別します。AIC(赤池情報量基準)やBIC(ベイズ情報量基準)などの統計基準に基づいて各モデルを評価し、最適なモデルを決定します。 **利点** - ARIMAは、経済、金融、社会データを含む幅広い時系列データを処理でき、さまざまな分野に適用可能です。 - モデルパラメータ(p, d, q)は、ラグ効果や差分の影響など、時系列の基礎となるダイナミクスに関する洞察を提供できます。 - ARIMAは堅固な統計原理に基づいており、時系列分析の信頼性の高い手法です。 - ARIMAは将来の期間の予測を生成でき、意思決定と計画のための貴重な洞察を提供します。 - ARIMAモデルは追加の外部要因や共変量を必要としないため、実装と解釈が比較的簡単です。 **欠点** - ARIMAは、時系列が定常であるか、差分によって定常にできることを仮定します。実際には、一部のデータセットでは定常性の達成が困難な場合があります。 - 従来のARIMAモデルは、データの季節パターンの捕捉には適していません。季節データには季節性ARIMA(SARIMA)やその他の手法が必要です。 - 線形であり、一部の時系列データに存在する複雑な非線形関係を効果的に捉えられない場合があります。 - ARIMAモデルは、モデルパラメータを正確に推定するために十分な量の過去データを必要とします。短いまたはスパースなデータの場合、ARIMAはうまく機能しない可能性があります。 - ARIMAは、観測値が互いに独立であることを仮定しますが、すべての時系列データ、特に自己相関や系列相関がある場合には成り立たない可能性があります。 **e. SARIMAモデル** 季節性自己回帰和分移動平均(SARIMA)は、時系列データの分析と予測に季節性を組み込んだARIMAモデルの拡張です。SARIMAモデルは、非季節性パターンと季節性パターンの両方を示すデータに特に有用です: - **季節差分**:SARIMAは、トレンドの除去だけでなく季節パターンの除去のためにも時系列の差分を行います。これは、時間't'の観測値から時間't-s'の観測値を引くことで行われます。ここで's'は季節周期を表します。 - **季節自己回帰(SAR)項**:季節ARラグコンポーネントは、現在の観測値と季節間隔での過去の観測値との関係を説明します。データの季節パターンを捉えます。 - **季節移動平均(SMA)項**:季節MAラグコンポーネントは、現在の観測値と季節間隔での過去の予測誤差との依存関係をモデル化します。 - **和分**:ARIMAと同様に、和分は差分によって時系列を定常にするために使用されます。和分の次数('d'で表される)は、定常性を達成するために必要な非季節差分の回数を表します。 - **自己回帰(AR)と移動平均(MA)項**:これらのコンポーネントは、ARIMAと同様に、時系列の非季節的なダイナミクスを捉えます。 **利点** - SARIMAはデータの季節パターンを明示的にモデル化し、月次売上データや四半期経済指標など、周期的な変動を持つ時系列のより正確な予測を可能にします。 - SARIMAモデルは、乗法的および加法的季節性、および不規則な季節パターンを含む、幅広い季節パターンを処理できます。 - ARIMAと同様に、SARIMAモデルは解釈可能なパラメータ(例:AR、MA、季節AR、季節MA)を提供し、時系列の基礎となるダイナミクスに関する洞察を提供できます。 - SARIMAモデルは、適切な季節周期とモデルパラメータが選択されている場合、基礎となるデータパターンの変化に対してロバストであり得ます。 **欠点** - SARIMAモデルは非季節性ARIMAモデルよりも複雑で、季節的なダイナミクスを捉えるために追加のパラメータが必要です。この複雑さにより、モデルの推定と解釈がより困難になる場合があります。 - 適切な季節周期の選択とAR、MA、季節AR、季節MAの各項の次数の決定は困難であり、広範なモデル診断とテストが必要になる場合があります。 - SARIMAモデルの推定は、特に大規模なデータセットや多くのパラメータを持つモデルの場合、計算負荷が高く時間がかかる場合があります。 - SARIMAは差分後の時系列が定常であることを仮定します。定常性の確保には、データの慎重な検査と反復的なモデルフィッティングが必要になる場合があります。 これらの課題にもかかわらず、SARIMAは非季節性パターンと季節性パターンの両方を示すデータの時系列予測に強力なツールであり続けます。慎重なモデルの仕様とパラメータの選択により、SARIMAモデルは正確な予測と時系列データに関する貴重な洞察を提供できます。 **f. 指数平滑法モデル** 指数平滑法は、体系的なトレンドや季節コンポーネントを持つデータをサポートするように拡張できる、単変量データの時系列予測手法です。 ARIMAと同様に過去の観測値に基づいて予測を行いますが、これらの観測値の重み付け方法に重要な違いがあります: - **指数的に減少する重み** - ARIMAでは重みが任意になり得るのとは異なり、指数平滑法は過去の観測値に指数的に減少する重みを割り当てます。これは、最近の観測値が古い観測値よりも予測にはるかに大きな影響を与えることを意味します。 - 例:今日の売上を予測する場合、昨日の売上は1週間前の売上よりも予測に大きな影響を与えます。 - **指数平滑法の種類** - **単純指数平滑法(SES)**:トレンドや季節性のないデータに適しています。過去の観測値のみを使用します。 - **Holtの線形トレンドモデル**:データのトレンドを捉えるためにSESを拡張します。 - **Holt-Winters季節モデル**:季節性(月次売上ピークなどの繰り返しパターン)を捉えるためにさらに拡張します。 **利点** - さまざまなパターンを処理できるということは、以下を含むさまざまな種類の時系列データを処理するように適応できることを意味します: - トレンドなし(単純指数平滑法) - 線形トレンド(Holtの線形トレンドモデル) - 季節パターン(Holt-Winters季節モデル) - ARIMAや機械学習モデルなど、他のより複雑な予測手法と比較して、比較的少ない過去データで済みます。 - 最近の観測値により多くの重みが与えられるため、変化への応答性が高く、データの変化やシフトに素早く適応できます。 **欠点** - 指数平滑法は、データに存在する複雑な関係や不規則な変動を捉えるのに苦労する場合があります。 - 指数平滑法モデルのパフォーマンスは、平滑化因子(alpha)などの平滑化パラメータの選択に敏感である可能性があります。 - 指数平滑法は、基礎となる時系列が定常であること、つまりその統計的特性が時間の経過とともに一定であることを仮定します。しかし、多くの実世界の時系列は非定常な動作を示します。 - 指数平滑法モデルは、データの外れ値や極端な値に敏感です。 **g. Holt-Winter季節モデル** Holt-Wintersの方法は、三重指数平滑法とも呼ばれ、特にトレンドと季節性を示すデータを扱う際に時系列データの予測に広く使用される手法です。単純な指数平滑法を拡張して、これらのコンポーネントをより効果的に処理します。 - **レベルコンポーネント(lt)**:系列の時間経過に伴う平均値を表します。観測値と前のレベルに基づいて各時間ステップで更新されます。時間't'での更新されたレベルは、観測値'yt'、前のレベル'lt-1'、前のトレンド'bt-1'の組み合わせです。平滑化パラメータalphaを使用して計算されます。 - **トレンドコンポーネント(bt)**:系列の時間経過に伴う変化の方向と速度を捉えます。最近のデータで観測されたトレンドを反映するように更新されます。時間't'での更新されたトレンドは、現在のレベルと前のレベルの差、および前のトレンドの組み合わせです。平滑化パラメータbetaを使用して計算されます。 - **季節コンポーネント(st)**:固定間隔(例:日次、週次、月次)で繰り返される季節的な変動やパターンを説明します。データで観測された季節的な動作を反映するように更新されます。時間't'での更新された季節コンポーネントは、観測値と前のシーズンの同じ時期に観測された対応する季節コンポーネントの組み合わせです。平滑化パラメータgammaを使用して計算されます。 Holt-Wintersモデルには2つの主要なタイプがあります **加法モデル**:加法モデルは、季節変動が系列全体でほぼ一定である場合に使用されます。季節効果の大きさが時系列のレベルに依存しない場合に適しています。 ``` Level : Lt=α(Yt−St−m)+(1−α)(Lt−1+Tt−1) Trend: Tt=β(Lt−Lt−1)+(1−β)Tt−1 Season: St=γ(Yt−Lt)+(1−γ)St−m Forecast: Yt+h=L t+hTt+St−m+h ``` **乗法モデル**:乗法モデルは、季節変動が系列のレベルに比例して変化する場合に使用されます。季節効果の大きさが時系列のレベルに応じて変化する場合に適しています。 ``` Level : Lt=α(Yt/St−m)+(1−α)(Lt−1+Tt−1) Trend: Tt=β(Lt−Lt−1)+(1−β)Tt−1 Season: St=γ(Yt/Lt)+(1−γ)St−m Forecast: Yt+h=(Lt+hTt)St−m+h ``` **利点** - トレンドと季節性の両方を持つ時系列データを捉えて予測するために特別に設計されており、幅広い実世界のアプリケーションに適しています。 - この方法は基礎となるデータパターンの時間的変化に適応するため、データが進化するトレンドや季節パターンを示す可能性のある動的な環境でロバストです。 - 結果の予測はレベル、トレンド、季節コンポーネントに基づいているため容易に解釈でき、時系列の将来の動作に関する洞察を提供します。 - この方法は複数のコンポーネントとパラメータを含みますが、より複雑な予測手法と比較して実装が比較的簡単です。 **欠点** - 平滑化パラメータalpha、beta、gammaの適切な値の選択は困難であり、特にさまざまな特性を持つデータセットの場合、専門知識や広範な実験が必要になる場合があります。 - データの外れ値や突然の変化に敏感であり、特にこれらの異常が適切に対処されていない場合、予測の精度に影響を与える可能性があります。 - 他の指数平滑法と同様に、Holt-Wintersの方法はコンポーネント間の線形関係を仮定しており、一部の時系列データに存在する複雑な非線形パターンを十分に捉えられない場合があります。 - 大規模なデータセットや高頻度データに対するHolt-Wintersの方法のコンポーネントの推定と更新は、特に最適化手法なしで実装された場合、計算負荷が高くなる可能性があります。 #### 2. 多変量予測アルゴリズム **a. ベクトル自己回帰(VAR)** ベクトル自己回帰(VAR)モデルは、複数の時系列間の線形相互依存関係を捉えるために使用される多変量時系列アルゴリズムです。単変量自己回帰(AR)モデルを多変量時系列データに一般化します。VARモデルの各変数は、自身の過去のラグとシステム内の他のすべての変数の過去のラグの線形関数です。 **利点** - VARモデルは、従属変数と独立変数の仕様を必要とせずに、複数の時系列間の動的な関係を捉えるのに適しています。これにより、変数間の複雑な相互依存関係のモデリングに柔軟性があります。 - VARモデルのすべての変数は内生変数として扱われ、従属変数や独立変数として分類する必要がありません。この対称性により、変数が時間の経過とともにどのように相互作用するかについてより包括的な理解が可能になります。 - VARモデルは、各変数の自身および他の変数に対するラグ効果を明示的に考慮し、時間的依存性の詳細な分析を可能にします。 - VARフレームワークはグレンジャー因果性テストを可能にし、1つの時系列が別の時系列を予測できるかどうかを識別し、変数間の因果関係に関する洞察を提供します。 - VARモデルはインパルス応答分析を可能にし、1つの変数へのショックが時間の経過とともにシステム内の他の変数に与える影響を理解するのに役立ちます。これは政策分析や経済予測に特に有用です。 **欠点** - VARモデルは、特に多くの変数とラグを扱う場合、多数のパラメータの推定が必要です。これにより過学習が発生し、モデルがノイズに敏感になり、汎化性が低下する可能性があります。 - 推定すべきパラメータの数が多いため、VARモデルは安定した信頼性の高い結果を得るために大量のデータを必要とします。これは、短い時系列やスパースなデータで作業する場合の制限となる可能性があります。 - VARモデルは強力ですが、特にモデルに多くの変数とラグが含まれる場合、変数間の関係の解釈は困難になる可能性があります。モデルの出力は複雑であり、正しく解釈するには高度な統計知識が必要になる場合があります。 - VARモデルは変数間の線形関係を仮定します。実際には、時系列変数間の関係は非線形である可能性があり、真のダイナミクスを捉えるモデルの有効性を制限する場合があります。 - ラグ長pの選択はVARモデリングにおいて重要です。ラグが少なすぎるとモデルの誤った仕様につながり、多すぎると過学習を引き起こす可能性があります。最適なラグ長の選択は常に簡単ではなく、慎重なテストと検証が必要なことがよくあります。 - 構造VAR(SVAR)モデルとは異なり、標準的なVARモデルは変数間の関係の構造的な解釈を提供しません。これは、基礎となるメカニズムの理解が重要な経済分析や政策分析において制限となる可能性があります。 - VARモデルの変数が高度に相関している場合、多重共線性が問題になり、係数の信頼性の低い推定につながる可能性があります。これにより、各変数が他の変数に与える真の影響を見分けることが困難になる可能性があります。 - 変数とラグの数が増加するにつれて、モデルパラメータの推定の計算負荷が増大します。これにより、特に大規模なデータセットの場合、VARモデルの計算負荷が高くなる可能性があります。 #### 交差検証 時系列における交差検証は、時系列データセットでのモデルのパフォーマンスを評価するために使用される手法です。標準的な機械学習で使用される一般的なk分割交差検証とは異なり、時系列データには保持する必要のある時間的順序があります。そのため、この時間的依存性を処理するための特定の方法が使用されます。 **i. ローリング時系列分割** - この方法は、トレーニングセットが常に検証セットよりも前になるように、時系列データをトレーニングセットと検証セットに複数回分割します。 - 新しいデータが時間の経過とともに利用可能になる方法をシミュレートし、モデルが常にトレーニングセットに対して将来のデータでテストされることを保証します。 - データ分割の理解については、以下の画像を参照してください。 <br /> **ii. ブロッキング時系列分割** - データを連続するブロックまたは分割に分けつつ、トレーニングセットとテストセットの間に重複がなく、データの時間的順序が維持されるようにします。 - トレーニング中にモデルが将来のデータを見ることを防ぎ、過学習を防止します。 - トレーニングセットが常に検証セットよりも前になるようにし、時間順序を尊重します。 <br /> **iii. 日次フォワードチェーニング** - 日次フォワードチェーニングは、フォワードチェーニングおよびローリングオリジン再キャリブレーション評価と呼ばれる方法に基づいています。この方法を使用して、各日をテストセットとして順次考慮し、すべての前のデータをトレーニングセットに割り当てます。 - この方法は多くの異なるトレーニング/テスト分割を生成します。モデル誤差のロバストな推定を計算するために、各分割の誤差が平均化されます。 <br /> **iv. 通常のトレーニング・テスト分割 - デフォルト** 標準的なトレーニング・テスト分割シナリオでは、時系列データセットは2つのサブセットに分割されます:トレーニングセットとテストセットです。過去のデータを含むトレーニングセットはモデルのトレーニングに使用され、将来の未知のデータを含むテストセットでテストされます。これにより、過去のデータに基づいて将来の値を予測するモデルの能力をテストすることで、モデルのパフォーマンスと汎化能力を評価できます。 データのトレーニング・テスト分割の視覚的表現は以下の通りです: <br /> ### パイプラインの構築 QuickMLは、時系列モデルを作成するためにスマートモードパイプラインビルダーを使用します。スマートビルダーは、データの前処理からモデル選択まで、モデル開発プロセスを簡素化するように設計された時系列モデル用のプリビルトテンプレートを提供します。これらのプリビルトテンプレートでは、オペレーションが事前に定義されており、ユーザーには各ステージを構成するためのさまざまなパラメータが提示されます。このテンプレートは、時系列モデルを構築するためにどのステージを使用するかの曖昧さを取り除き、モデル構築プロセスを効率化します。 ### 可視化 **分解チャート** 分解チャートは、時系列データをその主要コンポーネントであるトレンド、季節性、残差(またはノイズ)に分解します。これらのコンポーネントの存在を検証し、データの全体的なパターンへの寄与を理解するのに役立ちます。分解は、異なる期間にわたって定期的な間隔で記録された時系列データの分析に特に有用です。 QuickMLでは、分解チャートは加法手法を使用し、元の時系列はそのコンポーネントの和として表されます: ```Original Series = Trend + Seasonality + Residual``` <br /> この手法は、季節性と残差の変動の大きさが系列全体にわたって一定であると仮定します。 -------------------------------------------------------------------------------- title: "テキスト分析" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.697Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/ml-algorithms/text-analytics/" service: "QuickML" -------------------------------------------------------------------------------- # テキスト分析アルゴリズム テキストデータは、NLPモデルを生成するためにベクトル化された形式でアルゴリズムに供給されます。NLPモデルは、大きく分けて教師あり学習モデルと教師なし学習モデルに分類できます。QuickMLでは、ラベル付きデータを使用して教師あり学習モデルを構築するアルゴリズムを備えています。 アルゴリズムは以下を含みます: - Naive Bayes - サポートベクターマシン(SVM) ### Naive Bayes 各特徴量のペア間に条件付き独立性があるというナイーブな仮定に基づくベイズ定理に基づいて動作する分類アルゴリズムです。ベイズ定理は確率P(c|x)を計算します。ここでcは可能なターゲットラベルのクラス、xは分類対象の特定の特徴量を表す与えられたインスタンスです。 <b>P(c|x) = P(x|c) * P(c) / P(x)</b> <b>ハイパーパラメータ:</b> <u>パラメータ:</u> 1. **priors: array-like of shape (n_classes,), default=None** クラスの事前確率です。指定された場合、事前確率はデータに応じて調整されません。 2. **var_smoothing: float, default=1e-9** 計算の安定性のために分散に追加される、すべての特徴量の最大分散の割合です。 <u>属性:</u> 1. **class_count_: ndarray of shape (n_classes,)** 各クラスで観測されたトレーニングサンプルの数です。 2. **class_prior_: ndarray of shape (n_classes,)** 各クラスの確率です。 3. **classes_: ndarray of shape (n_classes,)** 分類器が認識しているクラスラベルです。 4. **epsilon_: float** 分散への絶対加算値です。 5. **n_features_in_: int** 適合中に見られた特徴量の数です。 6. **feature_names_in_: ndarray of shape (n_features_in_,)** 適合中に見られた特徴量の名前です。Xにすべて文字列の特徴量名がある場合にのみ定義されます。 7. **var_: ndarray of shape (n_classes, n_features)** クラスごとの各特徴量の分散です。 8. **theta_: ndarray of shape (n_classes, n_features)** クラスごとの各特徴量の平均です。 ### サポートベクターマシン(SVM) SVMは、最適な超平面(決定境界)を決定してデータを分類する、もう1つの人気のある分類機械学習アルゴリズムです。 #### ハイパーパラメータ: 1. **C : float, default=1.0** 正則化パラメータです。正則化の強さはCに反比例します。厳密に正の値でなければなりません。ペナルティは二乗l2ペナルティです。 2. **kernel: {'linear', 'poly', 'rbf', 'sigmoid', 'precomputed'} or callable, default='rbf'** アルゴリズムで使用するカーネルタイプを指定します。何も指定されない場合、'rbf'が使用されます。callableが指定された場合、データ行列からカーネル行列を事前計算するために使用されます。その行列は(n_samples, n_samples)の形状の配列である必要があります。 3. **degree: int, default=3** 多項式カーネル関数('poly')の次数です。非負でなければなりません。他のすべてのカーネルでは無視されます。 4. **gamma: {'scale', 'auto'} or float, default='scale'** 'rbf'、'poly'、'sigmoid'のカーネル係数です。 - gamma='scale'(デフォルト)が渡された場合、gammaの値として1 / (n_features * X.var())を使用します。 - 'auto'の場合、1 / n_featuresを使用します。 - floatの場合、非負でなければなりません。 5. **coef0: float, default=0.0** カーネル関数の独立項です。'poly'と'sigmoid'でのみ重要です。 6. **shrinking: bool, default=True** 縮小ヒューリスティックを使用するかどうかです。詳細はユーザーガイドを参照してください。 7. **probability: bool, default=False** 確率推定を有効にするかどうかです。fitを呼び出す前に有効にする必要があり、内部的に5分割交差検証を使用するためそのメソッドが遅くなります。predict_probaはpredictと矛盾する可能性があります。詳細はユーザーガイドを参照してください。 8. **Tolerance: float, default=1e-3** 停止基準の許容値です。 9. **cache_size: float, default=200** カーネルキャッシュのサイズ(MB単位)を指定します。 10. **class_weight: dict or 'balanced', default=None** クラスiのパラメータCをclass_weight[i]*Cに設定します(SVCの場合)。指定されない場合、すべてのクラスの重みは1と想定されます。"balanced"モードは、入力データのクラス頻度に反比例してn_samples / (n_classes * np.bincount(y))として自動的に重みを調整するためにyの値を使用します。 11. **verbose: bool, default=False** 詳細な出力を有効にします。この設定はlibsvmのプロセスごとのランタイム設定を利用するため、有効にするとマルチスレッドコンテキストで正常に動作しない場合があります。 12. **max_iter: int, default=-1** ソルバー内のイテレーションのハードリミットです。-1は制限なしを意味します。 13. **decision_function_shape: {'ovo', 'ovr'}, default='ovr'** 他のすべての分類器と同様に(n_samples, n_classes)の形状のone-vs-rest('ovr')決定関数を返すか、(n_samples, n_classes * (n_classes - 1) / 2)の形状のlibsvmのオリジナルのone-vs-one('ovo')決定関数を返すかを指定します。ただし、内部的にはマルチクラス戦略としてone-vs-one('ovo')が常にモデルのトレーニングに使用されます。ovrマトリックスはovoマトリックスから構築されるのみです。このパラメータはバイナリ分類では無視されます。 14. **break_ties: bool, default=False** trueの場合、decision_function_shape='ovr'かつクラス数が2より大きい場合、predictはdecision_functionの信頼値に従ってタイを解消します。そうでない場合、タイとなったクラスの中で最初のクラスが返されます。タイの解消は単純なpredictと比較して比較的高い計算コストがかかることに注意してください。 15. **random_state: int, RandomState instance or None, default=None** 確率推定のためのデータシャッフリングの擬似乱数生成を制御します。probabilityがFalseの場合は無視されます。複数の関数呼び出し間で再現可能な出力を得るにはintを渡してください。 -------------------------------------------------------------------------------- title: "クラスタリング" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.697Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/ml-algorithms/clustering/" service: "QuickML" -------------------------------------------------------------------------------- # クラスタリングアルゴリズム クラスタリングは、特性やパターンに基づいて類似したデータポイントをグループ化することに焦点を当てた教師なし機械学習モデルです。事前定義されたラベルに依存するのではなく、クラスタリングはデータ内の自然な構造を発見するため、探索的分析やセグメンテーションに特に有用です。クラスタリングの仕組みをより深く掘り下げ、効果的なクラスタリングモデルを構築するために使用できるさまざまなタイプのクラスタリングアルゴリズムを探ってみましょう。 以下は、Catalyst QuickMLでサポートされているクラスタリングアルゴリズムと、そのクラスタリングタイプ、説明、実世界のユースケース、および主要なパラメータです。 注意: クラスタリングは、すべてのデータセンターで早期アクセスとして利用可能です。使用するには、support@zohocatalyst.com からアクセスをリクエストしてください。 # 重心ベースのアルゴリズム ### K-Means **説明:** K-Meansは、各クラスタ内の分散を最小化することでデータをk個のクラスタに分割します。分散は、データポイントとそのクラスタ重心間の二乗ユークリッド距離の合計として測定されます。2つのステップを反復的に実行することで動作します:(1)各データポイントを最も近い重心に割り当て(ハード割り当て)、(2)クラスタ内のすべてのポイントの平均として重心を再計算します。このプロセスは、割り当てが変わらなくなるか、最大イテレーション数に達するまで繰り返されます。 **数学的公式:** min(C1, C2, ..., Ck) Σ(i=1 to k) Σ(x ∈ Ci) ||x − μi||² 各要素の説明: - Ci = クラスタi - μi = クラスタiの重心(平均) - ∣∣x−μi∣∣2 = データポイントxと重心μi間の二乗ユークリッド距離 **ユースケース:** 小売企業はK-Meansを使用して、消費習慣に基づいて顧客を「バジェット」「レギュラー」「プレミアム」などのグループにセグメント化します。 **主要なパラメータ:** 注意: 提供されるパラメータ範囲において、角括弧 [ ] は境界値が含まれることを示し、丸括弧 ( ) は境界値が除外されることを示します。 例:[1, ∞) は範囲が1(含む)から始まり無限大(除外)まで拡張されることを意味します。 一方、(0, 1] は0が除外され1が含まれることを意味します。 <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td style="text-align:left;">n_clusters</td> <td style="text-align:left;"> アルゴリズムが作成するクラスタの数を定義し、それに応じて生成される重心の数を決定します。適切な値の選択は重要で、クラスタが少なすぎるとデータが過度に単純化され、多すぎると過学習につながる可能性があります。 </td> <td style="text-align:left;">int</td> <td style="text-align:left;">[1, n_rows]</td> <td style="text-align:left;">8</td> </tr> <tr> <td style="text-align:left;">init</td> <td style="text-align:left;"> クラスタリングのイテレーションが始まる前に重心を初期化するために使用される方法を指定します。 </td> <td style="text-align:left;">string</td> <td style="text-align:left;">{'k-means++', 'random'}</td> <td style="text-align:left;">'k-means++'</td> </tr> <tr> <td style="text-align:left;">max_iter</td> <td style="text-align:left;"> K-Meansアルゴリズムが1回の実行で行う最大イテレーション数を決定します。 </td> <td style="text-align:left;">int</td> <td style="text-align:left;">[1, ∞)</td> <td style="text-align:left;">300</td> </tr> <tr> <td style="text-align:left;">algorithm</td> <td style="text-align:left;"> 使用するK-Meansアルゴリズムの特定のバリアントを示します。 </td> <td style="text-align:left;">string</td> <td style="text-align:left;">{'lloyd', 'elkan'}</td> <td style="text-align:left;">'lloyd'</td> </tr> </tbody> </table> ### MiniBatchKMeans **説明:** MiniBatchKMeansは、各イテレーションでデータセット全体ではなく、データの小さなランダムサブセット(ミニバッチ)を処理する、K-Meansのより高速でメモリ効率の良いバージョンです。これらのミニバッチを使用して重心を更新することで、標準のK-Meansに近い結果を出しながらはるかに速く収束します。これにより、フルK-Meansの実行が遅すぎるかリソース集約的になる大規模データセットやストリーミングデータに特に有用です。 **数学的公式:** min(C1, C2, ..., Ck) Σ(i=1 to k) Σ(x ∈ Bt ∩ Ci) ||x − μi||² Btはイテレーションtにおけるランダムなミニバッチです。 **ユースケース:** 数百万のユーザーを持つEコマースプラットフォームが、製品レコメンデーションのためにリアルタイムで閲覧行動をクラスタリングします。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>形成するクラスタの数と生成する重心の数を定義します。</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>init</td> <td>重心の初期化に使用する方法を指定します。</td> <td>string</td> <td>{'k-means++', 'random'}</td> <td>'k-means++'</td> </tr> <tr> <td>max_iter</td> <td>K-Meansアルゴリズムが1回の実行で行う最大イテレーション数を決定します。</td> <td>int</td> <td>[1, ∞)</td> <td>300</td> </tr> <tr> <td>batch_size</td> <td>ミニバッチのサイズ。</td> <td>int</td> <td>[1, ∞)</td> <td>1024</td> </tr> </tbody> </table> ### Fuzzy C-Means **説明:** Fuzzy C-MeansはK-Meansに似ていますが、ソフト割り当てを可能にし、各データポイントが異なる帰属度で複数のクラスタに属することができます。各ポイントを単一のクラスタに割り当てるのではなく、Fuzzy C-Meansは各重心からのポイントの距離に基づいて、すべてのクラスタに対する帰属確率を計算します。これはクラスタが重なるデータに特に有用で、ハードな選択を強制するのではなく、帰属のよりニュアンスのあるビューを提供します。 **数学的公式:** J = Σ(i=1 to k) Σ(j=1 to n) uij^m ||xj − ci||² 各要素の説明: - uij = クラスタiにおけるデータポイントxjの帰属度 - m = ファジネスパラメータ(m>1) - ci = クラスタiの重心 **ユースケース:** 音楽アプリが、複数のジャンル(ポップ、ロック、エレクトロニック)にまたがる嗜好が重なるユーザーをグループ化します。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>初期化するセンターの数を定義します。</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> </tbody> </table> ### K-Medians **説明:** K-MediansはK-Meansのように動作しますが、クラスタセンターの計算に平均ではなく中央値を使用します。この小さな変更により、中央値は極端な値の影響を受けにくいため、アルゴリズムは外れ値に対してより堅牢になります。アルゴリズムはポイントを最も近いクラスタセンターに割り当てることとセンターを再計算することを交互に行いますが、中央値を使用することで、歪んだ分布や重い裾を持つ分布において、典型的なデータポイントをよりよく表すクラスタを生成します。 **数学的公式:** min(C1, ..., Ck) Σ(i=1 to k) Σ(x ∈ Ci) ||x − mi|| miはクラスタi内のすべてのポイントの中央値です。 **ユースケース:** 医療機関はK-Mediansを使用して、中央値の治療費や入院期間に基づいて患者をグループ化し、例外的に高額な請求や異常に長い入院をした少数の患者によってクラスタが歪むことを防ぎます。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>割り当てるクラスタの数を定義します。</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> </tbody> </table> ### K-Modes **説明:** K-Modesはカテゴリカルデータのクラスタリングのために設計されています。平均をモード(各クラスタ内で最も頻度の高いカテゴリ値)に置き換え、単純なマッチング非類似度指標を使用してポイントをクラスタに割り当てます。これにより、数値的な距離が意味をなさないシナリオ(嗜好や製品カテゴリによる顧客のクラスタリングなど)に適しています。アルゴリズムはクラスタモードが変わらなくなるまで反復的に更新し、最も一般的なカテゴリ値によって定義されるグループを生成します。 **数学的公式:** min(C1, ..., Ck) Σ(i=1 to k) Σ(x ∈ Ci) d(x, θi) d(x,θi)はxのカテゴリカル属性とモードθi間の不一致の数です。 **ユースケース:** 小売業者は「オンライン/オフライン優先」「エレクトロニクス/衣料品」「ディスカウント/ラグジュアリー」などのカテゴリカルデータを使用して顧客をクラスタリングします。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>形成するクラスタの数と生成する重心の数を定義します。</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>max_iter</td> <td>k-modesアルゴリズムの1回の実行における最大イテレーション数を決定します。</td> <td>int</td> <td>[1, ∞)</td> <td>100</td> </tr> <tr> <td>init</td> <td>初期化に使用する方法を指定します。</td> <td>string</td> <td>{'Huang', 'Cao', 'random'}</td> <td>'Cao'</td> </tr> </tbody> </table> ### Affinity Propagation **説明:** Affinity Propagationは、データポイントのペア間で類似度メッセージを交換することでクラスタリングを行い、一部のポイントがクラスタセンターとして機能する「エグゼンプラー」として識別されるまで続けます。K-Meansとは異なり、事前にクラスタ数を指定する必要はありません。アルゴリズムは入力された類似度と各ポイントがエグゼンプラーになる可能性を制御する「preference」パラメータに基づいて、形成するクラスタ数を自動的に決定します。これにより、自然なクラスタ数が不明な場合に特に有用です。 **ユースケース:** カスタマーサービスでは、事前にカテゴリ数を知ることなく、受信サポートクエリをクラスタにグループ化できます。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>damping</td> <td>ダンピングファクターを指定します。</td> <td>float</td> <td>[0.5, 1.0)</td> <td>0.5</td> </tr> <tr> <td>max_iter</td> <td>最大イテレーション数を決定します。</td> <td>int</td> <td>[1, ∞)</td> <td>200</td> </tr> <tr> <td>convergence_iter</td> <td>推定クラスタ数が変化せずに維持される連続イテレーション数を指定し、その後アルゴリズムが収束を宣言します。</td> <td>int</td> <td>[1, ∞)</td> <td>15</td> </tr> <tr> <td>affinity</td> <td>データポイント間で使用される類似度の測定方法を決定します。</td> <td>string</td> <td>{'precomputed', 'euclidean'}</td> <td>'euclidean'</td> </tr> </tbody> </table> ### Birch – Balanced Iterative Reducing and Clustering using Hierarchies **説明:** BIRCHは大規模またはストリーミングデータセット向けに設計されています。データポイントのコンパクトな要約を格納するCF(Clustering Feature)ツリーを段階的に構築し、これらの要約を使用してクラスタリングを実行します。CFツリーにより、BIRCHは完全なデータセットを一度に格納または処理することなく、入力データを迅速にグループ化できます。ツリー構築後、最終的なグローバルクラスタリングステップ(多くの場合K-Meansを使用)でクラスタを精緻化できます。このアプローチにより、BIRCHは非常にメモリ効率が良くスケーラブルになります。 **ユースケース:** IoTアプリケーションでは、Birchはスマートシティの交通監視など、連続的なセンサーデータのストリームをリアルタイムで意味のあるグループにクラスタリングできます。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>threshold</td> <td>最も近い既存のサブクラスタとマージする際のサブクラスタの最大半径を定義します。</td> <td>float</td> <td>(0, 1.0)</td> <td>0.5</td> </tr> <tr> <td>branching_factor</td> <td>各ノード内のCFサブクラスタの最大数を決定します。</td> <td>int</td> <td>[1, ∞)</td> <td>50</td> </tr> <tr> <td>n_clusters</td> <td>CFツリー構築後に形成する最終的なクラスタ数を決定します。</td> <td>int, None</td> <td>[1, ∞)</td> <td>3</td> </tr> </tbody> </table> ### K-Prototypes **説明:** K-PrototypesはK-MeansとK-Modesを拡張して、数値変数とカテゴリカル変数の両方を含むデータセットを処理します。数値特徴量には平均、カテゴリカル特徴量にはモードを使用してクラスタセンターを計算し、両者の影響のバランスを取る重みパラメータを使用して組み合わせます。これにより、大規模な前処理や変換なしに混合型データのクラスタリングが可能になります。 **数学的公式:** d(x, y) = Σ(j ∈ num) (xj − yj)² + γ Σ(j ∈ cat) δ(xj, yj) 各要素の説明: - δ(xj,yj)=等しい場合は0、それ以外は1 - γ = 数値距離とカテゴリカル距離のバランスを取る重み **ユースケース:** HR分析では、企業は数値データ(経験年数、給与など)とカテゴリカルデータ(部門、役職など)の混合データに基づいて従業員をグループ化し、労働力のパターンを特定できます。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>形成するクラスタの数と生成する重心の数を指定します。</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>max_iter</td> <td>k-modesアルゴリズムの1回の実行における最大イテレーション数を決定します。</td> <td>int</td> <td>[1, ∞)</td> <td>100</td> </tr> <tr> <td>init</td> <td>初期化のための方法を指定します。</td> <td>string</td> <td>{'Huang', 'Cao', 'random'}</td> <td>'Cao'</td> </tr> <tr> <td>categorical</td> <td>カテゴリカルカラムのリストを示します。</td> <td>list, None</td> <td>カラムのリスト</td> <td>None</td> </tr> </tbody> </table> # 密度ベースのアルゴリズム ### MeanShift **説明:** MeanShiftは、データポイントを確率密度関数からのサンプルとして扱い、最も高い密度の領域(モード)に向かって反復的にシフトすることでクラスタを見つけます。同じモードに収束するポイントがクラスタを形成します。このアプローチはクラスタ数を自動的に決定でき、任意の形状のクラスタに対してうまく機能しますが、パフォーマンスはバンド幅(密度推定に使用されるカーネルサイズ)の選択に依存します。 **数学的公式:** m(x) = Σ(xi ∈ N(x)) K(xi − x) xi / Σ(xi ∈ N(x)) K(xi − x) 各要素の説明: - Kはカーネル関数(例:ガウシアン) - N(x)はxの周りの近傍 **ユースケース:** 「空」「水」「陸地」などの領域が類似ピクセルのクラスタを形成する画像セグメンテーション。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>bin_seeding</td> <td>Trueに設定すると、アルゴリズムはすべてのデータポイントを使用する代わりに、入力データのビン化バージョンを使用してカーネルの位置を初期化します。これにより初期シードの数が減少し、特に大規模データセットでアルゴリズムが高速になります。</td> <td>bool</td> <td>{False, True}</td> <td>False</td> </tr> <tr> <td>cluster_all</td> <td>未割り当てのポイント(オーファン)の処理方法を制御します。Trueの場合、すべてのポイントが最も近いクラスタに強制的に割り当てられます。Falseの場合、クラスタに属さないオーファンポイントは-1(ノイズ)としてラベル付けされます。</td> <td>bool</td> <td>{False, True}</td> <td>True</td> </tr> <tr> <td>max_iter</td> <td>各シードポイントに対して許可される最大イテレーション数を指定します。シードポイントがこの制限までに収束しなかった場合、そのシードに対するプロセスは停止します。</td> <td>int</td> <td>[1, ∞)</td> <td>300</td> </tr> </tbody> </table> ### DBSCAN **説明:** DBSCAN(Density-Based Spatial Clustering of Applications with Noise)は、密接にパックされたポイント(密な領域)をクラスタにグループ化し、低密度領域に単独で存在するポイントをノイズとしてラベル付けします。事前にクラスタ数を指定する必要がないため、不規則な形状のクラスタを持つデータセットや、外れ値を明示的に識別したい場合に最適です。パフォーマンスはeps(近傍半径)とmin_samples(密な領域内の最小ポイント数)パラメータに大きく依存します。 **数学的公式:** |Nε(p)| ≥ minPts pはコアポイントであり、Nε(p) = pからの距離ε以内のポイントの集合です。 **ユースケース:** 銀行システムが正常な取引パターンをクラスタリングし、疑わしい孤立したパターンを不正としてフラグ付けします。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>eps</td> <td>2つのポイントが近傍と見なされるための最大距離を定義します。このパラメータはクラスタのサイズと密度に強く影響するため、DBSCANで最も重要な設定の1つです。</td> <td>float</td> <td>(0, ∞)</td> <td>0.5</td> </tr> <tr> <td>min_samples</td> <td>データポイントがコアポイントとして分類されるために必要な近傍サンプル(ポイント自体を含む)の最小数を指定します。領域がクラスタを形成するためにどの程度密でなければならないかを制御します。</td> <td>int</td> <td>[1, ∞)</td> <td>5</td> </tr> <tr> <td>metric</td> <td>データポイント間の類似度を計算するために使用される距離尺度を決定します。</td> <td>string</td> <td>{'cityblock', 'cosine', 'euclidean', 'l1', 'l2', 'manhattan', 'minkowski'}</td> <td>'euclidean'</td> </tr> <tr> <td>algorithm</td> <td>ポイント間の距離を効率的に求めるために使用される最近傍探索方法を示します。</td> <td>string</td> <td>{'auto', 'ball_tree', 'kd_tree', 'brute'}</td> <td>'auto'</td> </tr> </tbody> </table> # メドイドベースのアルゴリズム ### CLARA **説明:** CLARA(Clustering Large Applications)は、データセット全体ではなく、データの複数の小さなランダムサンプルをクラスタリングすることで動作する、PAM(Partitioning Around Medoids)アルゴリズムのスケーラブルなバージョンです。その後、完全なデータセットでクラスタリング品質を評価し、最適なメドイドのセットを選択します。このサンプリングアプローチにより、PAMを直接実行すると計算コストが高くなる大規模データセットに対してCLARAが実用的になります。 **数学的公式:** データの小さなランダムサンプルStに対してK-Medoidsを実行します: min(M) Σ(x ∈ St) d(x, m(x)) その後、完全なデータセットで総コストを評価し、最適なサンプルを選択します。 **ユースケース:** 通信事業者がデータセット全体ではなくデータサンプルを使用して、数百万の通話記録を「国際通話者」などのカテゴリにクラスタリングします。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>形成するクラスタの数と生成するメドイドの数を決定します。</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>max_iter</td> <td>フィッティング時の最大イテレーション数を指定します。</td> <td>int</td> <td>[1, ∞)</td> <td>300</td> </tr> </tbody> </table> ### CLARANS **説明:** CLARANS(Clustering Large Applications based on Randomized Search)は、異なる可能なメドイド構成を探索するためにランダム化探索技術を使用することでCLARAを改善しています。すべての可能なスワップをチェックするのではなく、各ステップで近傍のサブセットのみを探索するため、効率とクラスタリング品質のバランスを取ります。これにより、CLARANSは網羅的な計算なしに大規模データセットに対してほぼ最適な解を見つけるのに優れています。 **数学的概念:** ランダム化されたローカルスワップを使用して、より良いメドイドを反復的に探索します: min(M) Σ(x ∈ D) d(x, m(x)) CLARANSはすべての可能性ではなくランダムな近傍解を探索し、速度と精度のバランスを取ります。 **ユースケース:** 都市交通局が移動パターンに基づいてバスルートをグループ化し、スケジューリングを最適化します。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>形成するクラスタの数と生成するメドイドの数を決定します。</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>maxneighbor</td> <td>検査する近傍の最大数を指定します。</td> <td>int</td> <td>[1, ∞)</td> <td>5</td> </tr> </tbody> </table> ### K-Medoids **説明:** K-MedoidsはK-Meansに似ていますが、クラスタセンターとしてデータポイントの平均ではなく、メドイドと呼ばれる実際のデータポイントを使用します。メドイドは重心と比較して極端な値の影響を受けにくいため、ノイズや外れ値に対してより堅牢です。K-Medoidsは、データセットに多くの外れ値が含まれる場合や、実際のデータポイントによるクラスタの解釈可能性が重要な場合によく使用されます。 **数学的公式:** min(M) Σ(i=1 to k) Σ(x ∈ Ci) d(x, mi) 各要素の説明: - M={m1,...,mk}はメドイド(実際のデータポイント) - d(x,mi)は距離メトリック(例:ユークリッド、マンハッタン) **ユースケース:** 医療では、K-Medoidsを使用して症状と検査結果に基づいて患者記録をクラスタリングし、実際の患者プロファイルを代表的なメドイドとして使用できます。これにより、異常に稀なまたは極端な医学的状態の患者によってクラスタが歪むことを防ぎます。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>形成するクラスタの数と生成するメドイドの数を決定します。</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>init</td> <td>メドイドの初期化方法を指定します。</td> <td>string</td> <td>{'random', 'heuristic', 'k-medoids++', 'build'}</td> <td>'heuristic'</td> </tr> <tr> <td>metric</td> <td>データポイント間の類似度または非類似度を測定するために使用される距離関数を指定します。</td> <td>string</td> <td>{'cityblock', 'cosine', 'euclidean', 'haversine', 'l2', 'l1', 'manhattan', 'nan_euclidean'}</td> <td>'euclidean'</td> </tr> <tr> <td>method</td> <td>使用するアルゴリズムを決定します。'alternate'はより高速で、'pam'はより正確です。</td> <td>string</td> <td>{'pam', 'alternate'}</td> <td>'alternate'</td> </tr> <tr> <td>max_iter</td> <td>アルゴリズムがデータセット全体に対して実行する最大イテレーション数を定義します。クラスタリングプロセスがこの制限に達する前に収束しない場合、現在のクラスタ割り当てを返して停止します。</td> <td>int</td> <td>[1, ∞)</td> <td>300</td> </tr> </tbody> </table> # モデルベースのアルゴリズム ### Gaussian Mixture Model (GMM) **説明:** GMMモデルは、データを各クラスタを表す複数のガウス(正規)分布の混合としてモデル化することを前提としています。各ポイントを正確に1つのクラスタに割り当てるK-Meansとは異なり、GMMは各ポイントが各クラスタに属する確率を割り当てます(ソフトクラスタリング)。モデルパラメータ(平均、共分散、混合重み)は期待値最大化(EM)アルゴリズムを使用して最適化されます。これにより、GMMは異なる形状、サイズ、方向のクラスタを捉えることができ、データが十分に分離されていない場合や楕円形の分布を持つ場合にK-Meansよりも柔軟です。 **数学的公式:** p(x) = Σ(i=1 to k) πi 𝓝(x | μi, Σi) 各要素の説明: - πi = コンポーネントiの重み(確率) - μi = 平均ベクトル - Σi = 共分散行列 - N(x∣μi,Σi) = 多変量ガウス分布 **ユースケース:** マーケティング分析では、GMMを使用して行動や消費パターンに基づいて顧客を重なり合うグループにクラスタリングします。各顧客は複数のセグメントに属する確率を持つことができます。 **主要なパラメータ:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:40%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:15%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_components</td> <td>混合コンポーネントの数を指定します。</td> <td>int</td> <td>(0, ∞)</td> <td>2</td> </tr> <tr> <td>covariance_type</td> <td>共分散行列の構造を指定することで、クラスタの形状を定義します。</td> <td>string</td> <td>{'full', 'tied', 'diag', 'spherical'}</td> <td>'full'</td> </tr> <tr> <td>max_iter</td> <td>期待値最大化(EM)アルゴリズムの最大イテレーション数を設定します。</td> <td>int</td> <td>[1, ∞)</td> <td>100</td> </tr> <tr> <td>init_params</td> <td>EMアルゴリズムが開始する前に初期パラメータ(重み、平均、共分散)がどのように設定されるかを決定します。</td> <td>string</td> <td>{'kmeans', 'k-means++', 'random', 'random_from_data'}</td> <td>'kmeans'</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "異常検知" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.697Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/ml-algorithms/anomaly-detection/" service: "QuickML" -------------------------------------------------------------------------------- # 異常検知アルゴリズム 異常検知は、データの大部分から大きく逸脱するデータポイント、イベント、または観測値を特定することに焦点を当てた**教師なし機械学習**技術です。これらの外れ値は、不正行為、ネットワーク侵入、機器の故障、データ品質の問題などの重要なインシデントを表すことがあります。事前定義されたラベルを予測する代わりに、異常検知モデルはデータ内の正常な動作を学習し、注意が必要な逸脱をフラグ付けします。 注意: 異常検知機能は、すべてのデータセンターで早期アクセスとして利用可能です。使用するには、support@zohocatalyst.com からアクセスをリクエストしてください。 異常検知の概念的な理解については、異常検知ヘルプドキュメントを参照してください。 Catalyst QuickMLにおける異常検知は、時系列と非時系列に大きく分類され、それぞれ独自のアルゴリズムと設定可能なパラメータのセットを提供しています。 # 時系列異常検知アルゴリズム Catalyst QuickMLにおける時系列データの異常検知は、時間の経過に伴う連続データポイントにおける異常なパターンや逸脱を特定することに焦点を当てています。これらの手法は時間的な依存性と季節性を考慮し、突然のスパイク、ドロップ、またはトレンドの変化を検出できるようにします。 個々の時系列異常検知アルゴリズムを探る前に、以下の画像に示す**異常感度制御**に使用される共通パラメータを理解することが重要です。これらのパラメータはCatalyst QuickMLのすべての時系列異常検知アルゴリズムで共通であり、異常の検出と解釈を制御するために不可欠です。ユーザーは閾値、ウィンドウサイズ、異常スコアリング方法を微調整でき、システムが正常な変動と真の異常な動作を正確に区別することを保証します。 **共通パラメータ**: - **閾値(Threshold)**:モデルが予想される動作からの逸脱に対してどの程度敏感であるかを決定します。閾値が低いほど感度が上がり、小さな変動も異常としてフラグ付けされます。閾値が高いほど誤検知が減少します。 - **ウィンドウサイズ(Window size)**:分析に使用されるデータポイントのローリングウィンドウを定義します。最大24タイムステップまで適用可能です。 - **異常スコアリング方法(Anomaly scoring method)**:現在はZスコアをサポートしており、ポイントが平均から標準偏差の何倍離れているかを測定します。 以下は、Catalyst QuickMLでサポートされている時系列異常検知アルゴリズムと、その説明、実世界のユースケース、および主要なパラメータです。 ### Auto Regressor **説明**:Auto Regressor(AR)モデルは、過去の観測値の線形結合に基づいて将来の値を予測します。過去の動作が現在に直接影響を与えるという仮定に基づき、係数は過去と現在の値の関係の強さを表します。QuickMLはこれをLinear Regressor、Random Forest Regressor、AdaBoost Regressor、Gradient Boosting Regressorなどの柔軟な回帰バックエンドで拡張し、線形および非線形の時間モデリングを可能にします。 **数学的直感**: Yₜ = c + ∑ᵢ₌₁ᵖ φᵢ Yₜ₋ᵢ + εₜ 各要素の説明: - Yt = 現在の値 - c = 切片(定数項) - ϕi = 自己回帰係数 - Yt−i = ラグ付き観測値 - εt = ランダムノイズ **ユースケース**:財務予測、センサードリフト検出、予測的プロセス監視に使用され、直近の履歴が次の結果に大きく影響する場合に適しています。例えば、短期的な株価トレンドの予測や温度センサーの異常な変動の検出などです。 **主要なパラメータ**: 注意: パラメータ範囲において、角括弧 [ ] は境界値を含み、丸括弧 ( ) は境界値を除外します。 <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">パラメータ</th> <th style="text-align:left; width:25%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:20%;">設定可能な値</th> <th style="text-align:left; width:15%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>select_model_to_fit</td> <td>時系列のフィッティングに使用する回帰モデルを選択します。</td> <td>string</td> <td>{'Linear Regressor', 'Random-Forest Regressor', 'AdaBoost Regressor', 'Gradient Boosting Regressor'}</td> <td>'Linear Regressor'</td> </tr> <tr> <td>max_lag</td> <td>現在の値を予測するために使用する過去のタイムステップ数を定義します。</td> <td>int</td> <td>[1, ∞)</td> <td>1</td> </tr> </tbody> </table> ### Moving Average (MA) **説明**:Moving Averageモデルは、時系列内のノイズやランダムなショックのモデリングに焦点を当てています。過去の値を直接使用する代わりに、過去の予測誤差の加重合計として現在の観測値を予測します。このアプローチは短期的な変動を平滑化するのに役立ち、予想される残差パターンからの異常な逸脱を検出するのに最適です。 **数学的直感**: Yₜ = μ + ∑ᵢ₌₁ᵠ θᵢ εₜ₋ᵢ + εₜ 各要素の説明: - Yt = 現在の観測値 - μ = 系列の平均 - θi = 移動平均係数 - εt−i = 過去の予測誤差 **ユースケース**:株価の異常検出、製造出力の監視、短期的な需要予測に適用され、不規則な誤差パターンを特定することで一時的な異常やプロセスの不安定性を発見するのに役立ちます。 **主要なパラメータ**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:15%;">パラメータ</th> <th style="text-align:left; width:50%;">説明</th> <th style="text-align:left; width:10%;">データ型</th> <th style="text-align:left; width:12.5%;">設定可能な値</th> <th style="text-align:left; width:12.5%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>ma_lag (q)</td> <td>将来の値を予測するために使用する過去の予測誤差の数を指定します。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> </tbody> </table> ### ARIMA (AutoRegressive Integrated Moving Average) **説明**:ARIMAは3つのコンポーネントを統合しています: - AR(AutoRegressive)– 過去の値を使用 - I(Integrated)– 差分化によりトレンドと非定常性を除去 - MA(Moving Average)– 残差ノイズをモデル化 これらを組み合わせることで、ARIMAは時間的な依存性とトレンドの変化の両方を捉えます。定常時系列に非常に効果的で、確立された統計的関係に違反する逸脱を検出するのに適しています。 **数学的直感**: Y′ₜ = c + ∑ᵢ₌₁ᵖ φᵢ Y′ₜ₋ᵢ + ∑ⱼ₌₁ᵠ θⱼ εₜ₋ⱼ + εₜ Yt′は次数dを適用した後の差分系列です。 **ユースケース**:経済指標の監視、システムログの異常検出、生産ラインの予測に広く使用され、長期的なトレンドや周期的な安定性からの変化を検出することが重要な場面に適しています。 **主要なパラメータ**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:15%;">パラメータ</th> <th style="text-align:left; width:30%;">説明</th> <th style="text-align:left; width:15%;">データ型</th> <th style="text-align:left; width:10%;">設定可能な値</th> <th style="text-align:left; width:25%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>ar_lag (p)</td> <td>モデルに含まれるラグ観測値の数。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>ma_lag (q)</td> <td>予測式におけるラグ付き予測誤差の数。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>integration (d)</td> <td>定常性を達成するためにデータを差分化する回数。</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> </tbody> </table> ### ARMA (AutoRegressive Moving Average) **説明**:ARMAはARモデルとMAモデルの長所を組み合わせていますが、系列が定常(差分化なし)であることを前提としています。過去の観測値への依存性と誤差項の相関の両方を捉え、トレンド感度とノイズフィルタリングのバランスを提供します。 **数学的直感**: Yₜ = c + ∑ᵢ₌₁ᵖ φᵢ Yₜ₋ᵢ + ∑ⱼ₌₁ᵠ θⱼ εₜ₋ⱼ + εₜ **ユースケース**:ネットワーク遅延の監視、サーバーパフォーマンスの分析、安定したプロセスの異常検出に使用され、時間の経過に伴う一貫した動作により小さな逸脱が非常に重要となる場面に適しています。 **主要なパラメータ**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:15%;">パラメータ</th> <th style="text-align:left; width:30%;">説明</th> <th style="text-align:left; width:15%;">データ型</th> <th style="text-align:left; width:10%;">設定可能な値</th> <th style="text-align:left; width:25%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>ar_lag (p)</td> <td>モデルで使用されるラグ観測値の数。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>ma_lag (q)</td> <td>モデルにおけるラグ付き予測誤差の数。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> </tbody> </table> ### Auto ARIMA **説明**:Auto ARIMAは、情報量基準(AICやBICなど)に基づいてパラメータ(p,d,q)の複数の組み合わせとオプションで季節パラメータを評価することで、ARIMAモデルの選択を自動化します。これにより、手動のパラメータチューニングなしで最適なフィッティングが可能になり、モデルが変化する時間ダイナミクスに適応することを保証します。 **数学的直感**:以下を最小化するパラメータを自動的に選択します: AIC = 2k − 2ln(L) ここで、k = パラメータの数、L = 最尤推定値です。 **ユースケース**:季節的な小売予測、ユーティリティ消費の異常追跡、自動化された運用監視に最適で、時系列が周期的および非周期的な不規則性の両方を示す場面に適しています。 **主要なパラメータ**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:15%;">パラメータ</th> <th style="text-align:left; width:30%;">説明</th> <th style="text-align:left; width:15%;">データ型</th> <th style="text-align:left; width:10%;">設定可能な値</th> <th style="text-align:left; width:25%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>seasonal</td> <td>モデルが季節性を考慮するかどうかを示します。</td> <td>bool</td> <td>{True, False}</td> <td>True</td> </tr> <tr> <td>ar_lag (p)</td> <td>非季節ARラグパラメータ。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>ma_lag (q)</td> <td>非季節MAラグパラメータ。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>integration (d)</td> <td>非季節差分次数。</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> <tr> <td>periodicity (s)</td> <td>季節周期の長さ(例:月次データの場合は12)。</td> <td>int</td> <td>[0, ∞)</td> <td>12</td> </tr> <tr> <td>integration (D)</td> <td>季節差分次数。</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> <tr> <td>max_order</td> <td>モデルの最大合計次数(オプション)。</td> <td>int</td> <td>[0, 5]</td> <td>5</td> </tr> </tbody> </table> ### SARIMA (Seasonal ARIMA) **説明**:SARIMAは、季節的な自己回帰、差分化、移動平均コンポーネントを含めることでARIMAを拡張し、周期的な変動(例:日次、月次、年次の周期)をモデル化できるようにします。季節的な期待値に対して発生する異常の検出に優れています。 **数学的直感**: Φᴾ(Bˢ) φᵖ(B) (1 − B)ᵈ (1 − Bˢ)ᴰ Yₜ = Θᵠ(Bˢ) θᵩ(B) εₜ 各要素の説明: - s = 季節周期 - (p,d,q) = 非季節パラメータ - (P,D,Q) = 季節パラメータ **ユースケース**:エネルギー負荷の異常検出、気候監視、売上の季節性分析に適用され、予想される季節的な動作からの逸脱が潜在的な異常を示す場面に使用されます。 **主要なパラメータ**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:25%;">パラメータ</th> <th style="text-align:left; width:20%;">説明</th> <th style="text-align:left; width:15%;">データ型</th> <th style="text-align:left; width:10%;">設定可能な値</th> <th style="text-align:left; width:25%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>ar_lag (p)</td> <td>非季節AR項。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>ma_lag (q)</td> <td>非季節MA項。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>integration (d)</td> <td>非季節差分化。</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> <tr> <td>seasonal_ar (P)</td> <td>季節AR項。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>seasonal_ma (Q)</td> <td>季節MA項。</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>seasonal_integration (D)</td> <td>季節差分化。</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> <tr> <td>periodicity (s)</td> <td>季節周期(例:月次の季節性の場合は12)。</td> <td>int</td> <td>[0, ∞)</td> <td>12</td> </tr> <tr> <td>enforce_stationarity</td> <td>モデルで定常性を強制するかどうか。</td> <td>bool</td> <td>{True, False}</td> <td>False</td> </tr> <tr> <td>enforce_invertibility</td> <td>モデルの可逆性を強制するかどうか。</td> <td>bool</td> <td>{True, False}</td> <td>False</td> </tr> </tbody> </table> ### Exponential Smoothing **説明**:Exponential Smoothingは、古い観測値に指数関数的に減少する重みを与えることで将来の値を予測します。これにより、全体的なトレンドを維持しながら最近のデータを重視します。トレンドやレベルの突然の変化に対して高い応答性を持ちます。 **数学的直感**: Ŷₜ₊₁ = αYₜ + (1 − α)Ŷₜ 各要素の説明: - Y^t+1 = 予測値 - α = 平滑化パラメータ(0–1) - Yt = 実測値 **ユースケース**:在庫管理、売上トレンドの監視、マシンテレメトリに一般的に使用され、最近の動作における変化や減衰の迅速な検出が重要な場面に適しています。 **主要なパラメータ**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:25%;">パラメータ</th> <th style="width:20%;">説明</th> <th style="width:15%;">データ型</th> <th style="width:10%;">設定可能な値</th> <th style="width:25%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>damped_trends</td> <td>トレンドコンポーネントにダンピングを適用するかどうか。</td> <td>bool</td> <td>{True, False}</td> <td>False</td> </tr> <tr> <td>season</td> <td>適用する季節性のタイプ。</td> <td>string</td> <td>{'Add', 'Mul'}</td> <td>'Add'</td> </tr> <tr> <td>seasonal_periods</td> <td>完全な季節サイクルにおける期間の数。</td> <td>int</td> <td>[1, ∞)</td> <td>12</td> </tr> </tbody> </table> ### Holt-Winter's Method **説明**:Holt-Winter's法(三重指数平滑法)は、トレンドと季節コンポーネントを追加することで指数平滑法を拡張します。レベルの変化、上昇または下降トレンド、周期的な変動に適応でき、周期的な時系列に対して堅牢な異常検出を提供します。 **数学的直感**: Lₜ = α (Yₜ / Sₜ₋ₛ) + (1 − α)(Lₜ₋₁ + Tₜ₋₁) Tₜ = β (Lₜ − Lₜ₋₁) + (1 − β)Tₜ₋₁ Sₜ = γ (Yₜ / Lₜ) + (1 − γ)Sₜ₋ₛ Ŷₜ₊ₘ = (Lₜ + mTₜ) Sₜ₋ₛ₊ₘ Lt = レベル、Tt = トレンド、St = 季節コンポーネント。 **ユースケース**:小売需要予測、リソース使用率の監視、温度異常の検出に広く使用され、正確な異常識別のために季節性とトレンドの変化の両方を捉える必要がある場面に適しています。 **主要なパラメータ**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:25%;">パラメータ</th> <th style="width:25%;">説明</th> <th style="width:15%;">データ型</th> <th style="width:20%;">設定可能な値</th> <th style="width:25%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>smoothing_level</td> <td>レベルコンポーネントの平滑化係数。</td> <td>float</td> <td>[0, 1]</td> <td>0.8</td> </tr> <tr> <td>smoothing_trend</td> <td>トレンドコンポーネントの平滑化係数。</td> <td>float</td> <td>[0, 1]</td> <td>0.2</td> </tr> <tr> <td>damping_trend</td> <td>トレンドコンポーネントのダンピングを制御します。</td> <td>bool</td> <td>{True, False}</td> <td>True</td> </tr> <tr> <td>optimise</td> <td>パラメータを自動的に最適化するかどうかを指定します。</td> <td>string</td> <td>{'Select', 'Manual'}</td> <td>'Select'</td> </tr> <tr> <td>exponential</td> <td>指数トレンド平滑化を使用するかどうか。</td> <td>bool</td> <td>{True, False}</td> <td>False</td> </tr> </tbody> </table> # 非時系列異常検知アルゴリズム ### One-Class SVM **説明**:One-Class SVM(サポートベクターマシン)は、特徴空間内の大多数の(正常な)データポイントの周りに決定境界を学習します。この境界の外側に位置するポイントは異常として分類されます。高次元データセットで効果的に機能し、異常がまれで正常データと明確に区別できる場合に有効です。 **数学的直感**: このアルゴリズムは、高いデータ密度の領域(正常ポイント)で正の値を取り、低密度の領域(異常)で負の値を取る関数f(x)を見つけます。以下の最適化問題を解くことを目指します: min (1/2) ||w||² + (1 / (νn)) Σ ξᵢ − ρ subject to: (w · φ(xᵢ)) ≥ ρ − ξᵢ , ξᵢ ≥ 0 各要素の説明: - ν:外れ値の上限を制御 - ξi:ソフトマージンを許容するスラック変数 - ϕ(x):データをより高い次元にマッピングするカーネル関数 **ユースケース**:正常な動作が明確に定義されているが異常がまれなシステムにおける不正検出、ネットワーク侵入検出、産業システムのノベルティ検出に使用されます。 **主要なパラメータ**: 注意: パラメータ範囲において、角括弧 [ ] は境界値を含み、丸括弧 ( ) は境界値を除外します。例:[1, ∞) → 1を含み無限大まで拡張、(0, 1] → 0を除外し1を含む。 <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:15%;">パラメータ</th> <th style="width:30%;">説明</th> <th style="width:15%;">データ型</th> <th style="width:15%;">設定可能な値</th> <th style="width:25%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>kernel</td> <td>使用するカーネルタイプを指定します。指定しない場合、'rbf'が使用されます。</td> <td>string</td> <td>{'linear', 'poly', 'rbf', 'sigmoid', 'precomputed'}</td> <td>'rbf'</td> </tr> <tr> <td>degree</td> <td>多項式カーネル関数('poly')の次数。他のカーネルでは無視されます。</td> <td>int</td> <td>[1, ∞)</td> <td>3</td> </tr> <tr> <td>gamma</td> <td>'rbf'、'poly'、'sigmoid'のカーネル係数。</td> <td>string</td> <td>{'scale', 'auto'}</td> <td>'scale'</td> </tr> <tr> <td>coef0</td> <td>カーネル関数の独立項。'poly'と'sigmoid'で重要です。</td> <td>float</td> <td>[0, 1]</td> <td>0.0</td> </tr> <tr> <td>tol</td> <td>停止基準の許容値。</td> <td>float</td> <td>[0, 1]</td> <td>1e-3</td> </tr> <tr> <td>nu</td> <td>トレーニングエラーの割合の上限およびサポートベクターの割合の下限。</td> <td>float</td> <td>(0, 1]</td> <td>0.5</td> </tr> <tr> <td>shrinking</td> <td>縮小ヒューリスティックを使用するかどうか。</td> <td>bool</td> <td>{False, True}</td> <td>True</td> </tr> <tr> <td>max_iter</td> <td>ソルバーのイテレーション回数のハードリミット。-1で制限なし。</td> <td>int</td> <td>[1, ∞), {-1}</td> <td>-1</td> </tr> </tbody> </table> ### Isolation Forest **説明**:Isolation Forestは、正常なデータポイントをモデル化する代わりに、観測値を分離することで異常を識別します。特徴をランダムに選択し、ランダムな閾値に基づいてデータを分割します。異常は少数で異質であるため、分離が容易で、より少ない分割回数で済みます。ツリーの平均パス長は異常の場合に短く、正常ポイントの場合に長くなります。 **数学的直感**: 異常スコアは以下のように計算されます: s(x, n) = 2^(− E(h(x)) / c(n)) 各要素の説明: - E(h(x)):観測値xの平均パス長 - c(n):二分探索木における非成功検索の平均パス長 - スコアが1に近い → 異常、0.5に近い → 正常 **ユースケース**:不正検出、ネットワーク侵入検出、製造欠陥検出、IoTセンサーの異常識別に一般的に使用されます。不正検出では、通常の支出行動から逸脱する疑わしい取引を発見するのに役立ちます。ネットワーク侵入検出では、セキュリティ侵害を示す可能性のある異常なアクセスパターンやトラフィックスパイクを識別します。 **主要なパラメータ**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:15%;">パラメータ</th> <th style="width:30%;">説明</th> <th style="width:15%;">データ型</th> <th style="width:15%;">設定可能な値</th> <th style="width:25%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_estimators</td> <td>アンサンブル内のベースエスティメータ(ツリー)の数。</td> <td>int</td> <td>[1, ∞)</td> <td>100</td> </tr> <tr> <td>max_samples</td> <td>各エスティメータのトレーニングに抽出するサンプル数。</td> <td>string, int, float</td> <td>[1, ∞), [0, 1], {'auto'}</td> <td>'auto'</td> </tr> <tr> <td>contamination</td> <td>データセット内の外れ値の割合。</td> <td>string, float</td> <td>{'auto'}, (0, 0.5]</td> <td>'auto'</td> </tr> <tr> <td>max_features</td> <td>各エスティメータに抽出する特徴量の数。</td> <td>int, float</td> <td>[1, ∞), [0, 1]</td> <td>1.0</td> </tr> <tr> <td>bootstrap</td> <td>トレーニングデータを復元抽出でサンプリングするかどうか。</td> <td>bool</td> <td>{False, True}</td> <td>False</td> </tr> </tbody> </table> ### Local Outlier Factor (LOF) **説明**:Local Outlier Factorは、データポイントの局所密度をその近傍のデータポイントの密度と比較することで異常を検出します。あるポイントがその近傍よりも大幅に低い密度を持つ場合、そのポイントは異常と見なされます。LOFは、グローバルな異常よりもローカルな異常の検出に特に効果的です。 **数学的直感**: LOFは局所到達可能密度(LRD)の概念に基づいています。データポイントAのLOFスコアは以下の式で計算されます: LOFₖ(A) = ( Σ_{B ∈ Nₖ(A)} [LRDₖ(B) / LRDₖ(A)] ) / |Nₖ(A)| 各要素の説明: - Nk(A):Aのk近傍 - LRDk(A):Aの局所到達可能密度 - 値 ≈ 1 → 正常、> 1 → 外れ値 **ユースケース**:正常なパターンからの局所的な逸脱の特定が不可欠な多様なドメインで効果的に活用されています。不正検出では、同じグループ内で異なる行動を示す顧客や取引を強調し、微妙なまたは進化する不正パターンを発見するのに役立ちます。顧客セグメンテーションでは、定義されたセグメント内の外れ値プロファイル(例:異常に高価値または非アクティブな顧客)を検出し、より正確なターゲティングとリテンション戦略を実現します。 **主要なパラメータ**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:15%;">パラメータ</th> <th style="width:30%;">説明</th> <th style="width:15%;">データ型</th> <th style="width:15%;">設定可能な値</th> <th style="width:25%;">デフォルト値</th> </tr> </thead> <tbody> <tr> <td>n_neighbors</td> <td>k近傍クエリに使用する近傍の数。</td> <td>int</td> <td>[1, n_samples)</td> <td>20</td> </tr> <tr> <td>algorithm</td> <td>最近傍の計算に使用するアルゴリズム。</td> <td>string</td> <td>{'auto', 'ball_tree', 'kd_tree', 'brute'}</td> <td>'auto'</td> </tr> <tr> <td>leaf_size</td> <td>BallTreeまたはKDTreeのリーフサイズ。速度とメモリに影響します。</td> <td>int</td> <td>[1, ∞)</td> <td>20</td> </tr> <tr> <td>metric</td> <td>距離計算のメトリック。</td> <td>string</td> <td>{'cityblock', 'cosine', 'euclidean', 'haversine', 'l1', 'l2', 'manhattan', 'nan_euclidean'}</td> <td>'minkowski'</td> </tr> <tr> <td>p</td> <td>Minkowskiメトリックのパラメータ(1=マンハッタン、2=ユークリッド)。</td> <td>float</td> <td>[1, ∞)</td> <td>2</td> </tr> <tr> <td>contamination</td> <td>データセット内の外れ値の割合。</td> <td>float, string</td> <td>(0, 0.5], {'auto'}</td> <td>'auto'</td> </tr> </tbody> </table> ### QuickMLでの操作 -------------------------------------------------------------------------------- title: "エンコーディング" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.698Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/operations-in-quickml/encoding/" service: "QuickML" -------------------------------------------------------------------------------- # QuickMLの操作 データ前処理は、機械がデータを解析しやすいようにデータを変換またはエンコードするステップです。つまり、データの特徴量がアルゴリズムによって容易に解釈できるようになります。 1. **エンコーディング** 2. **特徴量エンジニアリング** 3. **欠損値補完** 4. **正規化** 5. **変換器** # エンコーディング エンコーディングは、カテゴリ変数(離散値)を数値(連続値)に変換する技術であり、機械学習モデルに容易に適合させることができます。 1. ### 順序エンコーダー 順序エンコーディングは、各ユニークなラベルを整数値にマッピングします。このタイプのエンコーディングは、カテゴリ間に既知の関係がある場合にのみ適切です。データが順序付けられている場合、順序エンコーディングを使用できます。\ **例:**\ 温度値のLow、Normal、Highの場合、順序エンコーディングを使用できます。エンコード後のデータは0,1,2のようになります(0-->低温,2-->高温)。 順序エンコーディングは、クラスを表すために単一の整数カラムを使用します。オプションのマッピング辞書を渡すことができます。この場合、クラス自体に何らかの真の順序があるという知識を使用します。そうでない場合、クラスには真の順序がないと想定され、整数がランダムに選択されます。 2. ### One-Hotエンコーディング このカテゴリデータエンコーディング技術は、特徴量が名義的(順序がない)な場合に使用します。One-Hotエンコーディングでは、カテゴリ特徴量の各レベルに対して新しい変数を作成します。各カテゴリは0または1を含むバイナリ変数にマッピングされます。ここで、0はそのカテゴリの不在を表し、1はそのカテゴリの存在を表します。 カテゴリ特徴量が順序的(順序付きデータ)でなく、カテゴリ特徴量のカテゴリ数が少ない場合、One-Hotエンコーディングを効果的に適用できます。 **入力例:** <table class="content-table" style="width:200px;"> <thead> <tr> <th style="text-align:center">color</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">blue</td> </tr> <tr> <td style="text-align:center">red</td> </tr> <tr> <td style="text-align:center">green</td> </tr> </tbody> </table> **出力例:** <table class="content-table" style="width:500px;"> <thead> <tr> <th style="text-align:center">color_blue</th> <th style="text-align:center">color_red</th> <th style="text-align:center">color_green</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">1</td> <td style="text-align:center">0</td> <td style="text-align:center">0</td> </tr> <tr> <td style="text-align:center">0</td> <td style="text-align:center">1</td> <td style="text-align:center">0</td> </tr> <tr> <td style="text-align:center">0</td> <td style="text-align:center">0</td> <td style="text-align:center">1</td> </tr> </tbody> </table> 3. ### JamesSteinエンコーダー 特徴量の値に対して、James-Stein推定量は以下の加重平均を返します: 1. 観測された特徴量の値に対するターゲットの平均値。 2. ターゲットの全体平均値(特徴量の値に関係なく)。 4. ### ラベルエンコーディング カテゴリのターゲットカラムを、カテゴリ変数の各カテゴリに一意の整数または数値ラベルを割り当てることで数値カラムに変換するために使用されます。エンコーディングはカテゴリ変数に順序を導入するため、すべてのケースで有用とは限りません。カテゴリ間に固有の順序やランキングがある順序変数に適しています。 5. ### LeaveOneOutエンコーダー LeaveOneOutエンコーディングは、問題のカテゴリ特徴量変数に対して同じ値を含むすべてのレコードのターゲット変数の平均を本質的に計算します。エンコーディングアルゴリズムはトレーニングデータセットとテストデータセットで若干異なります。トレーニングデータセットでは、対象のレコードが除外されます(そのため「Leave One Out」と呼ばれます)。 6. ### ターゲットエンコーディング ターゲットエンコーディングでは、各カテゴリのターゲット変数の平均を計算し、カテゴリ変数をその平均値で置き換えます。カテゴリのターゲット変数の場合、ターゲットの事後確率が各カテゴリを置き換えます。\ ターゲットエンコーディングは、カテゴリの値をターゲット変数の平均で置き換えるプロセスです。非カテゴリのカラムはターゲットエンコーダーモデルによって自動的に除外されます。 7. ### カウントエンコーダー カウントエンコーディングは、トレーニングセットで計算されたカウントでカテゴリを置き換えることに基づいています。一部の変数でカウントが同じになる可能性があり、2つのカテゴリが同じ値としてエンコードされる衝突が発生する場合があります。カウントエンコーダーは、カテゴリのカウントが同じでない場合に使用できます。 <table class="content-table" style="width:600px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">10</td> <td style="text-align:center">10</td> <td style="text-align:center">20</td> <td style="text-align:center">30</td> <td style="text-align:center">30</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">2</td> <td style="text-align:center">2</td> <td style="text-align:center">1</td> <td style="text-align:center">3</td> <td style="text-align:center">3</td> <td style="text-align:center">3</td> </tr> <tbody> </tbody> </table> 8. ### 後方差分エンコーディング 後方差分コーディングでは、あるレベルの従属変数の平均が、前のレベルの従属変数の平均と比較されます。このタイプのコーディングは、名義変数または順序変数に有用な場合があります。 9. ### ヘルマートエンコーディング あるレベルの従属変数の平均が、それ以前のすべてのレベルの従属変数の平均と比較されます。この比較は、人種などの名義変数にはあまり意味がありません。 10. ### Catboostエンコーディング Catboostはターゲットベースのカテゴリエンコーダーです。カテゴリ特徴量を、トレーニングデータセット内のそのカテゴリに対応するターゲットの平均値とデータセット全体のターゲット確率を組み合わせた値で置き換えます。ただし、これはターゲットリーケージを導入します。ターゲットを予測するためにターゲットが使用されるためです。 -------------------------------------------------------------------------------- title: "欠損値補完" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.698Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/operations-in-quickml/imputers/" service: "QuickML" -------------------------------------------------------------------------------- # 欠損値補完 欠損値補完は、データセット内の欠損データを代替値で置き換えることにより、データセットのデータ/情報の大部分を保持するために使用される技術です。 1. ### KNN欠損値補完 この補完は、k近傍法を利用して、データセット内の欠損値をトレーニングセットで見つかったパラメータn_neighborsの最近傍の平均値で置き換えます。デフォルトでは、n_neigboursパラメータは5に設定され、k近傍を見つけるためにユークリッド距離メトリックが使用されます。 2. ### MissForest欠損値補完 最初に平均値/最頻値を使用してすべての欠損データを補完します。その後、欠損値を含む各変数について、観測された部分でランダムフォレストモデルをトレーニングし、欠損部分を予測します。 3. ### 平均値補完 平均値補完は、データセット全体のその特徴量の平均値でnull値を置き換えます。 4. ### 中央値補完 中央値補完は、データセット全体のその特徴量の中央値でnull値を置き換えます。 5. ### 最頻値補完 最頻値補完は、データセット全体のその特徴量の最頻値でnull値を置き換えます。 6. ### Group-By補完 Group-by補完は、null値を置き換えるために以下の3つの入力を受け取ります。 * **補完対象カラム**: null値を含み、置き換えが必要なカラムです。 * **Group-Byカラム**: null値を置き換えるための値を計算する際にグループ化するカラムです。 * **集約関数**: 使用する平均値、中央値、最小値、最大値などの集約関数です。 上記の入力を使用して、Group-By補完はGroup-Byカラムをグループ化して必要な集約値を求め、データセット内のnull値をそれらの集約値で埋めます。 -------------------------------------------------------------------------------- title: "特徴量エンジニアリング" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.698Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/operations-in-quickml/feature-engineering/" service: "QuickML" -------------------------------------------------------------------------------- # 特徴量エンジニアリング ### 特徴量生成 これは、既存の特徴量をターゲット特徴量との関連性を高めるために新しい特徴量に変換するプロセスです。特徴量生成には以下の技術が使用されます: - **Operations** - 既存の数値特徴量に対する数学的演算に基づいて新しい特徴量を生成する特徴量生成技術です。 - **Autolearn** - 回帰ベースの特徴量生成アルゴリズムです。ペアワイズの特徴量関連性をマイニングし、各ペア間の線形または非線形の関係を特定し、回帰を適用し、安定して予測性能を向上させる関係を選択することで特徴量が生成されます。 - **Explorekit** - 元の特徴量の情報を組み合わせて大量の候補特徴量セットを生成し、ユーザーが選択した基準に従って予測性能を最大化することを目的としています。 ### 特徴量選択 以下の技術は、データセットの元の特徴量リストから関連する特徴量のサブセットを選択することにより、特徴量空間の次元を削減し、モデルを簡素化し、モデルの汎化性能を向上させるのに役立ちます。 - **Embedded** - 機械学習モデルのトレーニングプロセスに特徴量選択が組み込まれた技術です。モデル自体がトレーニング中にどの特徴量が最も関連性があるかを判断します。 - **Filter** - 統計的特性やランキングスコアに基づいて最も関連性の高い特徴量を選択する技術です。 - **Redundancy Elimination** - データセットから類似または重複した情報を提供する特徴量を除去するプロセスです。 - **Backward Feature Elimination** - データセットのすべての特徴量から開始し、最も重要度の低い特徴量を1つずつ反復的に除去する技術です。 - **Exhaustive Feature Engineering** - 最適なモデル性能をもたらす最適なサブセットを見つけるために、特徴量のすべての可能な組み合わせを考慮する技術です。 - **Forward Selection** - 空の特徴量セットから開始し、最も重要な特徴量を1つずつ反復的に追加する技術です。 ### 特徴量削減 これらの技術は、データセット内の観測値に対して特徴量の数が多すぎる場合にアルゴリズムが効果的なモデルをトレーニングできなくなる「次元の呪い」に対処するために使用されます。以下の効果的な技術が採用されています: - **PCA** - 主成分分析(PCA)は、元のデータの変動をできるだけ保持しながら、高次元データを低次元空間に変換する次元削減技術です。 - **FA** - 因子分析(FA)は、データセット内の観測変数間の相関パターンを説明する潜在変数(因子)を明らかにするための統計技術です。次元削減や複雑なデータの構造に関する洞察を得るために一般的に使用されます。 - **NMF** - NMF(非負値行列因子分解)は、テキストデータや画素強度を持つ画像データなど、非負値データを扱う際に特に有用な次元削減および特徴量抽出技術です。 - **ICA** - ICA(独立成分分析)は、観測データが非ガウス的で独立なソース信号の線形結合であるという仮定の下、多変量信号を統計的に独立な成分に分離する技術です。 - **LDA** - LDA(線形判別分析)は、データ内の2つ以上のクラスを最もよく分離する特徴量の線形結合を見つけるための教師あり次元削減および分類技術です。 -------------------------------------------------------------------------------- title: "正規化" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.698Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/operations-in-quickml/normalization/" service: "QuickML" -------------------------------------------------------------------------------- # 正規化 正規化は、機械学習のデータ準備の一環として頻繁に適用される技術です。正規化の目的は、データセット内の数値カラムの値を共通のスケールに変更することであり、値の範囲の差異を歪めたり情報を失ったりすることはありません。 ### Min-Max正規化 Min-Max正規化は、データを正規化する最も一般的な方法の1つです。各特徴量について、その特徴量の最小値は0に変換され、最大値は1に変換され、他のすべての値は0から1の間の小数に変換されます。 **計算式:** x_normalized = (x−min(x))/ (max(x)-min(x)) **ここで:** - x_normalizedは特徴量の正規化された値です。 - xは特徴量の元の値です。 - min(x)はデータセット全体の特徴量の最小値です。 - max(x)はデータセット全体の特徴量の最大値です。 **例:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">0</td> <td style="text-align:center">0.75</td> <td style="text-align:center">1</td> </tr> <tbody> </tbody> </table> ### 単位正規化 単位正規化は、カラム(特徴量)の各エントリをその大きさで割ることにより、単位ベクトルと呼ばれる長さ1の特徴量を作成します。 **計算式:** x_normalized = x / ||x|| **ここで:** - x_normalizedは特徴量の正規化された値です。 - xは特徴量の元の値です。 - ||x||は以下のように計算される大きさです。 - ||x|| = sqrt(x1^2 + x2^2 + ....... xn^2) - x1, x2, x3......xnは特徴量の元の値です。 **例:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">0.248</td> <td style="text-align:center">0.620</td> <td style="text-align:center">0.744</td> </tr> <tbody> </tbody> </table> ### 平均正規化 この変換器は、値の合計が0になるように平均に基づいてデータを変換します。 **計算式:** x_normalized = x - mean(x) / max(x) - min(x) **ここで:** - x_normalizedは特徴量の正規化された値です。 - xは特徴量の元の値です。 - mean(x)はデータセット全体の特徴量の平均値です。 - min(x)はデータセット全体の特徴量の最小値です。 - max(x)はデータセット全体の特徴量の最大値です。 **例:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">-0.583</td> <td style="text-align:center">0.166</td> <td style="text-align:center">0.416</td> </tr> <tbody> </tbody> </table> ### 平均-標準偏差正規化 各特徴量の平均(µ)を引き、標準偏差(σ)で割ることでデータを正規化できます。これにより、各特徴量は平均0、標準偏差1になります。これにより収束が速くなります。 **計算式:** x_normalized = x - mean(x) / std(x) **ここで:** - x_normalizedは特徴量の正規化された値です。 - xは特徴量の元の値です。 - mean(x)はデータセット全体の特徴量の平均値です。 - std(x)はデータセット全体の特徴量の標準偏差です。 **例:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">-1.120</td> <td style="text-align:center">0.320</td> <td style="text-align:center">0.800</td> </tr> <tbody> </tbody> </table> ### ロバスト正規化 ロバストスケーラーは、**中央値**と**四分位範囲(IQR)**を使用して特徴量をスケーリングする正規化技術であり、標準的なスケーリング方法と比較して外れ値の影響を受けにくくなっています。正規化されたデータを中央値を中心にし、IQRに基づいてスケーリングすることで、極端な値がスケーリングを歪めることなくデータの構造を維持します。 **計算式:** xrobust = IQR(x)x − median(x) **ここで:** - x = 元の特徴量の値 - median(x) = 特徴量値の中央値 - IQR(x) = 四分位範囲(75パーセンタイル - 25パーセンタイル) - xrobust = ロバストスケーリング後の正規化された値 **例** 特徴量の値が [10, 25, 30, 1000(外れ値)] であるとします。 - 中央値 = 27.5 - IQR = 20(25パーセンタイル = 15 と 75パーセンタイル = 35 の間) 正規化された値は以下のようになります: <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力値</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> <td style="text-align:center">1000</td> </tr> <th style="text-align:center">出力(ロバスト)</th> <td style="text-align:center">-0.875</td> <td style="text-align:center">-0.125</td> <td style="text-align:center">0.125</td> <td style="text-align:center">48.625</td> </tr> <tbody> </tbody> </table> 外れ値(1000)は大きなスケーリング値を持ちますが、残りは歪みなく妥当な範囲に保たれていることに注目してください。 **ロバスト正規化のリアルタイムの利点** センサーの読み取り値、金融取引、健康指標などの実世界のデータでは、外れ値は一般的です。ロバスト正規化を使用することで、これらの極端な値がモデルトレーニングを支配することを防ぎ、以下の結果をもたらします: - より安定して信頼性の高いモデル - 未知のデータへのより良い汎化 - ノイズの多いデータや極端な値を含むデータセットでの性能向上 -------------------------------------------------------------------------------- title: "トランスフォーマー" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.698Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/operations-in-quickml/transformer/" service: "QuickML" -------------------------------------------------------------------------------- # 変換器 変換は、すべての特徴量データを同じスケールにするためにデータを変換するML操作です。同じ目的で多くの正規化技術が使用されます。 1. ### 二乗変換 データをデータの二乗に変換します。 <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">5</td> <td style="text-align:center">10</td> <td style="text-align:center">12</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">25</td> <td style="text-align:center">100</td> <td style="text-align:center">144</td> </tr> <tbody> </tbody> </table> 2. ### 三乗変換 データをデータの三乗に変換します。 <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">2</td> <td style="text-align:center">4</td> <td style="text-align:center">5</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">8</td> <td style="text-align:center">64</td> <td style="text-align:center">125</td> </tr> <tbody> </tbody> </table> 3. ### 逆数変換 データをデータの逆数に変換します。 <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">10</td> <td style="text-align:center">20</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">0.1</td> <td style="text-align:center">0.05</td> <td style="text-align:center">0.03333</td> </tr> <tbody> </tbody> </table> 4. ### 平方根変換 データをその平方根に変換します。 <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">25</td> <td style="text-align:center">100</td> <td style="text-align:center">64</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">5</td> <td style="text-align:center">10</td> <td style="text-align:center">8</td> </tr> <tbody> </tbody> </table> 5. ### 対数変換 データをそのlog(data)値に変換します。 <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">入力例</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">出力例</th> <td style="text-align:center">2.39789527</td> <td style="text-align:center">3.25809654</td> <td style="text-align:center">3.4339872</td> </tr> <tbody> </tbody> </table> ### データコネクタ -------------------------------------------------------------------------------- title: "Zoho アプリ" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.699Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-connectors/zoho-apps/" service: "QuickML" -------------------------------------------------------------------------------- # データコネクター データは、あらゆる分析や機械学習パイプラインプラットフォームにおいて最も重要な要素です。そのため、データコネクターは、ローカルファイルシステム、内部および外部のクラウドストレージソリューションに保存されているデータをQuickMLサービスに容易にインポートするために設計されています。 データコネクターは、**クラウドネイティブなアプローチと非同期設計**を使用してQuickMLサービスにデータをインポートするデータ取り込みエンジンとして機能します。非同期データインポートは、QuickMLサービスのスケジューラーによって処理されます。 データは、Google Cloud、AWS S3オブジェクトストレージ、Azure Blobなど、広く使用されているクラウドストレージサービスのいずれからでも取得できます。適切なアクセス権限があれば、データインポートが開始されるとQuickMLサービスにデータがインポートされます。 コネクターは、インポートを要求されたデータをストリーミングによりダウンロードし、QuickMLストレージに保存します。このデータは、QuickMLでのモデルトレーニングや分析目的に使用できます。 サポートされているデータコネクターのオプションは以下の通りです。 <br /> ## 内部データコネクター 以下は、QuickMLでデフォルトのデータコネクターとして利用可能なZoho自社製品です: - [Zoho CRM](https://help.zoho.com/portal/ja/kb/crm/getting-started/articles/get-started-introduction-zoho-crm#What_is_CRM) - [Zoho Bigin](https://help.zoho.com/portal/ja/kb/bigin/get-started-with-bigin/articles/about-bigin#What_is_Bigin) - [Zoho Creator](https://www.zoho.com/creator/help/new-quickstart-guide.html) - [Zoho Recruit](https://help.zoho.com/portal/ja/kb/recruit/introduction-to-zoho-recruit/articles/zoho-recruit-introduction) - [Catalyst Data Store](/ja/cloud-scale/help/data-store/introduction/) -------------------------------------------------------------------------------- title: "クラウドストレージ" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.699Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-connectors/cloud-storage/" service: "QuickML" -------------------------------------------------------------------------------- ## 外部データコネクター 1. ### Amazon AWS S3 Amazon Simple Storage Service(Amazon S3)は、Amazon Web Services上でデータやアプリケーションのオンラインバックアップおよびアーカイブ用に設計された、スケーラブルで高速なWebベースのクラウドストレージサービスです。 AWS S3データコネクターは、Amazon S3バケットに保存されたオブジェクトにアクセスするために使用できます。S3のオブジェクトはパブリックおよびプライベートのいずれも可能です。QuickMLは、パブリックオブジェクトの取得に認証キーを必要としません。バケットにアクセス制限がある場合は、QuickMLにaccessKeyとsecretKeyが必要です。 #### データインポートに必要な情報: - **Bucket name** : データが保存されているバケット。 - **Object name** : インポートするファイルの名前。 - **Region** : バケットが保存されているデータセンターのリージョン。 - **Access Key** : AWS IAMユーザーのアクセスキー。 - **Secret Key** : AWS IAMユーザーのシークレットキー。 - **File Type** : インポートするファイルの形式。 #### S3からデータをインポートするには: この[リンク](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)の手順に従ってAWS IAMユーザーを作成する必要があります。新しいIAMユーザーを作成する際は、S3サービスへのアクセスに必要な権限を付与してください。IAMユーザー作成プロセスの最後に、「Access Key」と「Secret Key」が取得できます。「Secret Key」は再発行できないため、安全な場所に保管してください。 S3オブジェクトへのアクセス権限を持つIAMユーザーがすでにいる場合は、AWSコンソールからそのユーザーのアクセスキーとシークレットキーを取得できます。 2. ### Microsoft Azure Object Storage Microsoft Azureには、SQLデータベース、NoSQLデータベース、ファイルストレージソリューションなど、複数のストレージソリューションがあります。 ファイルストレージソリューションは、主にストリーミングを使用して非構造化データ(テキスト、CSVなど)を保存および取得するために使用されます。これには、Blob Storage、Queue Storage、Disk Storageが含まれます。 #### Blob Storage: Blob Storageは、データをBlob(小さな単位)で扱うクラウド向けオブジェクトストレージソリューションで、要件に応じてBlock Blob、Page Blob、Append Blobの3つの方法でデータを処理します。その中でも、Block Blobはオブジェクトの保存に最も一般的に使用される方法です。 #### データインポートに必要な情報: - **Blob Name** : インポートするAzureストレージアカウントコンテナ内のファイル名。 - **Container Name** : ファイルが保存されているコンテナ名。 - **Connection String** : Microsoft Azureのアカウントとユーザー情報を検証するための認証文字列。 - **File Type** : インポートするファイルの種類。 #### Azure PortalからConnection Stringを取得するには: 1. [Azure Portal](http://portal.azure.com/)にログインします。 2. データのインポート元のストレージアカウントを検索して選択します。 3. 提供されている接続文字列の値(key 1またはkey 2)のアクセスキーを検索します。 3. ### Google Cloud Storage Google Cloud Storageは、ファイルのアーカイブとオンライン保存のための安全で高性能なオブジェクトストレージソリューションです。提供されるコネクターを使用して、任意の形式で保存されたデータをQuickMLにインポートできます。 #### データインポートに必要な情報: - **Blob Name** : インポートするGoogleストレージ内のファイル名 - **Bucket Name** : データが保存されているバケット。 - **File Type** : インポートするファイルの種類。 - **Authentication json file** : オブジェクトへのアクセスに必要な認証情報を含むJSONファイル ストレージサーバーからデータをリクエストするには、Googleサービスアカウントの情報が必要です。認証情報の取得手順は以下の通りです。 #### 認証サービスJSONファイルの取得手順: 1. [Google Cloud Portal](https://console.cloud.google.com/iam-admin)のIAM & Adminセクションで、**Service Accounts**に移動します。 2. 必要に応じてサービスアカウントを作成し、必要なプロジェクトへのアクセス権を付与します。 3. *Service Account*でActionsタブに移動し、Create Keyを選択します。 4. キーをJSONファイルとして保存すると、以下のAPIパラメータのfile引数の値として使用できます。 4. ### OneDrive MicrosoftのOneDriveオブジェクトストレージソリューションも、QuickMLのデータコネクターとして利用できます。ユーザーは、さまざまな形式のファイルを安全に保存および管理できます。この統合により、OneDriveのデータを機械学習ワークフローに簡単に組み込むことができ、分析の効率性と汎用性が向上します。提供されるコネクターを使用して、任意の形式で保存されたデータをQuickMLにインポートできます。 #### データインポートに必要な情報: - **Client Id**: Azure Active Directoryにアプリケーションを登録する際にMicrosoftから割り当てられる一意の識別子です。 - **Tenant Id**: 組織のAzure Active Directoryテナントの一意の識別子です。 - **Client Secret**: 登録されたアプリケーションとサービス間の安全な通信を確保するためのシークレットキーです。 - **User Email**: 認証とアクセス権限に使用するOneDriveアカウントに関連付けられたメールアドレスです。 - **File Name**: OneDriveからインポートするファイルの名前です。 - **Source File Type**: インポートするファイルの形式です。 -------------------------------------------------------------------------------- title: "外部データベース" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.709Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-connectors/databases/" service: "QuickML" -------------------------------------------------------------------------------- ## 外部データベース: QuickMLは、さまざまなデータベースとのシームレスな統合を提供しており、これらのソースから直接データを取得して分析や機械学習プロジェクトに活用できます。サポートされているデータベースは以下の通りです: - **MySQL** - **PostgreSQL** - **SQL Server** - **Amazon Redshift** - **Amazon Aurora** - **Amazon RDS** 上記のオプションに加えて、デバイスからローカルファイルをアップロードすることもできます。 -------------------------------------------------------------------------------- title: "ローカルファイルシステム" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.709Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-connectors/local-file-upload/" service: "QuickML" -------------------------------------------------------------------------------- ## ローカルファイルシステム QuickMLは、ノートパソコン、ワークステーション、PCなどさまざまなクライアントマシンのローカルファイルシステムからのデータセットインポートをサポートしています。ファイルアップロードを正常に完了させるには、ユーザーが安定したインターネット接続にアクセスできる必要があります。インポートプロセスが開始されると、データアップロードの進捗を示す明確なプログレスバーGUIが表示されます。QuickMLは、CSV、JSON、ORC、Parquet、テキスト、XLS、XLSX、XLSMなど、さまざまなファイル形式からデータをインポートできます。 ### データ可視化 -------------------------------------------------------------------------------- title: "概要" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.709Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-visualization/overview/" service: "QuickML" -------------------------------------------------------------------------------- # データビジュアライゼーション ## データビジュアライゼーションの概要: **データビジュアライゼーション**は、複雑なデータセットからインサイトを得るためのデータのグラフィカルな表現です。相関関係、パターン、トレンドの特定によるデータの理解に重要な役割を果たし、特徴量エンジニアリングなどに役立ちます。効率的なモデルの構築に非常に有用です。 **例:** - 散布図:入力特徴量とターゲット出力の関係など、2つの変数間の関係を可視化するために使用します。相関関係、外れ値、データクラスターの特定に役立ち、特徴量選択を支援します。 - ヒートマップ:特徴量間および特徴量とターゲット間の相関関係、異常値、パターンを色のグラデーションで視覚的に表現して評価するために使用します。 - 円グラフ:特徴量の各カテゴリの割合を、全体を構成するスライスで表示するために使用します。 **データビジュアライゼーションチャートは、以下の4つのカテゴリに分類されます:** <table class="content-table quickml-content-table"> <thead> <tr> <th class="w15p">ビジュアライゼーションの種類</th> <th class="w35p">主なユースケース</th> </tr> </thead> <tbody> <tr> <td>構成チャート</td> <td>構成チャートは、データの各部分が全体をどのように構成しているかを示します</td> </tr> <tr> <td>分布チャート</td> <td>分布チャートは、グループ内のカテゴリの分布や広がりを視覚的に表示します。</td> </tr> <tr> <td>比較チャート</td> <td>比較チャートは、2つ以上のデータセットまたは変数を比較できます。</td> </tr> <tr> <td>関係チャート</td> <td>関係チャートは、2つ以上の変数間の関係と、それらがどのように相関しているかを視覚的に示します。</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "構成チャート" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.709Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-visualization/composition-charts/" service: "QuickML" -------------------------------------------------------------------------------- # 構成チャート 構成チャート(部分対全体チャートとも呼ばれます)は、データセットの全体に対して個々の部分がどのように寄与しているかを示すために使用されるグラフィカルな表現です。これらのチャートは、より大きなエンティティやデータセット内の異なるカテゴリの割合、パーセンテージ、または絶対値を表示するのに役立ちます。構成チャートは、データの分布を示し、異なるコンポーネント間の関係を強調するのに特に効果的です。 1. ### 棒グラフ 棒グラフは、カテゴリデータを長方形の棒で表現するデータビジュアライゼーションの一種です。各棒の長さまたは高さは、それが表す値に比例します。棒グラフは、データセット内の異なるカテゴリの頻度や値を比較するために一般的に使用されます。離散データの可視化やデータのパターンやトレンドの理解に特に有用です。 **説明:** - **軸:** 水平軸(X軸)は通常カテゴリを、垂直軸(Y軸)は値のカウントを表します。 - **形状:** 各カテゴリは個別の棒で表されます。 - **セクション:** 各カテゴリに対して棒が描画され、その長さまたは高さがデータ値を示します。 2. ### ピラミッドチャート ピラミッドチャート(三角図とも呼ばれます)は、階層、ワークフロー、またはシンプルなデータセットを表示するための視覚ツールです。水平セクションに分割された三角形の形状をしています。これらのチャートは、データの比較、割合の表示、階層やワークフローの図示に効果的です。ビジネスプレゼンテーションでは、タスクに向けたステップ、市場シェア、階層レベル、またはアクションの順序を示すために一般的に使用されます。 **説明:** - **形状:** 三次元の三角形に似た、ピラミッド型の構造を形成します。 - **軸:** ピラミッドチャートには、棒グラフのような従来のXおよびY軸はありません。代わりに、データの階層構造に依存して情報を伝えます。 - **階層表現:** ピラミッドチャートの各層は、階層、ワークフロー、またはアクションの順序の異なるレベルを表します。最も幅広い層が底部にあり、上に行くほど層が狭くなります。 - **セクション:** 三角形の形状は水平セクションまたは層に分割されます。各層はカテゴリ、プロセスのステップ、または階層のレベルに対応します。 - **幅と高さ:** 各層の高さはカテゴリの割合を示します。層の幅には特定の意味はありません。 3. ### 円グラフ 円グラフは、カテゴリデータを「スライス」のセットとして表示するために使用される円形のビジュアライゼーションです。各スライスは、全体に対する特定のカテゴリの割合を表します。各スライスのサイズは、それが表すデータのパーセンテージに対応します。円グラフは、全体の部分を表示し、異なるカテゴリの相対的な寄与を比較するのに有用です。 **説明:** - **円形:** 円グラフは円形で、完全なパイに似ています。円全体がデータの100%を表します。 - **スライス:** 円はスライスに分割され、各スライスが特定のカテゴリまたはデータポイントを表します。 - **比率表現:** 各スライスのサイズは、データセット全体に対するパーセンテージに比例します。大きなスライスはより高い割合を示します。 4. ### 積み上げ棒グラフ 積み上げ棒グラフは、異なるコンポーネントが全体にどのように寄与しているかを示すと同時に、異なるグループまたはセグメント間で複数のカテゴリの寄与を比較するために使用されるグラフィカルな表現です。チャート内の各棒はセグメントに分割され、各セグメントが特定のカテゴリの寄与を表します。各棒の総高さはすべてのカテゴリの合計寄与を示し、セグメントは各棒内の寄与の分布を示します。 **説明:** - **セグメント化された棒:** 棒はセグメントに分割され、各セグメントがカテゴリを表します。 - **垂直構造:** 棒は垂直に配置され、Y軸が値のカウントを、X軸が異なるグループまたはセグメントを示します。 - **寄与度の比較:** 積み上げ棒により、各グループ内および複数のグループ間で異なるカテゴリの寄与を比較できます。 5. ### 積み上げエリアチャート 積み上げエリアチャートは、時間の経過に伴う複数のカテゴリまたはグループの累積的な寄与を表示するために使用される視覚的な表現です。通常のエリアチャートと同じ原理に基づいていますが、複数のエリアが互いの上に積み上げられています。各エリアはカテゴリを表し、チャート上の任意のポイントにおけるエリアの合計高さがそのポイントでの合計値を示します。 **説明:** - **レイヤードエリア:** エリアは互いの上にレイヤーとして配置され、各レイヤーがカテゴリまたはグループを表します。 - **軸:** X軸は異なるカテゴリまたはグループを表し、Y軸はそれらのカテゴリ内のデータポイントの累積値を表します。 - **累積的な可視化:** チャートは、時間の経過とともに異なるカテゴリの寄与がどのように蓄積されて全体を形成するかを示します。 -------------------------------------------------------------------------------- title: "分布チャート" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.709Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-visualization/distribution-charts/" service: "QuickML" -------------------------------------------------------------------------------- # 分布チャート 分布チャートは、データセット内の値の頻度や分布を可視化するために使用されるグラフィカルな表現です。データポイントの広がり、ばらつき、パターンに関するインサイトを提供し、異なる範囲にわたる値の分布をより良く理解できます。分布チャートは、中心傾向、外れ値、データ分布の全体的な形状を特定するのに特に有用です。 1. ### 散布図 散布図は、2つの変数または属性間の関係を表示するために使用されるグラフィカルな表現です。デカルト平面上に配置された個々のデータポイントで構成され、各ポイントは2つの変数の値の組み合わせを表します。散布図は、データ内のパターン、相関関係、外れ値を明らかにするのに特に有用です。 **説明:** - **個々のデータポイント:** チャート上の各データポイントは、2つの変数の特定の値の組み合わせを表します。 - **デカルト平面:** チャートはデカルト座標系に基づいており、一方の変数がX軸に、もう一方がY軸にプロットされます。 - **変数間の関係:** 散布図は、一方の変数の変化がもう一方の変化にどのように対応するかを可視化し、潜在的な相関関係やパターンを示します。 2. ### 箱ひげ図 箱ひげ図は、データセット内の分布、広がり、外れ値を可視化するために使用されるグラフィカルな表現です。中央値、四分位数、潜在的な外れ値などの主要な統計量の簡潔な要約を提供します。チャートは長方形の**「箱」**とそこから延びる線(**「ひげ」**と呼ばれます)で構成されます。 **説明:** - **箱:** 中央の長方形(箱)は四分位範囲(IQR)にまたがり、データの中央50%が集中している場所を示します。箱の内側の垂直線は中央値を表します。 - **ひげ:** 線(ひげ)は箱の端から、外れ値を除く定義された範囲内の最小値と最大値まで延びています。 - **外れ値:** ひげの外側にあるポイントは個々のデータポイントとしてマークされ、潜在的な外れ値を示す可能性があります。 3. ### ヒストグラム ヒストグラムは、数値データの分布を可視化するために使用されるグラフィカルな表現です。X軸に沿ってデータをビンまたは区間に分割し、Y軸に各ビンに含まれるデータポイントの頻度またはカウントを表示します。ヒストグラムは、データセットの形状、中心傾向、広がりを理解するのに役立ちます。 **説明:** - **ビニング:** データはX軸に沿って区間(ビン)に分割され、Y軸は各ビン内のデータポイントの頻度またはカウントを表します。 - **棒の高さ:** 各棒の高さは、該当するビン内のデータポイントの数に対応します。 - **形状の解釈:** ヒストグラムは、データが偏っているか、対称的か、二峰性かなど、データ分布のパターンに関するインサイトを提供します。 -------------------------------------------------------------------------------- title: "比較チャート" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.709Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-visualization/comparison-charts/" service: "QuickML" -------------------------------------------------------------------------------- # 比較チャート 比較チャートは、異なるカテゴリ、グループ、または期間間のデータを比較するために使用されるグラフィカルな表現です。類似性、差異、トレンド、データセット内の関係を視覚的に強調します。比較チャートは、データ駆動型の意思決定、パターンの特定、理解しやすいビジュアライゼーションによるインサイトの伝達に特に効果的です。 1. ### エリアチャート エリアチャートは、時間または連続軸に沿ったデータセットの変化や分布を表示するために使用されるグラフィカルな表現です。折れ線グラフに似ていますが、線とX軸の間の領域が塗りつぶされ、累積値の視覚的な表現が提供されます。エリアチャートは、トレンドの明示、複数のデータセットの比較、時間の経過に伴う合計値の強調に特に効果的です。 **説明:** - **塗りつぶし領域:** 線で囲まれた塗りつぶし領域を使用してデータを表現し、時間または他の連続軸に沿った累積値または個別値を視覚的に強調します。 - **軸:** エリアチャートのX軸は個別のカテゴリ、グループ、または期間を表し、Y軸は各カテゴリまたは期間に関連する値を表します。 - **トレンドの可視化:** エリアチャートは、時間または連続軸に沿ったデータのトレンド、変化、分布を表示するのに役立ちます。 2. ### グループ棒グラフ グループ棒グラフは、異なるグループまたはセグメント間で複数のカテゴリの値を比較するために使用されるグラフィカルな表現です。各グループ内の各カテゴリの棒を表示し、同じグループ内のカテゴリ間およびさまざまなグループ間の直接比較を可能にします。グループ棒グラフは、データセット値のパターン、差異、関係を示すのに効果的です。 **説明:** - **棒グループ:** 各カテゴリの棒が横に並べてグループ化され、各グループが個別のセグメントまたはカテゴリを表します。 - **垂直構造:** チャートは垂直に配置され、Y軸が値を、X軸がグループまたはセグメントを示します。 - **比較:** グループ化された棒により、異なるグループ間のカテゴリ内の値を容易に視覚的に比較できます。 -------------------------------------------------------------------------------- title: "関係チャート" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.709Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-visualization/relationship-charts/" service: "QuickML" -------------------------------------------------------------------------------- # 関係チャート 関係チャートは、データセット内の異なるエンティティまたは変数間の接続、関連性、相互作用を可視化するために使用されるグラフィカルな表現です。これらのチャートは、パターン、依存関係、相関関係を明らかにし、さまざまな要素がどのように関連しているかを理解しやすくします。関係チャートは、トレンドの特定、依存関係の発見、複雑なデータ構造に関するインサイトの獲得に特に有用です。 1. ### 折れ線グラフ 折れ線グラフは、時間の経過または連続軸に沿ったデータセット内のトレンド、変化、関係を表示するために使用されるグラフィカルな表現です。個々のデータポイントを線で結び、値がどのように推移するかの視覚的な表現を提供します。折れ線グラフは、パターン、変動、異なるデータ系列間の比較を示すのに特に効果的です。 **説明:** - **接続されたデータポイント:** データポイントが線で結ばれ、トレンドや変化を表す連続した線を形成します。 - **軸:** X軸は通常、個別のカテゴリ、グループ、またはその他の連続変数を表します。Y軸は各カテゴリまたはグループに関連する値を表します。 - **トレンドの可視化:** 折れ線グラフは、時間の経過または連続軸に沿ったデータ内のトレンド、変動、関係を可視化するのに役立ちます。 2. ### バブルチャート バブルチャートは、3次元のデータを同時に表示するために使用されるグラフィカルな表現です。散布図に3番目の変数を追加し、各データポイントが円(またはバブル)として表現されます。位置は2つの変数(通常はX軸とY軸)によって決定され、サイズは3番目の変数によって決定されます。バブルチャートは、関係の可視化、複数の次元の比較、データ内のパターンの理解に効果的です。 **説明:** - **バブル:** 各データポイントはチャート上の円(バブル)で表されます。 - **位置:** X軸とY軸に沿ったバブルの位置は、2つの変数の値を表します。 - **サイズ:** バブルのサイズは3番目の変数の値を表します。 - **色:** バブルの色はグループの違いを表します。 3. ### ヒートマップ ヒートマップは、色のバリエーションを使用してデータセット内の値の強度や大きさを可視化するために使用されるグラフィカルな表現です。データをグリッド形式で表示し、各セルは表す値に基づいて色付けされます。ヒートマップは、大規模なデータセット内のパターン、トレンド、変動を特定し、可視化されたパターンに基づいたデータ駆動型の意思決定に効果的です。 **説明:** - **カラーマッピング:** グリッド内の各セルはカラースケールに従って色付けされ、色の強度が値の大きさを表します。 - **二次元グリッド:** データは行と列で編成され、各セルが特定の値を表すグリッドを形成します。 - **パターン検出:** ヒートマップは、高い値または低い値の領域を視覚的に強調することで、パターン、相関関係、異常値を検出するのに役立ちます。 -------------------------------------------------------------------------------- title: "チャートインサイト" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.710Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-visualization/chart-insights/" service: "QuickML" -------------------------------------------------------------------------------- ## データビジュアライゼーションのChart Insights QuickMLには、データ分析中に作成されたビジュアライゼーションに基づいて自然言語で主要なインサイトを生成するChart Insights機能が含まれています。これにより、各チャートの意味のある説明を提供することで、基礎となるデータセットの解釈と探索をサポートします。 これらのインサイトは、テキストと画像の両方を理解するために設計された70億パラメータのマルチモーダルモデルであるQwen 2.5 - 7B Vision Languageモデルを使用して生成されます。このモデルは推論タスクに優れており、主にエンドユーザーがアップロードした画像に基づいて正確な出力を生成するために使用されます。 チャートの横にあるChart Insightsアイコンをクリックすると、サイドパネルが開き、選択したチャートに関する主要なインサイトと説明が表示されます。このパネル内では、生成された説明をコピーするか再生成するかを選択でき、必要に応じてインサイトを改善できます。この機能により、追加の手動分析を必要とせずに、可視化されたデータをより深く理解できます。 Chart Insightsは2つの場所からアクセスできます: **チャート作成中** チャート作成中に、主要なインサイトを生成するオプションが表示されます。これにより、新しく作成されたチャートとその自動生成された説明が表示されます。 表示されたDiabetesPedigreeFunction属性のヒストグラムでは、ビンに対する出現回数が示されています。約0.03のラベルが付いた単一のビンは、約760の高い出現回数を示しています。他のビンは存在せず、表示範囲内のデータにバリエーションがないことを示しています。QuickMLのChart Explainerは、これを値0.03付近に高度に集中した分布として解釈し、ほとんどのレコードがこのポイントに密集しており、他の値へのばらつきが最小限であることを示唆しています。 **チャート作成後** ビジュアライゼーションセクションでは、以前に作成されたチャートの説明を表示できます。ここでは、モデルがチャートに関連する重要なポイントとインサイトの内訳を提供します。 ### データ前処理 -------------------------------------------------------------------------------- title: "データクリーニング" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.710Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-preprocessing/data-cleaning/" service: "QuickML" -------------------------------------------------------------------------------- # QuickMLにおけるデータ前処理技術 QuickMLは、主要なデータ前処理技術を3つの主要カテゴリに分けて提供しています。 - **データクリーニング** - **データ変換** - **データセット抽出** 以降のスライドに記載されているすべての操作は、パイプライン構築プロセスのステージとして利用でき、ユーザーがより優れた機械学習モデルを作成するのに役立ちます。 # データクリーニング データクリーニングとは、データセット内の不正確、破損、不適切なフォーマット、重複、または不完全なデータを修正または削除するプロセスです。データが不正確な場合、結果やアルゴリズムは信頼性を欠きます。 1. ### Fill Columns 特定のカラムの値を、ユーザーが設定した条件に基づいて変更するために使用します。設定で条件が指定されていない場合、そのカラムのすべての値がユーザー指定の値またはメソッドで置き換えられます。\ **例:**\ 患者の名前、年齢、住所、投票資格などの詳細を含む国の人口データについて、18歳以上のすべての人の投票資格カラムを「yes」として埋めることができます。 2. ### Filter 設定で条件を適用して、前処理が必要なデータセットからデータを抽出するために使用します。条件に一致しないデータも前処理に使用できます。\ **例:** - #### 単一出力フィルター: 学生データセットで、CSE学科のデータのみが必要な場合、条件をdept=CSEと設定すると、前処理が必要なデータを削減できます。 - #### 二重出力フィルター: 学生データセットの男子と女子のデータを異なるフローで前処理する必要がある場合、設定の**「Show unmatched records as secondary output」**チェックボックスを使用できます。これは、フィルターノードからの不一致データに対して特別な操作やプロセスを実行したい場合に役立ちます。 ![Double Output Filter](/images/help/quickml/data-preprocessing/Double_Output_Filter.webp) 3. ### Remove duplicates データセット内の重複行を削除するために使用します。重複行の削除方法も制御できます。\ **例:**\ 学生IDが101の重複行がインデックス1、5、7に5つある学生データセットの場合。 保持の優先オプション:\ &nbsp;&nbsp;&nbsp;&nbsp;**First** - 出力データセットにはインデックス1の行のみが残り、インデックス5と7の行は削除されます。\ &nbsp;&nbsp;&nbsp;&nbsp;**Last** - 出力データセットにはインデックス7の行のみが残り、インデックス1と5の行は削除されます。\ &nbsp;&nbsp;&nbsp;&nbsp;**None** - 出力データセットには重複行がなくなり、インデックス1、5、7の行はすべて削除されます。 4. ### Select or Drop データセットのカラムの選択またはドロップの両方を行うために使用します。データセットから2つのカラムのみが必要な場合は、ドロップダウンから必要な2つのカラムを選択し、select操作を選択します。カラムのドロップには、drop操作を選択します。 -------------------------------------------------------------------------------- title: "データ変換" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.710Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-preprocessing/data-transformation/" service: "QuickML" -------------------------------------------------------------------------------- <!-- # Data type Detection Data type detection is used to detect the date type of feature (column). It verifies and finds Date-time, URL, Email, Currency, Phone, Latitude degree, latitude seconds, latitude minutes, longitude deg, longitude Seconds, and longitude minutes data types. It returns a list of dictionaries that contain the column name and its type.\ --> <!-- **Sample output:** [{"name":"created_time","datatype":"DateTime"},{"name":"mail","datatype":"Email"},....] --> <!-- # DType Transformation{#DTypeTransformation} This ML operation generates new columns from URL, Email, Date-time and json type columns. --> # データ変換 データ変換とは、データをあるフォーマットや構造から別のフォーマットや構造に変換するプロセスです。 1. ### 日時変換 日付を含むカラムから、日付、年、月などの日時特徴量を抽出するために使用します。 **ユースケース1:** 小売企業が製品の売上を時系列で追跡したい場合。日時変換を使用して、売上トランザクションのリストから日付、月、年を抽出できます。 **ユースケース2:** 運送会社が、過去の配送リストから日付、時刻、場所を抽出して配送ルートを最適化するためにDateTime変換を使用できます。 **入力サンプル:** <table class="content-table" style="width:300px;"> <thead> <tr> <th style="text-align:center">dt</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">2021-11-29 11:52:59</td> </tr> </tbody> </table> **出力サンプル:** <table class="content-table" style="width:300px;"> <tbody> <tr> <th style="text-align:center">dt_day_of_week</th> <td style="text-align:center">1</td> </tr> <tr> <th style="text-align:center">dt_date_no</th> <td style="text-align:center"><a>29</a></td> </tr> <tr> <th style="text-align:center">dt_year_no</th> <td style="text-align:center"><a>2021</a></td> </tr> <tr> <th style="text-align:center">dt_month_no</th> <td style="text-align:center">11</td> </tr> <tr> <th style="text-align:center">dt_business_day</th> <td style="text-align:center">1</td> </tr> <tr> <th style="text-align:center">dt_week_no_year</th> <td style="text-align:center">48</td> </tr> <tr> <th style="text-align:center">dt_day_of_year</th> <td style="text-align:center">333</td> </tr> <tr> <th style="text-align:center">dt_AM_PM</th> <td style="text-align:center">AM</td> </tr> <tr> <th style="text-align:center">dt_quarter_year</th> <td style="text-align:center">4</td> </tr> </tbody> </table> 2. ### メール変換 メールアドレスを含むカラムから、ユーザー名、ドメイン、サフィックスなどの特徴量を抽出するために使用します。 **ユースケース1:** 営業チームが、メールアドレスのリストからユーザー名とドメイン名を抽出し、見込み顧客へのメールアウトリーチをパーソナライズできます。 **ユースケース2:** フィッシングメールを特定するために、セキュリティチームは不審とフラグ付けされたメールアドレスのリストからドメイン名やサフィックスなどの特徴量が必要です。 **入力サンプル:** <table class="content-table" style="width:450px;"> <thead> <tr> <th style="text-align:center">mail</th> </tr> </thead> <tbody> <tr> <td style="text-align:center"><a>abc@zylker.com</a></td> </tr> </tbody> </table> **出力サンプル:** <table class="content-table" style="width:450px;"> <thead> <tr> <th style="text-align:center">mail_first</th> <th style="text-align:center">mail_middle</th> <th style="text-align:center">mail_last</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">abc</td> <td style="text-align:center">zylker</td> <td style="text-align:center">com</td> </tr> </tbody> </table> 3. ### データ抽出 データ抽出コンポーネントは、正規表現パターンを使用してテキストカラムから情報を取得します。これらのパターンには、さまざまな日付形式、メールアドレス、テキストカラムに埋め込まれた数値などが含まれます。 **例:**\ 車価格予測データセットで、名前カラムから車の製造年を抽出するために、同じカラムにPOSIX正規表現パターン /d{4} を適用します。 **POSIX正規表現パターンの例:** - **日付形式:** \d{4}-\d{2}-\d{2} - **メール:** [a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+ - **数値:** \d+ 4. ### Format ユーザーが選択した関数に基づいてデータセットのカラム値を変更するために使用します。カラムのデータ型に基づいて関数が表示されます。 **例:**\ 患者データセットで、絶対値関数を使用してageカラムをフォーマットします。ageカラムには負の値がなくなります。 5. ### Group By 1つ以上のカラムの値に基づいて行をグループに分割するために使用します。カラムに対して少なくとも1つの**集計**関数を指定することが必須です。ユーザーはHAVING条件を設定してグループ化されたデータセットをフィルタリングすることもできます。 **例:**\ 例:従業員給与データセットで、部門ごとにデータをグループ化して各部門に支払われた給与を合計できます。これにより、各部門の給与総支出を確認できます。HAVINGセクションでは、これらのグループをフィルタリングして、給与総額が50,000を超える部門のみを含めることができます。 6. ### Hash Generator データセット内の1つまたは複数のカラムをハッシュ化するために使用します。ハッシュの生成後、ソースカラムをドロップすることもできます。 7. ### Join 両方のテーブルの主キーカラムに基づいて、2つのデータセットを1つのデータセットに結合するために使用します。Left、Right、Inner、Outer結合を実行できます。\ **注意** : このステージではデータセットノードの選択が必要です。\ **例:** 8. ### Merge Column ユーザーが指定したセパレーターを使用して、2つ以上のカラムを1つのカラムにマージするために使用します。マージ操作の実行後、ソースカラムをドロップすることもできます。 **例:**\ 乗客データセットで、スペースセパレーターを使用してfirst_name、middle_name、last_nameをNameカラムとして結合できます。 9. ### Normalization 正規化は、異なるスケールや単位の変数をスケーリングして比較するための統計的手法です。このノードは、2つ以上のカラムを正規化するために使用します。 10. ### Outlier Handler 外れ値とは、データの正規分布から外れるデータポイントのことで、データ分析の結果を歪め、誤った結論につながる可能性があります。Outlier Handlerは、データセットから外れ値を削除するか、データ内の各カラムの上限値、平均値、中央値などのより合理的な値で置き換えるために使用できます。 11. ### Sort カラムのセットに基づいてデータセットをソートするために使用します。ソート順序も選択できます。 12. ### Split Column ユーザーが指定したセパレーターに基づいて、1つのカラムを2つ以上のカラムに分割するために使用します。出力カラムの数は、ユーザーが指定した出力名に基づいて決定されます。 **例:**\ 乗客データセットで、出力カラムテキストボックスにfirst_name、middle_name、last_nameを指定して、Nameカラムを3つのカラムに分割できます。 13. ### 文字列変換 テキストを含むカラムから単語の埋め込み表現を生成するために使用します。 **ユースケース1:** ユーザーに推奨コンテンツを提供するために、ソーシャルメディア企業が文字列変換を使用して、ユーザーが「いいね」や共有した投稿のテキストから単語の埋め込み表現を取得できます。 **ユースケース2:** カスタマーサポートチームが、チケットのテキストから文字列変換で生成された単語の埋め込み表現を使用して、顧客が経験している一般的な問題を特定し、カスタマーサポートチケットを分類できます。 14. ### Type Conversion カラムの型をユーザーが指定したデータ型に変換するために使用します。設定のOn Errorオプションを使用して、エラーが発生した場合の結果データセットの処理方法を指定できます。Throwはエラー発生時に例外をスローして実行を停止し、Nullifyはエラーが発生した特定のレコードについて元のレコードを返します。 15. ### URL変換 URLを含むカラムから、sub_domain、domain、suffixなどの特徴量を抽出するために使用します。 **ユースケース1:** マーケティングチームが、ターゲット市場で最も頻繁にアクセスされるWebサイトを特定する必要があります。URL変換を使用して、自社WebサイトのユーザーがクリックしたURLのリストからドメイン名を抽出できます。 **ユースケース2:** 不正検知チームが、URL変換を使用して、不審とフラグ付けされたURLのリストから悪意のあるWebサイトのドメイン、サブドメイン、サフィックスのリストを特定できます。 **入力サンプル:** <table class="content-table" style="width:450px;"> <thead> <tr> <th style="text-align:center">link</th> </tr> </thead> <tbody> <tr> <td style="text-align:center"><a>https://www.google.in/library?fetch=query#fragment_part</a></td> </tr> </tbody> </table> **出力サンプル:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">link_url_protocol</th> <td style="text-align:center">https</td> </tr> <th style="text-align:center">link_url_domain</th> <td style="text-align:center"><a>www.google.in</a></td> </tr> <th style="text-align:center">link_url_path</th> <td style="text-align:center"><a>/library</a></td> </tr> <th style="text-align:center">link_url_query</th> <td style="text-align:center">fetch=query</td> </tr> <th style="text-align:center">link_url_fragment</th> <td style="text-align:center">fragment_part</td> </tr> <th style="text-align:center">link_domain_tld</th> <td style="text-align:center">in</td> </tr> <th style="text-align:center">link_domain_country</th> <td style="text-align:center">IN</td> </tr> <th style="text-align:center">subdomain</th> <td style="text-align:center">www</td> </tr> <tbody> </tbody> </table> 16. ### Union 2つのデータセットを1つのデータセットに結合するために使用します。2つのデータセットを結合した後、重複行をドロップすることもできます。\ **注意:** このステージではデータセットノードの選択が必要です。 17. ### Windowing 数値カラムでウィンドウ平均操作を実行するために使用します。ユーザーは0より大きいウィンドウ範囲を指定する必要があります。移動平均は、時系列分析および時系列予測で使用されるシンプルで一般的な平滑化手法です。これは時系列データセットに使用できます。 18. ### Fill Columns ユーザーが設定した条件に基づいて、特定のカラムの値を変更するために使用します。設定で条件が指定されていない場合、そのカラムのすべての値がユーザー指定の値またはメソッドで置き換えられます。 **例:**\ 名前、年齢、住所、投票資格などの患者情報を含む国の人口データセットの場合、18歳以上のすべての人の「eligible for vote」カラムを「yes」に更新できます。 19. ### Rename データセット内の任意のカラム名を変更するために使用します。 **例:**\ name、age、address、eligible_for_voteなどのカラムを含むデータセットの場合、eligible_for_voteカラムをvoter_eligibilityにリネームできます。 20. ### Custom Expression ユーザーがカスタム式を作成してデータセットの値を操作または計算できます。カスタム式は、新しいカラムの導出、既存データの変換、データに基づく複雑な計算の適用に使用できます。 **例:**\ name、age、address、salaryなどのカラムを含むデータセットの場合、月額給与から年間給与を計算するカスタム式を作成できます。 -------------------------------------------------------------------------------- title: "データ抽出" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.710Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/data-preprocessing/data-extraction/" service: "QuickML" -------------------------------------------------------------------------------- # データ抽出: 1. ### Add Dataset このオプションでは、現在のデータセットとは異なるデータセットを選択して、結合(join)、統合(union)などのさまざまな操作を実行できます。 2. ### Split Dataset ユーザーが指定した方法に従って、単一のデータセットを複数のデータセットに分割するために使用します。 1. #### 行ベースの分割: ユーザーが指定した比率に基づいてデータセットが分割されます。\ **例:**\ データセットに8行あり、比率が1:3:4に設定されている場合、データセットはそれぞれ1行、3行、4行の3つのデータセットに分割されます。 2. #### カラムベースの分割: ユーザーが選択したカラムに基づいてデータセットが分割されます。 ### パイプラインビルダーインターフェース -------------------------------------------------------------------------------- title: "ウォークスルー" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.719Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/pipeline-builder-interface/walkthrough/" service: "QuickML" -------------------------------------------------------------------------------- # パイプラインビルダーインターフェース QuickMLは、データおよび機械学習機能をステージとして備えた、使いやすく便利なドラッグ&ドロップエディターを提供します。 ### ステージ ステージは、割り当てられた計算の性質に基づいて特定の結果を提供する単一のタスクまたは機能の単位です。ステージは、ワークフロー内で順次実行できるデータ関連またはML関連の任意のタスクです。 例えば、ステージは生データを入力として受け取り、フィルタータイプに基づいてフィルタリングされたデータを出力するデータフィルターにすることができます。 ### パイプライン パイプラインは、複数の操作を実行し、集合的な結果を出力として提供することを目的としたステージの順次的な組み合わせです。QuickMLサービスで提供される機能を使用して、任意のデータパイプラインまたはMLパイプラインを作成できます。 ### パイプラインビルダーインターフェース パイプラインビルダーインターフェースは、QuickMLで提供されるドラッグ&ドロップのブラウザ内エディターコンポーネントであり、希望する操作の複数または単一のステージでパイプラインを構築します。 このエディターは、パイプライン構築プロセスにおいて、作成、コピー、編集、元に戻す、やり直し、削除などの基本操作をすべて提供します。 各データまたはMLモジュールはエディター内でステージとして分類され、データおよびMLカテゴリの下にリストされます。 ![Pipeline Builder Interface](/images/help/quickml/pipeline-builder-interface/Pipeline_Builder_Interface.webp) 各パイプラインには必須のソースステージとデスティネーションステージがあります。その他のステージは、パイプラインの要件に応じてカスタマイズ可能です。エディターに追加された各ステージは、パイプライン実行フローを形成するために、エディター内の次のステージまたは前のステージと接続する必要があります。ステージのマッピングが完了すると、パイプラインフローをより理解しやすくするためのプレビューがエディターに表示されます。 ### エディター内のデータ操作 データ関連の操作は、データパイプライン構築に追加するためにパイプラインビルダーにリストされています。エディター内の各操作の詳細は、本マニュアルのデータパイプラインの章で提供されています。 パイプラインエディターで利用可能な各データ操作に対して、そのステージの設定を入力するためのカスタム設定パネルが開きます。 ### 条件エディター ビルダーには、要件に基づいて任意のステージの結果データにカスタム条件を適用するための条件エディターコンポーネントが提供されています。 ![Criteria Editor](/images/help/quickml/pipeline-builder-interface/Criteria_Editor.webp) エディター内のML操作 ML操作は、モデルパイプラインを構築する必要がある場合にビルダーで利用可能になります。MLパイプラインビルダーには、実行パイプラインを形成するためのデータ関連操作とML操作の両方が含まれています。 これらのオプションは、MLタスクのアルゴリズムと操作として分類されています。MLステージは、ビルダーにステージとして統合された任意のアルゴリズムまたはZia機能であり、ビルダーにドラッグすることでパイプラインに追加できます。 パイプラインが構築されると、保存して将来の開発のために保管するか、バックグラウンドで実行するために公開できます。これらの実行はバージョン管理され、ステータスを追跡するために実行結果が保存されます。パイプラインの任意のバージョンをいつでも表示でき、本番環境対応のパイプラインとして昇格させることができます。 ### 高度なモデル -------------------------------------------------------------------------------- title: "レコメンデーション" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを構築できます。" last_updated: "2026-09-08T11:24:16.720Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/learning-center/recommendation/" service: "QuickML" -------------------------------------------------------------------------------- # レコメンデーションシステムの概要 **レコメンデーションシステム**は、ユーザーの過去のインタラクション、行動、アイテム属性、およびユーザーのデモグラフィックデータを分析することで、ユーザーの好みを予測し、パーソナライズされたアイテム提案を生成するレコメンデーションモデルを構築することに焦点を当てた機械学習の一分野です。これらのシステムは、eコマース、メディアストリーミング、ソーシャルネットワーキングプラットフォームなど、さまざまな分野で広く使用されており、ユーザーが以前のインタラクションに基づいて関連する商品、映画、書籍、その他のコンテンツを発見するのに役立ちます。パーソナライズされたアイテム提案を通じて、レコメンダーシステムはユーザー満足度を向上させ、エンゲージメントを高め、ユーザーリテンションを増加させ、各ユーザーに最も関連性の高いオプションを提示することでビジネスの売上を伸ばします。 ### ビジネスアプリケーションの例 レコメンデーションモデルは、ビジネス価値を推進する複数のユースケースを解決するために、eコマースプラットフォームに積極的に統合されています。 #### 1. eコマースプラットフォームにおける逐次レコメンデーション: 逐次レコメンデーションは、ユーザーの閲覧履歴や購入履歴に基づいて商品を提案するために、eコマースプラットフォームに適用できます。ユーザーが閲覧または購入した商品の順序を分析することで、企業はパーソナライズされたレコメンデーションを提供し、売上と顧客満足度を向上させることができます。 **シナリオ:** eコマースプラットフォームにおいて、ユーザーインタラクションの逐次パターンを分析することで、ユーザーの好みや購買習慣に関するインサイトを明らかにできます。たとえば、ユーザーがランニングシューズを購入した後にスポーツウェアを購入した場合、プラットフォームはこのシーケンスを特定できます。この情報に基づき、プラットフォームはランニングソックス、ウォーターボトル、フィットネストラッカーなどの補完的な商品をレコメンドできます。これらのパーソナライズされたレコメンデーションは、追加購入の可能性を高めるだけでなく、ユーザーの全体的なショッピング体験を向上させます。 #### 2. パーソナライズされた商品提案: eコマースプラットフォームにおけるパーソナライズされたレコメンデーションは、ユーザーの閲覧履歴、購買行動、好みに基づいて商品を提案することを含みます。ユーザーインタラクションと過去のデータを分析することで、eコマースプラットフォームはカスタマイズされた商品レコメンデーションを提供し、ユーザー体験を向上させ、売上を増加させることができます。 **シナリオ:** ユーザーがさまざまなカテゴリの膨大な商品を閲覧する、確立されたeコマースプラットフォームを考えてみましょう。過去の購入、カートに追加されたアイテム、閲覧した商品などのユーザー行動を分析することで、プラットフォームはパーソナライズされた商品提案を生成できます。 たとえば、ユーザーが頻繁にエレクトロニクスやガジェットを購入している場合、プラットフォームはこの好みを特定できます。このインサイトに基づき、プラットフォームはユーザーの関心に合った類似商品、アクセサリ、関連アイテムをレコメンドできます。これらのカスタマイズされたレコメンデーションは、ユーザー満足度を向上させるだけでなく、コンバージョンとリピート購入の可能性を高めます。 #### 3. 消費財およびFMCG(日用消費財): 消費財やFMCGなど、商品が頻繁かつ定期的に購入される業界では、リピート購入の最適化がビジネスにとって不可欠です。課題は、顧客の購入履歴や消費パターンに基づいて、定番商品やよく購入される商品を効果的にレコメンドすることにあります。 **シナリオ:** たとえば、食品・飲料セクターでは、食料品配達サービスが顧客の購入履歴に基づいてリピート購入レコメンデーションアルゴリズムを使用し、定番商品やよく購入される食料品を提案できます。過去の注文や消費パターンを分析することで、プラットフォームは特定の商品がなくなりそうな時期を予測し、注文プロセスを効率化するために補充をレコメンドできます。 #### 4. 小売在庫管理: 商品購入の次回発生を予測することで、小売業者は在庫レベルを最適化し、十分な在庫確保を実現できます。これにより、在庫切れを防止し、過剰在庫を最小限に抑え、サプライチェーン全体の効率を向上させることができます。 **シナリオ:** eコマースプラットフォームや小売業者では、月次や隔月などのさまざまな更新間隔でサブスクリプションサービスを提供しています。さらに、繰り返し購入パターンを分析することで、小売ビジネスは在庫をより適切に管理し、在庫切れや過剰在庫を最小限に抑えることができます。在庫レベルを最適化することで、企業は在庫の利用可能性を確保し、ユーザーのニーズに一貫して対応できます。 #### 5. サブスクリプションサービス: サブスクリプションボックス、ミールキット配達サービス、サブスクリプションベースのソフトウェアプラットフォームなどのサブスクリプションベースのビジネスは、サブスクリプション更新を通じて安定した経常収益の維持に依存しています。しかし、特に更新間隔パターンが複雑な場合、手動リマインダーが必要なプランのサブスクリプション更新の管理は課題となります。 **シナリオ:** たとえば、新聞購読サービスの場合、一部の顧客はバケーションホームを訪問する期間など、特定の期間にのみ購読を更新する場合があります。このような場合、リピート購入レコメンデーションアルゴリズムは、サブスクリプション更新日を特定し、ユーザーにタイムリーなリマインダーを提供する上で重要な役割を果たします。購読者の更新履歴を分析し、複雑な更新パターンを理解することで、レコメンデーションシステムはリテンション率を向上させ、ビジネスの安定した収益フローを確保できます。 eコマースプラットフォームと同様に、レコメンデーションアルゴリズムはさまざまな業界でユーザー体験やエンゲージメントを向上させ、最終的にビジネス価値を推進するために適用できます。いくつかの例を以下に示します: - **エンターテインメントとメディア:** 過去の消費に基づいた映画、音楽、記事などのコンテンツストリーミングプラットフォーム。 - **教育:** 学生の関心と学習スタイルに基づいたコースレコメンデーションとカスタマイズされた学習パスの生成。 - **ソーシャルメディア:** ユーザーインタラクションと関心に基づいたコンテンツ提案、友達やグループの提案。 - **ヘルスケア:** 患者の医療履歴と健康データに基づいた服薬リマインダー、ヘルスケアプランの提案。 これらはほんの一例であり、多くの他の業界がレコメンデーションモデルを統合して価値を推進し、ビジネス成果を向上させる方法を積極的に探求しています。 ## レコメンデーションモデルの評価 これらの評価指標は、レコメンデーションモデルの性能のさまざまな側面に関するインサイトを総合的に提供します。モデルが生成するアイテム提案/レコメンデーションの多様性、品質、予測精度、全体的な正確性が含まれます。 レコメンデーションモデルの評価に使用される指標について詳しく見ていきましょう: #### a. カバレッジ **内容:** カバレッジは、システムがレコメンドできる全アイテムの割合を測定します。 **直感的理解:** - 高いカバレッジは、システムが幅広いアイテムをレコメンドでき、より多様で人気アイテムに偏りにくいことを意味します。 - 低いカバレッジは、レコメンデーションがより少ないアイテムセットに限定されており、すべてのユーザーに対応できない可能性があることを示唆します。 **推論の例:** カバレッジが90%の場合、システムはカタログ内のアイテムの90%をレコメンドでき、ユーザーに多様な選択肢を確保します。 #### b. NDCG at K(K位までの正規化割引累積利得) **内容:** NDCGは、上位Kのレコメンデーション内の関連アイテムの位置に焦点を当て、レコメンデーションのランキング品質を測定します。 **直感的理解:** - 高いNDCGは、関連アイテムがリストの上位に表示されることを意味し、レコメンデーションがユーザーにとってより有用になります。 - 低いNDCGは、関連アイテムがリストの深い位置に埋もれている可能性があり、ユーザー満足度が低下することを示します。 **推論の例:** NDCG@10が高い場合、ユーザーは上位10件の提案内に関連するレコメンデーションを見つけやすくなり、体験が向上します。 #### c. 精度 **内容:** 精度は、システムによる正しい予測(関連vs.非関連のレコメンデーション)の割合です。 **直感的理解:** - 高い精度は、システムが一般的に関連するレコメンデーションと非関連のものを区別するのに優れていることを意味します。 - ただし、レアなアイテムやユーザー固有の好みなど、エッジケースへの対応がどの程度うまくいっているかは捉えられません。 **推論の例:** 精度が95%の場合、ほとんどのレコメンデーションは正しい可能性が高いですが、すべての関連アイテムが含まれていることを保証するものではありません。 #### d. ROC AUC(受信者操作特性曲線下面積) **内容:** ROC AUCは、異なるしきい値でシステムが関連アイテムと非関連アイテムをどれだけうまく分離できるかを評価します。 **直感的理解:** - 高いAUCは、カットオフしきい値に関係なく、システムが関連アイテムを非関連アイテムよりも効果的に上位にランク付けできることを意味します。 - 低いAUCは、システムが関連アイテムと非関連アイテムの区別に苦労していることを示唆します。 **推論の例:** AUCが0.95の場合、システムはすべてのユーザーにわたって一貫して関連アイテムをランク付けする上で非常に信頼性が高いです。 #### e. 適合率 **内容:** 適合率は、レコメンドされたアイテムのうち実際に関連があるものの割合を測定します。 **直感的理解:** - 高い適合率は、行われたレコメンデーションのほとんどがユーザーにとって有用で関連があることを意味します。 - 低い適合率は、ユーザーに多くの非関連アイテムが表示されていることを示し、システムへの信頼が低下する可能性があります。 **推論の例:** 適合率が80%の場合、10件のレコメンデーションのうち8件は関連がある可能性が高いです。 #### f. 再現率 **内容:** 再現率は、すべての関連アイテムのうち、正しくレコメンドされたものの割合を測定します。 **直感的理解:** - 高い再現率は、システムがすべての関連アイテムを特定するのに優れていることを意味しますが、非関連アイテムが含まれることもあります。 - 低い再現率は、多くの関連アイテムが見落とされていることを示唆します。 **推論の例:** 再現率が70%の場合、システムはユーザーに関連するすべてのアイテムの70%を見つけていますが、一部はまだ漏れています。 #### g. 再発率 **定義:** データセット内の繰り返しイベントまたはパターンの割合または頻度です。 **直感的理解:** - 高い再発率は、データセットに頻繁に繰り返されるイベントやパターンが含まれていることを意味します。 - 低い再発率は、データ内の繰り返しが少ないまたは稀であることを示唆します。 **推論の例:** 再発率が60%の場合、データセット内のイベントの60%が何らかの繰り返しパターンの一部であることを意味します。これにより、データがどの程度周期的または予測可能であるかを特定するのに役立ちます。 #### h. 平均絶対誤差(MAE) **定義:** 予測された再発と実際の再発の間の日数における平均絶対差です。 **直感的理解:** MAEは、過大評価か過小評価かに関係なく、予測が実際の再発間隔からどの程度離れているかを平均的に示します。 MAEが低いほど、より正確な予測を意味します。 **推論の例:** MAEが3日の場合、予測された再発間隔は実際の間隔から平均3日離れています。これにより、予測がどの程度正確であるかを直感的に理解できます。 #### i. 平均二乗誤差(MSE) **定義:** 予測された再発と実際の再発の間の日数における平均二乗差です。 **直感的理解:** - MSEは差を二乗するため、大きな誤差をより強くペナルティとして課します。 - MSEが低いほど、モデルは一般的に正確であり、予測における大きなミスを避けていることを意味します。 **推論の例:** MSEが16日²の場合、ほとんどの予測は近いかもしれませんが、再発間隔予測における大きな誤差がスコアに大きく影響することを示します。これにより、大きな誤差を起こしやすいモデルを特定するのに有用です。 ### 特定のアルゴリズムの評価指標 レコメンデーションモデルは前述のようにタイプが異なります。そのため、モデルを評価するための単一の汎用的なアプローチはありません。代わりに、各アルゴリズムに固有の異なる指標を使用して評価できます。 情報検索アルゴリズムの評価指標は以下のとおりです: #### a. 情報検索 <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">レコメンデーションタイプ</th> <th class="w15p">アルゴリズム</th> <th class="w30p">評価指標</th> </tr> </thead> <tbody> <tr> <td>逐次レコメンデーション</td> <td>SubSeq</td> <td> <ul style="text-align: left;"><li><strong>カバレッジ</strong>:カバレッジは、システムがレコメンドできる全アイテムの割合を測定します。<li><strong>NDCG at K(K位までの正規化割引累積利得)</strong>:NDCGは、上位Kのレコメンデーション内の関連アイテムの位置に焦点を当て、レコメンデーションのランキング品質を測定します。<li><strong>精度</strong>:精度は、システムによる正しい予測(関連vs.非関連のレコメンデーション)の割合です。</td> </tr> <tr> <td>パーソナライズドレコメンデーション</td> <td>Light FM</td> <td> <ul style="text-align: left;"><li><strong>ROC AUC(受信者操作特性曲線下面積)</strong>:ROC AUCは、異なるしきい値でシステムが関連アイテムと非関連アイテムをどれだけうまく分離できるかを評価します。<li><strong>適合率</strong>:適合率は、レコメンドされたアイテムのうち実際に関連があるものの割合を測定します。<li><strong>再現率</strong>:再現率は、すべての関連アイテムのうち、正しくレコメンドされたものの割合を測定します。</td> </tr> <tr> <td></td> <td>Pixie</td> <td> <ul style="text-align: left;"><li><strong>適合率</strong>:適合率は、レコメンドされたアイテムのうち実際に関連があるものの割合を測定します。<li><strong>再現率</strong>:再現率は、すべての関連アイテムのうち、正しくレコメンドされたものの割合を測定します。<li><strong>カバレッジ</strong>:カバレッジは、システムがレコメンドできる全アイテムの割合を測定します。</td> </tr> <tr> <td>リピート購入レコメンデーション</td> <td>Recurrence Finder</td> <td> <ul style="text-align: left;"><li><strong>再発率</strong>:データセット内の繰り返しイベントまたはパターンの割合または頻度です。<li><strong>平均絶対誤差(MAE)</strong>:予測された再発と実際の再発の間の日数における平均絶対差です。<li><strong>平均二乗誤差(MSE)</strong>:予測された再発と実際の再発の間の日数における平均二乗差です。</td> </tr> </tbody> </table> これらの各評価指標は、それぞれのモデルの性能を評価する上で特定の目的を果たし、その性能と信頼性に関するインサイトを提供します。 <!-- #### Create Sample Pipeline 1. Sample Recommendation pipeline creation example 2. Prediction type - New users/Existing user --> -------------------------------------------------------------------------------- title: "時系列" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを構築できます。" last_updated: "2026-09-08T11:24:16.720Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/learning-center/time-series/" service: "QuickML" -------------------------------------------------------------------------------- # 時系列データの概要 時系列とは、1つ以上の特徴が時間の経過とともにどのように変化するかを表すデータポイントのシーケンスを指します。これらのデータポイントは一定の間隔で記録され、時間の経過に伴うトレンド、季節性の変化、パターン、異常の分析を可能にします。 時系列データは、1つの特徴のみが記録される**単変量**と、複数の特徴が同時に追跡される**多変量**の2つのタイプに分類できます。 時系列分析の主な目的は、多くの場合、特徴の将来の値を予測することであり、これは予測や異常検知などのタスクにおけるターゲット変数として機能します。 ### 時系列の構成要素 時系列の構成要素は、データ系列の時間経過に伴う基本的なパターンや挙動を特徴付けます。これらは観測されたデータポイントの値に影響を与える要因にすぎません。これらの構成要素を理解することで、より優れた正確なモデルの作成に役立ちます。時系列データの4つの構成要素は以下の通りです: - トレンド - 季節性 - 循環性 - ノイズ #### 1. トレンド トレンド成分は、時系列における長期的な方向性や動きを表します。データが時間の経過とともに全般的に増加しているか、減少しているか、または一定であるかを示します。 **特徴** - より長い期間にわたる系列の基本的な傾向を反映します。 - トレンドは線形または非線形の場合があります。 - トレンドは短期的な変動や不規則性の影響を受けません。 **例** <br /> 企業の売上データにおいて、数年にわたる売上の着実な増加は正のトレンドを示しています。 #### 2. 季節性 季節性成分は、日次、月次、年次など、固定された期間内で発生する規則的で繰り返しのパターンを時系列中に表します。 **特徴** - 季節性は一定の間隔で発生し、固定された周期を持ちます。 - 天候、祝日、文化的なイベントなどの外部要因によって駆動されることが多いです。 - 季節性の効果は予測可能であり、毎年、毎月、毎週、または毎日同じ時期に繰り返し発生します。 **例** <br /> この例は、1949年から1960年までの各月の月間乗客数を示しており、チャートで乗客の季節的な分布を確認できます。 #### 3. 循環性 循環性成分は、通常、経済サイクルやビジネスサイクルの影響を受けて、より長い期間にわたって発生する時系列の変動を指します。 **特徴** - サイクルは通常、周期と振幅が不規則です。 - 1年以上、多くの場合数年続くことがあります。 - 季節性とは異なり、循環パターンはその頻度と持続期間において予測が困難ですが、より広範な経済的要因の影響を受けます。 **例** <br /> 新築ファミリー住宅の売上は特定の期間に変動しますが、グラフに示されているように、これらの変化は季節性ではありません。これらの変動は、季節パターンよりも予測が困難な景気拡大期と景気後退期の影響を受けている可能性があります。 #### 4. ノイズ ノイズ成分は、トレンド、循環性、または季節性パターンに帰属できない時系列のランダムな変動を捉えます。データの予測不可能で不規則な変動を表します。 **特徴** - ノイズは、トレンド、循環性、および季節性成分を除去した後の時系列の残差部分です。 - ランダムで予測不可能です。 - ノイズは特定のパターンに従わず、ランダムな要因や測定誤差によって引き起こされる可能性があります。 **例** <br /> グラフから結論づけられるように、企業の株価変動には特定のトレンド、季節性、または循環パターンはありません。価格の変動は、予測可能なパターンのないランダムな上昇と下降として現れています。 ### 定常性 定常性とは、平均、分散、自己相関などの統計的特性が時間の経過とともに一定のままである時系列データの特性を指します。 - 平均は、一定期間における観測値の平均値です。 - 分散は、平均周辺の値の広がりまたは分散の尺度です。 - 自己相関は、系列とその以前の値との相関です。 系列が定常であると結論づけるためには、時系列データのこれら3つの統計的特性すべてが時間の経過とともに一定でなければなりません。系列が定常であるかどうかを理解することは、効果的な時系列モデルを構築するために必要な前処理の種類を判断するために重要です。系列が定常である場合、記録された値は変化しないか、時間の経過とともに同じ範囲内に留まります。 記録された系列が定常または非定常と見なされるユースケースの例を見てみましょう。 #### a. 非定常系列 時系列データは、トレンド、季節性、循環性、またはノイズの存在により、記録された値が異なる時点で影響を受けた場合、非定常と見なされます。 **例:**\ 航空会社の乗客数は、プロットに示されているように、毎年の季節変動を伴いながら増加トレンドにあります。したがって、この系列は非定常系列と見なされます。 **定常性の有無を評価するためのADFテスト結果** ``` ADF Statistic: 0.81 p-value: 0.99 Critical Values: {'1%': -3.48, '5%':-2.88, '10%': -2.57} Fail to reject the null hypothesis: The series is not stationary. ``` <br /> #### b. 定常系列 系列が定常である場合、記録された値は変化しないか、時間の経過とともに同じ範囲内に留まります。 **例:**\ ラグ2の差分変換手法を適用した後、非定常系列は定常系列に変換されます。変換された値をチャートにプロットすると、以下のように表示されます: <br /> **データ変換後の定常性の有無を評価するためのADFテスト結果** ``` ADF Statistic: -2.96 p-value: 0.03 Critical Values: { '1%': -3.48, '5%': -2.88, '10%':-2.57 } Reject the null hypothesis: The series is stationary. ``` 時系列モデルは通常、定常データを使用して構築されます。系列が非定常の場合、正確な将来の予測を確保するために、モデルのトレーニング前に定常系列に変換する必要があります。ADFテストとKPSSテストとして知られる2つの統計検定を時系列データに対して実行し、系列に定常性が存在するかどうかを判定します。 #### 定常性の検定 時系列における**定常性**とは、系列の統計的特性が時間の経過とともに変化しないことを意味します。言い換えれば、系列の異なる部分を見ても、統計的に類似しているはずです。系列が定常であるためには、**一定の平均、一定の分散、一定の自己相関**を持つ必要があります。 時系列データに対して定常性の有無を確認するために実行できる統計的手法には2つのタイプがあります。**ADF**テストと**KPSS**テストです。ただし、定常性検定に進む前に、統計検定における仮説という概念を理解しましょう。 **仮説:** 仮説検定は、利用可能なデータ全体から抽出されたサンプルデータを使用して、データセットに関する推論や結論を導くために使用される統計的手法です。サンプルにおいて、データセット全体に関する特定の主張や仮説を支持または棄却するのに十分な証拠があるかどうかを判断するのに役立ちます。 - **帰無仮説(H₀)**: 効果や差異がないという仮定です。現状を表します。 - **対立仮説(H₁)**: 帰無仮説の反対であり、新しい主張や効果を表します。これが検定の対象となります。 仮説の意味を理解したところで、定常性検定を見てみましょう: 1. #### ADFテスト 拡張ディッキー・フラー(ADF)テストは、時系列に単位根があるかどうかを判定するために使用される統計検定です。単位根の存在は、値が以前の値に強く依存していることを示し、系列が非定常であることを意味します。 **目的:** ADFテストは、系列に単位根が含まれているかどうかを確認するために使用されます。 **帰無仮説**: 時系列には単位根があり、したがって非定常です。 **解釈**: ADF検定統計量が臨界値より小さい場合、帰無仮説は棄却され、時系列が定常であると結論づけられます。 **検定プロセス**: ADFテストは、帰無仮説を検定することで、時系列における単位根の存在を確認します。単位根の存在は系列が非定常であることを示します。 2. #### KPSSテスト クワトコフスキー・フィリップス・シュミット・シン(KPSS)テストは、時系列の定常性を確認するために使用されるもう1つの統計検定です。ADFテストとは異なり、時系列が平均または確定的トレンドの周りで定常であるという帰無仮説を検定します。 **目的**: KPSSテストは、系列が定常であるかどうかを確認するために使用されます。 **帰無仮説**: 時系列は一定の平均または確定的トレンドの周りで定常です。 **解釈**: KPSS検定統計量が臨界値より大きい場合、帰無仮説は棄却され、系列が非定常であることを示します。 **検定プロセス**: KPSSテストは、確定的トレンドまたは平均の周りで変動する時系列が定常であるかどうかを検定します。 #### 検定結果の解釈方法 ADFテストとKPSSテストは、系列が定常であるかどうかを分類するのに役立ついくつかの統計値を生成します。これらの値は以下の通りです: - 検定統計量 - P値 - 1%、5%、10%信頼区間における臨界値 #### 検定統計量 検定統計量は、帰無仮説が真であった場合にその値がどの程度起こりやすいかを判定するために検定で計算される値です。 サンプルデータに基づいて検定統計量を計算します。 - z検定の場合:検定統計量は z = (X̄ - μ) / ( σ/ √n)(全データの統計値) - t検定の場合:検定統計量は t = (X̄ - μ) / (s / √n)(サンプルデータの統計値) ここで、X̄はサンプル平均、μは母平均、sはサンプルの標準偏差またはσは全データの標準偏差、nはサンプルサイズです。 QuickMLでは、ADFおよびKPSSの検定統計量は、入力データ全体に対するそれぞれの検定から計算されます。これらの検定統計量は両方とも、帰無仮説に対する証拠の尺度を提供します。 証拠の強さは、検定統計量の値を1%、5%、10%の有意水準における臨界値と比較することにより、強い、中程度、弱いの3段階で評価されます。 #### P値 **P値とは?** 両検定におけるP値は、帰無仮説が真であると仮定した場合に、観測された検定統計量の値と同程度またはそれ以上に極端な値が得られる確率を示します。P値は統計表から取得でき、帰無仮説を棄却すべきかどうかを判定するために使用されます。 **どのように導出されるか?** 1. ADF / KPSS回帰モデルの定式化と推定 2. 上記の通り検定統計量 t𝛄 を計算 3. シミュレーションから導出された臨界値と t𝛄 を比較 4. 帰無仮説の下で検定統計量が臨界値とどのように比較されるかに基づいて、近似P値を内挿して取得 #### ADFテストの場合 **帰無仮説:** 時系列には単位根があり、非定常であることを意味します。 **解釈:** 有意水準を5%と仮定します。 1. **低いP値**(≤ 0.05): 低いP値は、単位根の帰無仮説を棄却できることを示し、系列が定常であることを示唆します。 2. **高いP値**(> 0.05): 高いP値は、単位根の帰無仮説を棄却できなかったことを示し、系列が非定常であることを示唆します。 #### KPSSテストの場合 **帰無仮説:** 時系列は一定の平均または確定的トレンドの周りで定常です。 **解釈:** 信頼区間を5%と仮定します。 1. **低いP値**(≤ 0.05): 低いP値は、帰無仮説を棄却することを示唆し、系列が非定常であることを示します。 2. **高いP値**(> 0.05): 高いP値は、定常性の帰無仮説を棄却できないことを示唆します。 #### 臨界値(1%、5%、10%水準): 臨界値は、拡張ディッキー・フラー(ADF)テストやクワトコフスキー・フィリップス・シュミット・シン(KPSS)テストなどの定常性検定において、帰無仮説を棄却するか棄却しないかを判定するために使用される事前定義された閾値またはベンチマークです。これらの値は、検定結果の統計的有意性を評価するのに役立ちます。 これらの値は、ADFおよびKPSS検定の両方における意思決定のベンチマークとして機能します。例えば、5%の有意水準の場合: - **1%における臨界値**: 非常に厳格な基準です。検定統計量の値が1%の臨界値よりも極端であれば、帰無仮説を棄却するための強い証拠があります。 - **5%における臨界値**: 検定統計量が5%の臨界値よりも極端であれば、帰無仮説を棄却するための中程度の証拠があります。 - **10%における臨界値**: より緩い基準です。検定統計量が10%の臨界値よりも極端であれば、帰無仮説を棄却するための弱い証拠があります。 **例:** <table class="content-table quickml-content-table"> <tr> <th>ADF Test</th> <th>KPSS Test</th> </tr> <tr> <td> <ul> <li><b>帰無仮説:</b> 系列には単位根があり、したがって非定常です。</li> <li><b>例1:</b></li> <ul> <li>ADF statistic = -3.5</li> <li>臨界値: <ul> <li>CV at 1%: -3.9</li> <li>CV at 5%: -3.3</li> <li>CV at 10%: -3.0</li> </ul> </li> <li>-3.5は-3.3(5%の臨界値)よりも極端であるため、5%水準で帰無仮説を棄却しますが、証拠は中程度にすぎません。</li> <li>また、P値が0.04の場合、0.04 < 0.05であるため、5%の信頼区間で帰無仮説を棄却できることが確認されます。</li> <li>検定は系列が定常であると結論づけます。</li> </ul> </ul> </td> <td> <ul> <li><b>帰無仮説:</b> 系列は定常です。</li> <li><b>例1:</b></li> <ul> <li>KPSS statistic = 0.6</li> <li>臨界値: <ul> <li>CV at 1%: 0.73</li> <li>CV at 5%: 0.46</li> <li>CV at 10%: 0.34</li> </ul> </li> <li>0.6は5%の臨界値(0.46)より大きいため、5%水準で定常性の帰無仮説を棄却しますが、証拠は中程度にすぎません。</li> <li>P値が0.02の場合、0.02 < 0.05であるため、5%水準で帰無仮説を棄却できることを意味します。</li> <li>検定は系列が非定常であると結論づけます。</li> </ul> </ul> </td> </tr> <tr> <td> <ul> <li><b>例2:</b></li> <ul> <li>ADF Statistic: 3.14</li> <li>p-value: 1.0</li> <li>臨界値: <ul> <li>CV at 1%: -3.46</li> <li>CV at 5%: -2.87</li> <li>CV at 10%: -2.57</li> </ul> </li> <li>P値が有意水準0.05より大きく、ADF統計量がすべての臨界値をはるかに超えているため、帰無仮説を棄却するのに十分な証拠がありません。</li> <li>これは系列が非定常であることを結論づけます。</li> </ul> </ul> </td> <td> <ul> <li><b>例2:</b></li> <ul> <li>KPSS Statistic: 1.65</li> <li>p-value: 0.01</li> <li>臨界値: <ul> <li>CV at 1%: 0.73</li> <li>CV at 5%: 0.46</li> <li>CV at 10%: 0.34</li> </ul> </li> <li>帰無仮説を棄却: 系列は定常ではありません。</li> <li>検定統計量(1.65)が5%水準の臨界値(0.46)より大きく、P値(0.01)が0.05より小さいため、帰無仮説を棄却します。</li> <li>これは、系列が非定常であると結論づけるための強い証拠があることを意味します。</li> </ul> </ul> </td> </tr> </table> #### 検定の可能な結果 両方の検定を適用した場合の可能な結果は以下の通りです。 **結果1**: 両方の検定が、与えられた系列が定常であると結論づける場合 - 系列は定常です。 **結果2**: 両方の検定が、与えられた系列が非定常であると結論づける場合 - 系列は非定常です。 **結果3**: ADFが非定常と結論づけ、KPSSが定常と結論づける場合 - 系列はトレンド定常です。系列を厳密に定常にするためには、この場合トレンドを除去する必要があります。その後、トレンド除去された系列の定常性が確認されます。 **結果4**: ADFが定常と結論づけ、KPSSが非定常と結論づける場合 - 系列は差分定常です。系列を定常にするために差分が使用されます。差分された系列は、その後定常性が確認されます。 #### 列に存在する定常性への対処方法 QuickMLでは、上記で説明したように、拡張ディッキー・フラー(ADF)テストとクワトコフスキー・フィリップス・シュミット・シン(KPSS)テストの両方を使用して、時系列データセットの各特徴の定常性を確認します。 QuickMLプラットフォームは、データセット内の非定常列を変換するのに役立つデータ変換手法のセットを提供します。これらの列を定常に変換することで、QuickMLは変換されたデータを使用して生成されたモデルが基礎的なパターンとトレンドを捉えるのに適していることを保証します。 列に存在する定常性に対処するために主に使用される2つのデータ変換手法は以下の通りです: #### 差分 差分は、連続する観測値間の差を計算することで行われます。時系列の水準の変化を除去することで平均を安定化させ、トレンドと季節性を除去(または軽減)するのに役立ちます。 差分の次数は、非定常系列を定常系列に変換するために差分を実行する回数を示します。QuickMLで指定できる最大差分次数は5です。5次の差分を行っても系列が非定常の場合、パワー変換のいずれかの方法を適用して時系列の分散を安定化できます。 #### パワー変換 パワー変換は、変数の確率分布をよりガウス分布に近づけます。これは一般的に分布のスキュー(歪度)を除去すると説明されますが、より一般的には分布の分散を安定化させると説明されます。対数変換に加えて、変数をガウス確率分布に最も適切に変換するパラメータ(ラムダ)を見つける変換の一般化バージョンを使用できます。 QuickMLでは、2種類のパワー変換が利用可能です - **Box-Cox変換**\ Box-Cox変換は、スキューを軽減し分散を安定化させるデータの最適なパワー変換を見つけることを目的としています。データが不均一分散(予測変数のレベルにわたって不均等な分散)やスキューを示す場合に効果的です。 - **Yeo-Johnson変換**\ Yeo-Johnson変換は、ターゲット変数の正の値と負の値の両方を扱えるBox-Cox変換の修正版です。Box-Coxと同様に、Yeo-Johnsonはデータを変換して分散を安定化させ、分布を正規化します。負の値を扱えるため、より柔軟です。Yeo-Johnsonは、元のBox-Coxでは扱えないゼロや負の値を含むデータの場合に好まれることが多いです。 Yeo-Johnson変換のパラメータ(通常ラムダと呼ばれます)は、変換の性質を制御するために使用されます。ラムダの値に基づいて異なる変換手法が選択されます。 - lambda = -1. は逆数変換です。 - lambda = -0.5 は逆数平方根変換です。 - lambda = 0.0 は対数変換です。 - lambda = 0.5 は平方根変換です。 - lambda = 1.0 は変換なしです。 ### モデル評価指標 **予測のための指標** 時系列分析における予測を評価する際、モデルの精度とパフォーマンスを評価するためにいくつかの指標が一般的に使用されます。各指標は、予測値が実際の観測値とどの程度一致しているかについて異なるインサイトを提供します。 **1. Mean Absolute Percentage Error(MAPE)** MAPEは、実際の値に対する予測値と実際の値の平均絶対パーセンテージ差を表します。予測の相対的な精度に関するインサイトを提供し、異なるデータセットやスケールにわたるモデルの精度を比較する際に特に有用です。 **解釈:** 例えば、MAPEの値が8%の場合、モデルの予測が実際の値から平均8%乖離しているため、比較的正確であることを示します。一般的に、MAPEの値が10%未満はモデルが非常に正確であることを示し、10〜20%は良好であり、20%を超える値はモデルパフォーマンスの改善が必要であることを示す場合があります。 **2. Symmetric Mean Absolute Percentage Error(SMAPE)** SMAPEは、分母に実際の値と予測値の絶対値の平均を使用することで、MAPEにおける非対称性の問題に対処します。データセット内の小さな値やゼロの値を扱う場合に好まれることが多く、ゼロ除算を回避し、より均衡の取れた精度の尺度を提供します。 **解釈:** SMAPEは、特に実際の値が小さいかゼロの場合に、誤差のバランスの取れた視点を提供します。分母に実際の値と予測値の平均を使用することで、SMAPEは非対称性の影響を軽減します。SMAPEの値が低いほど、実際の値と予測値のパーセンテージ差が小さく、モデルの精度が優れていることを示します。MAPEなどの他の指標に見られる極端なパーセンテージ誤差の問題を回避する対称的な尺度を提供します。 **3. Mean Square Error(MSE)** MSEは誤差の二乗の平均を測定し、大きな誤差により大きな重みを与えます。誤差の広がりに関するより詳細なインサイトを提供しますが、二乗操作のため外れ値に大きく影響される可能性があります。MSEは、大きな誤差をより顕著にペナルティするのに有用です。 **解釈:** MSEは誤差の分散を強調し、二乗関数により大きな誤差がより大きな重みを受けます。この指標は外れ値に特に敏感であり、実際の値からの大きな逸脱にペナルティを与えたい場合に理想的です。MSEが低いほど、平均的に誤差が少なく小さいモデルであることを示しますが、外れ値によって不均衡に影響を受ける可能性があります。誤差の広がりを理解するのに有用ですが、現実世界の単位では解釈しにくい場合があります。 **4. Root Mean Square Error(RMSE)** RMSEはMSEの平方根であり、元のデータと同じ単位でより解釈しやすくなっています。MSEと同様に、RMSEは誤差の平均的な大きさの尺度を提供し、値が高いほど平均誤差が大きいことを示します。広く使用されており、誤差の大きさへの感度と解釈のしやすさのバランスが良い指標です。 **解釈:** RMSEは平均的な誤差の大きさを提供し、元のデータと同じ単位を保持するため、MSEよりも解釈しやすくなっています。RMSEは大きな誤差に敏感であり、典型的な予測誤差を理解するために一般的に使用されます。RMSEの値が低いほど、誤差が小さくモデルの予測精度が優れていることを示します。元のデータの単位で誤差を解釈するのに有用で、誤差の「大きさ」を明確に把握できます。 **5. Mean Square Log Error(MSLE)** MSLEは、予測値に1を加えた自然対数と実際の値に1を加えた自然対数の差の二乗の平均を計算します。過大予測よりも過小予測により重いペナルティを与えます。 **解釈:** MSLEは、対数変換を適用することで大きな値の影響を緩和し、予測値と実際の値の比率に焦点を当てます。この指標は、過大予測よりも過小予測により重いペナルティを与えるため、過小評価が過大評価よりも有害であるモデルに適しています。MSLEの値が低いほど、対数スケールで予測値が実際の値に密接に一致していることを意味し、大きな値の高分散に対するペナルティを軽減し、乗法スケールでのパフォーマンスを重視します。 **6. Root Mean Square Log Error(RMSLE)** RMSLEはMSLEの平方根です。ターゲット変数と同じ単位でより解釈しやすい尺度を提供します。MSLEと同様に、RMSLEは二乗差により過小予測に対してより重いペナルティを与えます。 **解釈:** RMSLEはMSLEの平方根であり、対数スケール上ではありますが、元の単位での解釈のしやすさを維持しています。MSLEと同様に、RMSLEは過小予測により重いペナルティを与え、低い範囲の誤差を優先する尺度を提供します。RMSLEの値が低いほど、対数スケールで予測値と実際の値がより密接に一致していることを示し、大きな正の乖離は許容できるが過小評価は最小限に抑える必要がある場合に理想的です。 -------------------------------------------------------------------------------- title: "テキスト分析" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを構築できます。" last_updated: "2026-09-08T11:24:16.720Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/learning-center/text-analytics/" service: "QuickML" -------------------------------------------------------------------------------- # Text Analyticsにおける自然言語処理(NLP)の概要 自然言語処理(NLP)は、人工知能(AI)のサブフィールドであり、機械が人間の言語を意味のある有用な方法で理解、解釈、生成できるようにする技術です。日々膨大なテキストデータが生成される中、NLPは計算言語学、機械学習、ディープラーニングを組み合わせ、機械が自然言語データを処理して貴重なインサイトを抽出し、ビジネスに価値を生み出すことを可能にします。自然言語処理は、データ駆動型の課題やビジネスユーザーが直面する問題に対して事前に対処することで、ユーザーエクスペリエンスを向上させ、ビジネスに大きな価値を提供します。 #### なぜ人気があるのか? NLPの人気は、複雑な人間の言語を理解し、現実の問題に適用する能力に支えられており、テクノロジーとのインタラクションをより自然で直感的なものにしています。人気が高まっている主な理由は以下の通りです: - **データからのインサイト抽出**: 企業は、ソーシャルメディア、記事、製品レビュー、フィードバック、法的文書など、さまざまなソースから大量のテキストデータを収集しています。顧客やユーザーが自社の製品やサービスについて何を語っているのかを理解する必要があります。NLPは、この大規模で非構造化されたデータを効率的に処理、分析し、貴重なインサイトを抽出する方法を提供します。 - **ユーザー中心のアプリケーション**: NLPの登場により、企業はバーチャルアシスタント、チャットボット、自動化されたカスタマーサービスシステムを活用して、ユーザーの問い合わせに迅速かつ効率的に対応しています。 - **翻訳機能**: NLPは機械翻訳を可能にし、言語を超えたコミュニケーションを促進し、社会における言語の壁を取り除くことに貢献しています。 - **要約機能**: 長文のドキュメントを短い要約に変換し、素早い閲覧を可能にすることで、時間と労力を節約できます。 これらはほんの一部のアプリケーションであり、日々新たなイノベーションが生まれています。 ### ビジネスアプリケーション NLPは、NLPタスクを活用してビジネス環境におけるさまざまなアプリケーションを実現し、企業がプロセスを自動化し、大規模なデータセットからアクショナブルなインサイトを抽出することを支援します。いくつかのNLPタスクとそのリアルタイムのビジネスアプリケーションを見てみましょう。 #### NLPタスク タスクとは、NLPモデルが実行または解決するように設計された特定の目的や問題を指します。各タスクは、自然言語の処理や分析の特定の側面に対応することに焦点を当てています。 **NLPタスクの例**\ QuickMLのText Analyticsビルダーを使用して実行できるタスクは以下の通りです: - **スパム検出**: スパム分類は二値分類モデルであり、受信したメールをスパムかどうかに分類することを目的としています。スパム検出モデルは、メールの本文、件名、送信者情報などを入力として受け取り、そのメールがスパムである確率を生成します。閾値に基づいて、メールをスパムまたは非スパムに分類します。 テキスト分類タスク:メールのスパム分類と同様に、テキスト分類に含まれるその他のタスクとして、意図検出、コミットメント分類、感情検出、トナリティ識別があります。 - **言語検出**: 言語検出は、言語翻訳、文法修正、テキスト読み上げなど、さまざまなNLPアプリケーションで適用される基本的なステップです。Webコンテンツの検索に使用される言語を検出し、同じ言語で結果を返したり、チャットボットや翻訳ツールで同じ言語で応答を提供したりするために使用されます。 - **感情分析**: テキストの感情トーン(ポジティブ、ネガティブ、ニュートラル)を判定します。一般的に、感情分類モデルへの入力はテキストの一部であり、出力はそのテキストで表現されている感情です。現実のシナリオでは、感情分類は、企業が製品レビューを通じて顧客が自社製品についてどのように感じているかを把握し、ネガティブな影響を与えている分野を理解するのに役立ちます。 QuickMLのZia機能を使用して実行できるタスクは以下の通りです:Zia Features 以下のタスクはCatalyst Ziaサービスを使用して実行できます: - **固有表現認識(NER)**: 人名、地名、組織名などの固有名詞を検出します。 - **キーワード抽出**: テキストデータから最も関連性の高いキーワードを特定・抽出するNLP技術であり、主要なトピックの把握、情報の要約、索引付け、ドキュメントの分類に役立ちます。 #### NLPアプリケーション アプリケーションとは、NLPモデルの実用的かつ現実世界でのユースケースを指します。アプリケーションは、より広範なエンドユーザーの問題を解決したりサービスを提供したりするために、1つ以上のNLPタスクを使用して構築されることが多いです。 **NLPアプリケーションの例**: - **感情分析ツール**: 感情抽出、トナリティ、感情識別タスクを使用して世論を測定します。顧客体験の理解に大きな価値を置く企業やブランドにとって不可欠です。以下の目的で実装できます: - ソーシャルメディアプラットフォームやアンケート調査で顧客が表明する感情の測定・モニタリング - 顧客フィードバックやレビューの分析を自動化し、手作業の負担を軽減 - ネガティブな感情の自動モニタリングによる、リアルタイムでの重大な状況の特定と対処 - **メールスパムフィルター**: スパムフィルターは、スパム分類などのタスクを活用して、不要な迷惑メールを識別・フィルタリングし、自動的にスパムフォルダに移動します。これにより、受信トレイの煩雑さを軽減し、時間を節約し、フィッシング詐欺やその他の有害な詐欺への露出リスクを最小限に抑えることで、ユーザーエクスペリエンスを向上させます。 - **顧客フィードバック分析**: 感情分析やキーワード抽出など、複数のNLPタスクを活用することで、企業はレビューやソーシャルメディアで顧客が自社製品について何を語っているかについてのインサイトを得ることができます。これにより、顧客の懸念や苦情に効果的に対処し、最終的に顧客満足度を高め、全体的な体験を向上させることができます。 - **カスタマーサポート効率の向上**: 感情検出などのタスクにより、企業はチャット、電話、苦情、フィードバック、レビュー、ソーシャルメディア投稿などを通じた顧客とカスタマーサポートスタッフとのやり取りを分析できます。これにより、製品やサービスを使用した際に顧客が経験する喜び、フラストレーション、怒りなどの感情を特定できます。企業は顧客の感情をより深く理解し、共感を持って対応し、サービスをカスタマイズし、顧客との関係を改善できます。 顧客の感情を検出することは、懸念に対処し、問題を解決し、ブランドロイヤルティを高めるための積極的な対策を実施する機会を提供します。 - **大規模なカスタマーサポート**: 企業は意図分類やアクティビティ分類タスクを活用して、ユーザーの問い合わせを正確に解釈し、それに応じた応答を提供します。一般的または基本的な問い合わせの解決を自動化することで、応答時間を大幅に短縮し、より複雑な問題にリソースを集中させることができます。この自動化により、カスタマーサポートは効率的にスケールし、サポートサービスの範囲を拡大し、一貫したサービス提供を確保します。さらに、バーチャルアシスタントを活用して応答をモデリング・配信し、パーソナライズされたユーザーエクスペリエンスを維持しながら、サポートの速度と品質をさらに向上させます。 アプリケーションは、本質的に複数のタスクが組み合わさってユーザーに価値を提供する実用的な実装です。タスクが特定の言語操作に焦点を当てるのに対し、アプリケーションは複数のタスクを組み合わせて、より広範なユーザー中心の問題を解決することに焦点を当てています。これらは、NLPタスクが現実のビジネスでどのように適用されているかのほんの一例です。技術の進歩に伴い、ユーザーエクスペリエンスを革新し、プロセスを合理化し、ニーズにより効果的に対応することで顧客ロイヤルティを高める、多くの革新的なアプリケーションが登場し続けています。 ### パイプライン構築のステップ QuickMLでは、クラシックモードとスマートモードのパイプラインビルダーを使用してText Analyticsモデルを作成します。 **クラシックモード**は、NLPモデルを構築するためのデータおよび機械学習操作のリストが利用可能なドラッグ&ドロップ式のパイプラインビルダーインターフェースを備えています。これらのノードをビルダーにドラッグ&ドロップして機械学習パイプラインを構築し、実行するとNLPモデルが生成されます。 スマートモードは、データの前処理、特徴抽出からモデル選択まで、NLPモデルの構築プロセスを簡素化するように設計された事前構築テンプレートを提供します。この事前構築テンプレートでは、ステージが事前定義されており、各ステージで操作を設定するためのさまざまなパラメータがユーザーに提示されます。このテンプレートにより、NLPモデルを構築する際にどの操作をいつ使用するかという曖昧さが排除され、モデル構築プロセスが合理化されます。 #### Smart Builderを使用したモデル構築 テキストベースの機械学習モデルの構築は、データの前処理、アルゴリズムの選択、モデルのチューニングなど、他のMLモデルと同様のプロセスに従います。ただし、NLPモデルは、特定のテキストベースの操作を適用する順序が異なります。この順序は、テキストデータが機械学習アルゴリズムを適用する前に最も効果的な方法で変換・処理されることを保証するため、モデル構築において非常に重要です。 スマートモードのモデル構築では、パイプラインビルダーは3つの主要なステップに合理化されています: - **前処理**: このステップでは、生のテキストデータをクリーニングし、さらなる分析に備えます。トークン化、大文字小文字変換、ステミングとレンマタイゼーション、ストップワードおよびノイズの除去、正規化などの操作が含まれます。 - **特徴抽出**: このステップでは、テキストデータを機械学習アルゴリズムが理解できる数値特徴に変換します。TF-IDF、ワードエンベディング、Bag-of-Wordsなどの手法が一般的に使用されます。 - **アルゴリズム選択**: 最終ステップでは、ユースケースに基づいて利用可能な教師あり学習または教師なし学習アルゴリズムから適切なアルゴリズムを選択します。その後、特徴抽出ステップからの前処理済みデータを使用してモデルがトレーニングされます。 スマートモードパイプラインビルダーの各ステップには、特定のNLP問題に合わせて操作を設定できる構成可能なステージ/操作が用意されています。 各ステップの詳細と、利用可能なステージ/操作を見ていきましょう: #### ステージ1:前処理 テキストデータは通常生のままであるため、パフォーマンスを向上させるためにアルゴリズムに入力する前にデータを処理することが重要です。スマートビルダーでは、テキストデータの前処理ステージに7つの操作があり、最初の6つの操作はテキストデータに適用され、最後の操作であるラベルエンコーディングはラベル付きデータセットのターゲット列に適用されます。このステージの出力は特徴抽出ステージに渡され、テキストデータ全体が数値形式に変換されます。 前処理ステージの操作を見てみましょう。 #### a. 大文字小文字変換 異なるケースの生のテキストデータを、共通の目的のケース(一般的には小文字)に変換します。これにより、スパース性を軽減できます(共通のケーシングなしでは「NLP、Nlp、nlp」は3つの異なる単語として扱われます)。 <!-- **Example:** Dataset preview before applying case conversion: /image After applying case conversion /image --> #### b. トークン化 トークン化は、テキストデータをさらに小さな単位に分割することです。例えば、段落を文に、文を単語に、単語を個々の文字に分割できます。これにより、より大きなセグメントでは見えないパターンやインサイトを発見することが可能になります。 QuickMLでは、文のトークン化を単語レベルと文字レベルの両方で実行できます。単語レベルでトークン化を適用した後、必要に応じてデータに後続の操作(ステミングとレンマタイゼーション、ストップワード除去、ノイズ除去、正規化)を適用できます。 ただし、文字レベルでは、トークン化されたデータに対してノイズ除去操作のみを適用できます。 **トークン化のステージ:** テキスト:文 ➔ 単語 ➔ 文字 <!-- **Example:** Output will be a list of tokenized texts - Words or Characters Dataset preview before applying: /image After applying /image --> #### c. ステミングとレンマタイゼーション 両方の手法は単語をルート形式に変換し、より一貫性のある分析のために単語のバリエーションを正規化するのに役立ちます。ステミングは末尾の文字を切り取ってルート形式を取得しますが、常に正しい単語になるとは限りません。一方、レンマタイゼーションはコンテキストを考慮して単語を辞書形式に変換するため、正確な意味を持つ適切な単語になります。 主な違いは、ステミングは高速ですが精度が低く、レンマタイゼーションはより正確ですが、語彙と文法に依存するため処理が遅いことです。 **サンプル:** <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Words</th> <th class="w30p">Stem word</th> <th class="w15p">Lemmatized word</th> </tr> </thead> <tbody> <tr> <td>Studying, Studies,<br>Studied</td> <td>Studi</td> <td>Study</td> </tr> <tr> <td>Running, Runner, Runs</td> <td>Run or Runn</td> <td>Run</td> </tr> <tr> <td>Changing</td> <td>Chang</td> <td>Change</td> </tr> </tbody> </table> <!-- **Example:** Dataset preview before applying: /image --> #### d. ストップワード除去 言語には、トレーニング中に重要な意味を持たない多くのフィラーワードがあります。これらを除去することで、モデルが重要な単語により集中できるようになります。冠詞、前置詞などがストップワードのカテゴリに含まれます。 <!-- **Example:** Dataset preview before applying: /image\ After applying /image --> #### e. ノイズ除去 対象の特徴に応じて、不要な単語やテキストの一部を除去します。例:NLPにおける感情分類ではメールアドレスは不要です。正規表現やノイズワードのリストを使用して実行できます。余分なスペース、特殊文字、数字もノイズと見なされる場合があります。 <!-- **Example:** Dataset preview before applying: /image After applying /image --> #### f. 正規化 異なる形式のテキストを標準形式に変換します。 例:USA、usa、United states of America、The united states of America、the usaをusaに統一します。これは辞書マッピングを使用して実現できます。 ノイズ除去もテキスト正規化の一部と見なすことができます。 <table class="content-table quickml-content-table"> <thead> <tr> <th class="w10p">Raw</th> <th class="w10p">Normalized</th> </tr> </thead> <tbody> <tr> <td> 2moro<br> 2mrrw<br> 2morrow<br> 2mrw<br> tomrw </td> <td>tomorrow</td> </tr> <tr> <td>b4</td> <td>before</td> </tr> <tr> <td>otw</td> <td>on the way</td> </tr> <tr> <td>:)<br>:-)<br>;)</td> <td>smile</td> </tr> </tbody> </table> <!-- Dataset preview before applying: /image\ After applying /image --> #### g. ラベルエンコーディング ラベルエンコーディングは、各カテゴリに一意の整数を割り当てることでカテゴリ変数を数値に変換する手法です。機械学習アルゴリズムがカテゴリデータを効果的に処理するのに役立ちます。 テキストデータのコンテキストでは、ターゲットラベルはさまざまなクラスを持つカテゴリ変数を表し、モデルを効果的にトレーニングするために数値形式に変換できます。 <!-- **Example:** Dataset preview before applying: /image algorithms to process categorical data effectively. In the context of text data, the target label represents a categorical variable with various classes that can be converted into numeric form to train the model effectively. **Example:** Dataset preview before applying:\ /image After applying\ /image --> これで、テキストデータがクリーニングされ、以下の特徴抽出ステージで利用可能なベクトル化手法を使用してワードベクトルに変換する準備が整いました。 ## ステージ2:特徴抽出 テキストデータをアルゴリズムに直接入力することはできません。まず数値形式に変換する必要があります。この変換にはいくつかの方法があり、ベクトル化手法として知られています。これらの手法は、ベクトル化されたデータから追加の特徴を抽出するためにも使用できます。このコンテキストでは、モデルに提示される各単語、文、または文字は特徴として扱われます。 QuickMLでは、以下の手法を使用してテキストから数値への変換が行われます。これは、テキストデータを単語やフレーズの意味的な意味を捉える数値形式に変換するプロセスです。 QuickMLで利用可能な手法は以下の通りです: #### a. Bag Of Words(BOW) Bag of Wordsは、テキストコーパス全体に含まれるユニークな単語の語彙を作成します。各文はベクトルとして表現され、これらの単語の存在に基づいてマッピングが行われ、値はその文内での各単語の出現頻度を表します。 **例:** 以下は、次の文に対するBag of Wordsモデルのベクトル化表現を示す例です: **S1.** Machine learning solves real world problems **S2.** NLP popularity is rising **S3.** Language translation is NLP task **Bag of Wordsのテーブル表現:** 行は提供された文を表し、列はこれらの文の各単語を表し、値は各文における特定の単語の出現頻度を表します。 **ベクトル表現:** 各文は、BOWテーブルからの単語カウントを持つベクトルとして表現されます。ベクトルの長さは語彙内のユニークな単語数と等しくなります。以下は、上記の3つの文のベクトル化表現です。 Sentence 1 → [ 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0] Sentence 2 → [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0] Sentence 3 → [0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1] BOWモデルはテキストデータをベクトルとして表現し、テキストコーパス内の各単語を特徴として扱います。データをモデリング用に簡素化しますが、単語の順序の重要性やその文脈的な意味を捉えることはできません。 #### b. TF-IDF(Term Frequency - Inverse Document Frequency) TF-IDFはコーパス内の各単語の重要度を定量化し、より良いパフォーマンスでモデルをトレーニングするのに役立つテキストデータから重要な特徴を抽出できます。TF-IDFスコアが高いほどその単語は重要であり、その逆も同様です。 3つのステップで計算できます。 **ステップ1:Term Frequency(TF)**は、ドキュメント内のユニークな単語の総数に対して、ある用語がドキュメント内でどの程度頻繁に出現するかを測定します。 単語のTerm Frequency(**TF**)= ドキュメント内での単語の出現回数 / ドキュメント内のユニークな単語の総数 **ステップ2:Inverse Document Frequency(IDF)**は、ドキュメント全体にわたって用語がどの程度重要かを測定します。 単語のIDF = log(N/n)、ここで**N**はドキュメントの総数、**n**はその単語が出現したドキュメントの数です。 **ステップ3:TF-IDFスコアの計算** **TF-IDF = TF * IDF** 出現頻度の低い単語のIDFは高くなり、一般的な単語のIDFは低くなります。したがって、「the、is、a」などの単語は重要度が低くなり、ドキュメント固有の実際の単語により高い重要度が与えられます。 **例:** Bag of Wordsのサンプル例を使用しましょう: **S1.** Machine learning solves real world problems **S2.** NLP popularity is rising **S3.** Language translation is NLP task **ステップ1:Term Frequency(TF)の計算** **ステップ2:IDFスコアの計算** **ステップ3:TF-IDFの計算** 各文の各用語についてTFにIDFを掛けます この例から得られる主なインサイトは以下の通りです: <u>**高いTF-IDF**</u>値は、ある用語が特定の文で重要であり、すべての文に共通ではないことを示します。 <u>**低いTF-IDF**</u>値は、ある用語が文全体で共通であるか、特定の文に固有ではないことを示します。 TF-IDFは、コーパス内のコンテキストを理解するために重要な単語を強調します。一部の単語や用語が他よりも特定のテキストにおいて重要であることを示します。 #### c. Word2Vec Word2Vecは、単語の意味的および文脈的関係に基づいて数値ベクトル(エンベディング)を生成する事前学習済みのワードエンベディングモデルです。大規模なテキストコーパスでトレーニングされ、類似の意味やコンテキストを持つ単語がベクトル空間で近い位置にエンベディングベクトルを持つようになります。これらの関係はコサイン類似度を使用して定量化でき、スコアが高いほど類似度が高いことを示します。 **例:** 「king」と「queen」のような単語は互いに近いベクトルを持ち、王族という共有コンテキストを反映します。同様に、「man」と「woman」はその関係と共有される意味を捉えたベクトルを持ち、Word2Vecが意味的関係を効果的にモデル化する能力を示しています。 #### d. GloVe GloVe(Global Vectors for Word Representation)は、Word2Vecと同様に、与えられた単語のエンベディングベクトルを生成する事前学習済みのワードエンベディングモデルです。これはカウントベースのモデルであり、コーパス全体から導出された単語の共起行列を分解することでエンベディングを生成します。GloVeは、コーパス全体にわたって単語がどの程度頻繁に共起するかを分析することで、グローバルな統計情報を捉えます。ローカルコンテキストに基づく予測的アプローチを使用するWord2Vecとは異なり、GloVeはトレーニングにグローバルな共起統計を使用します。トレーニング方法がWord2Vecと異なります。 **例:** GloVeでは、「king」と「queen」のような単語は類似のベクトルを持ち、意味的関係(例:王族)を反映します。さらに、GloVeは類推関係の捕捉に優れています。 **例えば:** king - man + woman ≈ queen この類推は次の変換を表します:「king」と「man」の関係(「kingがmanに対する関係は、queenがwomanに対する関係と同じ」と考えることができます)は、「man」を「king」から引いて「woman」を加えることで数学的に捕捉されます。結果は「queen」となり、kingがmanに対する関係と同様に、queenがwomanに対する関係をモデルが理解していることを意味します。 これは、「king」と「man」のベクトル差が「queen」と「woman」の差と類似していることを意味し、GloVeが意味と関係の両方を効果的にモデル化する能力を示しています。 ## ステージ3:アルゴリズムとモデリング テキストデータはベクトル化された形式でアルゴリズムに入力され、NLPモデルが生成されます。NLPモデルは、教師あり学習モデルと教師なし学習モデルに大別されます。QuickMLでは、ラベル付きデータを使用して教師あり学習モデルを構築するアルゴリズムが用意されています。 アルゴリズムは以下の通りです: - Naive Bayes - SVM ### モデル評価指標 NLPにも、精度、適合率、F1スコアなどの一般的な評価指標があります。 #### i. Log-Lossスコア Log-Loss(ロジスティック損失またはクロスエントロピー損失とも呼ばれます)は、自然言語処理(NLP)モデル、特に二値分類およびマルチクラス分類タスクで一般的に使用される評価指標です。Log-Lossは、予測確率と実際のクラスラベルの差を定量化します。データレコードの予測確率は、モデルが分類した各クラスに対して予測する確率です。 実際のクラスラベルは、データレコードが属する真のクラスです。Log-Lossスコアは、予測確率が実際のクラスラベルにどの程度近いかを示します。予測確率値が実際の値から乖離するほど、Log-Lossスコアは高くなります。 **ここで** iは与えられた観測値/レコード、 yは実際の/真の値、 pは予測確率、 lnは数値の自然対数(eを底とする対数値)、 Nは観測値の数です。 この指標は、出力が0から1の間の確率値である分類モデルのパフォーマンスを測定します。Log-Lossスコアが低いほどモデルの適合度が高く、パフォーマンスが優れています。Log-Lossスコアが0のモデルは完璧な予測能力を持っています。 <b>例:</b> スパム分類において、あるメールの実際のクラスが「Spam」であるとします。そのメールが「Spam」である予測確率は0.78、「Not-Spam」である予測確率は0.22です。正しいクラス(Spam)の予測確率の負の自然対数は0.2485であり、これがその特定のレコードのLog-Lossスコアを表します。モデルのLog-Lossスコアは、すべてのレコードにわたる正しいクラスの予測確率の負の自然対数の平均として計算されます。 #### ii. AUC-ROC曲線 AUC-ROC(Area under the Receiver Operating Characteristic)曲線は、分類モデルのパフォーマンスを測定する機械学習指標です。AUCはROC曲線の下の面積を表し、ROCはさまざまな分類閾値におけるTrue Positive Rate(TPR)とFalse Positive Rate(FPR)をプロットしたグラフです。 True Positive(TP)とFalse Positive(FP)は、分類モデルのパフォーマンスを評価するための混同行列で使用される用語です。 1. <u>**True Positive Rate(TPR)**</u>は、感度またはリコールとも呼ばれ、モデルによって正しく識別された実際の正のレコードの割合を測定します。 <center> <font color="red">Recall score</font> = TP/(TP+FN) where FN represents False Negatives. </center> 2. <u>**False Positive Rate(FPR)**</u>は、誤って正と分類された実際の負のレコードの比率を測定します。 <center> FPR = FP/(FP + TN) where TN represents True Negatives. </center> <center> FPR, is also calculated as: <font color="red">FPR = 1- Specificity</font> </center> Specificityは、モデルによって正しく識別された実際の負のインスタンスを測定します。 以下はAUC-ROC曲線の視覚的な解釈です。ROCはすべての可能な閾値にわたるTPRとFPRの間のプロットであり、AUCはROC曲線の下の全面積です。 AUC(Area Under the Curve)スコアは0から1の範囲であり、スコアが高いほどモデルのパフォーマンスが優れていることを示します。 1. <u>**AUCが1**</u>の場合、完璧なモデルを意味し、ROC(Receiver Operating Characteristic)曲線が完全な直角パスを形成し、0%のFalse Positive Rateで100%の感度(True Positive Rate)を達成します。 2. <u>**AUCが0.75**</u>の場合、モデルが正と負のクラスを75%の確率で区別する良好な能力を持っていることを示しますが、まだ改善の余地があります。 3. <u>**AUCが0.5**</u>の場合、モデルがランダムな推測と同程度のパフォーマンスしかないことを示し、最も望ましくない結果です。 AUCスコアが高いほど、クラス間のモデルの識別能力が優れていることを常に反映します。 ### 可視化 #### ワードクラウド ワードクラウドは、テキストコーパス内で最も頻繁に出現する単語を視覚的に表現したものです。ワードクラウド内の各単語のサイズは、その出現頻度を反映しています。ワードクラウドは、大規模なテキストデータセット内の最も顕著なキーワードやフレーズを素早く特定・強調するために一般的に使用され、議論されている主要な用語やコンセプトを伝えやすくします。 **例:** 「ナルニア国物語:ライオンと魔女」からの抜粋を例に取りましょう。 提供されたテキストに対して生成された以下のワードクラウドを分析し、頻繁に使用されている重要な単語を特定しましょう。 このワードクラウドにより、重要なキーワードを素早く抽出し、インサイトを得て、テキストの全体的なコンテキストを視覚的に魅力的かつ時間効率の良い方法で理解できます。 -------------------------------------------------------------------------------- title: "AutoML" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを構築できます。" last_updated: "2026-09-08T11:24:16.721Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/learning-center/automl/" service: "QuickML" -------------------------------------------------------------------------------- ### AutoMLとは? 自動機械学習(AutoML)は、機械学習モデルを構築するためのアプローチです。従来の手動で行われるタスクとは異なり、モデル開発タスクのプロセス全体を自動化します。 AutoMLは、データサイエンティストやMLエンジニアからビジネスオーナーやステークホルダーまで、さまざまなスキルレベルのユーザーがプログラミングの専門知識や統計知識を必要とせずに高品質なモデルを構築できるようにします。このアプローチにより、従来のプロセスとは異なり、アイデアから本番環境へのモデルの導入を短期間で加速できます。 ### AutoMLパイプラインの舞台裏 AutoMLには、前処理、特徴量エンジニアリング、アルゴリズム選択、ハイパーパラメータチューニング、モデル評価などのタスクが含まれており、手動介入なしに一括で実行されます。入力データを最適化して準備するために必要な操作を順次実行し、最終目標である高性能モデルが構築されるまでタスクを自動的に実行します。 AutoMLによって自動的に処理される機械学習モデル開発の一般的なステージは以下のとおりです: 1. **前処理** - AutoMLが最初に実行するステップは、生データをクリーニングして使用可能な形式に変換することです。欠損値、外れ値、エンコーディング、データの正規化を自動的に処理し、モデル入力用にデータを最適化します。 2. **特徴量エンジニアリング** - AutoMLは、ノイズや不要な特徴量を削減してデータのサイズと複雑さを軽減するか、モデルの性能と精度を向上させるために必要に応じて新しい特徴量を作成します。重要で最も関連性の高い特徴量をモデル構築に使用することで、高性能なモデルが得られます。 3. **モデル選択** - データセットに適した最良のフィットを見つけるために、さまざまなアルゴリズムがテストされます。AutoMLは、性能に基づいて最適なモデルを比較・特定します。 4. **ハイパーパラメータチューニング** - AutoMLは、高性能モデル構築の核心であるハイパーパラメータチューニングも実行し、最も効果的な組み合わせを見つけます。グリッドサーチ、ランダムサーチ、ベイズ最適化などの複数の手法を適用して、モデルの精度を向上させ、エラー率を低減します。 5. **モデル評価** - モデルごとに異なる評価指標が使用されます。チューニング後、モデルはバリデーションデータセットを使用して評価され、精度、適合率、再現率、F1スコア、平均二乗誤差などの主要な指標が評価されます。このステージにより、モデルの品質と性能が判定されます。 6. **アンサンブル手法** - AutoMLは必要に応じてアンサンブル手法も使用し、複数のモデルを組み合わせて精度と性能を向上させます。これらの手法は、異なるアルゴリズムの強みを融合することで精度を高めることができます。 ### QuickMLのAutoML QuickMLのAutoML機能は、必要なステージを備えた完全なパイプラインを自動的に生成し、カスタムパイプライン構築モードを反映したエンドツーエンドのソリューションを提供します。現在、QuickMLのAutoMLは予測モデルのみをサポートしており、入力データと特定のビジネス要件に合わせた分類、回帰、アンサンブルモデルの各種構築が可能です。 この効率化されたAutoMLプロセスにより、高品質でデータ駆動型の予測を確保しながらモデル開発を簡素化し、モデル構築ワークフローを加速したいユーザーにとって効果的なツールとなります。 #### QuickMLのAutoMLの主な利点 QuickMLは、AutoML機能により、機械学習モデル構築への効率的でアクセスしやすいアプローチを提供し、大きなメリットをもたらします。 - パイプラインステージの容易な解釈 - 数クリックでAutoMLを起動でき、非エキスパートにも使いやすい - リソース依存の軽減 - 最適化のための編集可能なパイプライン - リアルタイム予測のためのシームレスなエンドポイント作成 - モデル品質の一貫性と信頼性 - 時間とコストの効率化 - さまざまなユースケース(分類、回帰、アンサンブルモデル)に対応するスケーラブルで適応可能な設計 -------------------------------------------------------------------------------- title: "クラスタリング" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを構築できます。" last_updated: "2026-09-08T11:24:16.721Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/learning-center/clustering/" service: "QuickML" -------------------------------------------------------------------------------- ### はじめに クラスタリングは、類似するデータポイントを意味のあるクラスターにグループ化するプロセスであり、同じグループ内のアイテムは共通の特性を共有し、他のグループのアイテムとは異なります。これは**教師なし学習**の分野に属する機械学習の一分野であり、事前定義されたラベルや結果なしで動作します。正しいグループ分けが何であるかを指示されるのではなく、アルゴリズムがデータ内の隠れた構造を独自に発見します。これにより、クラスタリングは大規模で整理されていないデータセットを扱う際に特に価値があり、パターンの検出、自然なグループ分けの発見、複雑な情報のより理解しやすいセグメントへの簡素化に役立ちます。 本質的に、クラスタリングは「どのデータポイントが互いに類似しているか?」という問いに答えます。顧客セグメンテーション、画像認識、異常検知、ドキュメント分類など、多くの分野に適用できます。 注意: クラスタリング機能は、すべてのデータセンターで早期アクセスとして利用可能です。使用するには、support@zohocatalyst.com 経由でアクセスをリクエストしてください。 ### クラスタリングの背景にある直感的理解 クラスタリングの種類やアルゴリズムに入る前に、クラスタリングの直感的な理解から始めましょう。映画視聴者のデータセットがあり、各視聴者がジャンルごとの視聴映画数、平均評価、視聴頻度など複数の属性で記述されているとします。どの視聴者が似たような好みを持っているかは事前にはわかりません。 クラスタリングアルゴリズムを適用することで、各視聴者はすべての特徴にわたる全体的な類似性に基づいてクラスターに割り当てられます。最終的に、視聴者の自然なグループ分けが視覚的に確認できます。あるクラスターにはアクションやスリラー映画のファンが含まれ、別のクラスターにはコメディ愛好者、さらに別のクラスターにはロマンスやドラマを好む視聴者が含まれるかもしれません。アルゴリズムは、どの視聴者が類似しているかを一度も指示されることなく、視聴者行動の隠れたパターンを発見しています。 ### クラスタリング分析の主要成功基準 クラスタリングは本質的に反復的かつ探索的であり、ドメインの専門知識と人間の判断を必要とします。教師あり学習とは異なり、ラベル付けされた結果がないため、精度やRMSEなどの従来の指標を使用してパフォーマンスを評価することはできません。このため、クラスタリングモデルの評価は主観的であり、ビジネス目標に依存します。 **成功の主要基準は以下のとおりです:** - **解釈可能性**:ポイントがなぜグループ化されたかを説明できますか? - **ビジネスの有用性**:クラスタリングの出力はアクションにつながるインサイトを提供しますか? - **知識の発見**:データ内の新しいパターンや隠れた構造を発見しましたか? クラスタリングの成功は、アルゴリズムの出力とドメイン知識を組み合わせてクラスターを精緻化し、意味のあるインサイトを抽出することから生まれることが多いです。 ### クラスタリングのビジネス応用 クラスタリングは、データ内の自然なグループ分けを明らかにし、ビジネスが行動を取れるようにするため、以下のような幅広い業界で応用されています。 **小売とマーケティング** クラスタリングは、小売やマーケティングで顧客を予算重視の購入者、季節的な購入者、プレミアム顧客などのグループにセグメント化するために広く使用されています。これらのインサイトにより、企業はターゲットを絞ったキャンペーンを実施し、ロイヤルティプログラムを設計し、頻繁に一緒に購入される商品を特定して店舗レイアウトを最適化することもできます。 **eコマースとオンラインプラットフォーム** eコマースプラットフォームは、パーソナライゼーションのためにクラスタリングに大きく依存しています。閲覧履歴と購入履歴を分析することで、クラスタリングアルゴリズムは類似した行動を持つユーザーをグループ化し、各セグメントに合わせた商品レコメンデーションを生成できます。顧客以外にも、クラスタリングは膨大な商品カタログをカテゴリに整理するのに役立ち、異常な閲覧やレビューパターンは疑わしい活動としてフラグ付けできます。 **金融と銀行業** 金融セクターでは、クラスタリングは通常の取引クラスターと不正行為を表す可能性のある稀で孤立した外れ値を区別することで、不正検出に重要な役割を果たします。銀行は、支出パターンと収入レベルに基づいて顧客をセグメント化するためにもクラスタリングを使用し、カスタマイズされたクレジットカード、ローンオファー、投資ポートフォリオの設計を可能にします。同様に、アナリストは市場で類似した動きをする株式をグループ化するためにクラスタリングを使用し、ポートフォリオの分散に役立てています。 **ヘルスケアとライフサイエンス** ヘルスケアとライフサイエンスもクラスタリング技術の恩恵を受けています。患者記録をグループ化して疾病のサブタイプやハイリスク集団を特定でき、早期介入やパーソナライズされた治療計画をサポートします。遺伝子データや臨床データをクラスタリングすると、隠れた生物学的グループ分けが明らかになることが多く、創薬を加速します。病院は、治療コスト、入院期間、転帰によって患者を分類するためにもクラスタリングを使用し、運営効率の改善に役立てています。 **通信とテクノロジー** 通信会社は、通話やインターネット使用パターンによる顧客のグループ化などのユーザー行動を理解するためにクラスタリングを適用し、パーソナライズされたデータプランの作成に役立てています。ネットワークトラフィックの異常検出や、請求、ログインの問題、技術的な障害などのカテゴリにサポートチケットを自動的にグループ化してカスタマーサービスを効率化するためにも使用されています。 ### クラスタリングの動作方法 最も広く使用されている手法の1つであるK-Meansアルゴリズムを使用してクラスタリングを理解しましょう。 **ステップ1:クラスター数(k)の選択** プロセスは、アルゴリズムに特定させたいクラスターの数を決定することから始まります。kとして表されるこの数値は、精度と解釈可能性の最適なバランスを推定するのに役立つElbow Methodなどの統計的手法に基づいて決定できます。 **ステップ2:セントロイドの初期化** 次に、アルゴリズムはデータセットからk個のデータポイントをランダムに選択し、初期クラスターセントロイドとします。これらは、クラスターが形成され始める際の出発参照点として機能します。場合によっては、K-Means++などの改善された初期化方法が使用され、より良い開始位置を選択し、アルゴリズムの収束を速め、より信頼性の高い結果を生成するのに役立ちます。 **ステップ3:データポイントのクラスターへの割り当て** セントロイドが初期化されると、データセット内の各データポイントが、選択された距離メトリック(ユークリッド距離)に基づいて最も近いセントロイドに割り当てられます。ユークリッド距離は、空間内の2点間の距離を測定します。 2点(x1,y1)と(x2,y2)間のユークリッド距離の公式は以下のとおりです: Distance = √((x1 - x2)² + (y1 - y2)²) ここで(x1,y1)と(x2,y2)は2点の座標です。 このステップにより、データセットがk個のグループに効果的に分割され、各ポイントは最も近いセントロイドを持つクラスターに属します。 **ステップ4:セントロイドの更新** すべてのポイントが割り当てられた後、アルゴリズムは各セントロイドの位置を再計算します。これは、同じクラスターに属するすべてのデータポイントの平均を取ることによって行われます。新しい平均値が更新されたセントロイドの位置となり、以前よりもそのクラスターの中心をより正確に表します。 **ステップ5:割り当てと更新の繰り返し** ポイントの割り当てとセントロイドの更新のプロセスが反復的に繰り返されます。各イテレーションで、セントロイドは位置をわずかに調整し、アルゴリズムが境界を精緻化するにつれてポイントがクラスター間を移動する場合があります。このサイクルは、クラスターの割り当てが大きく変わらなくなるか、セントロイドの移動が最小限になるまで続きます。 **ステップ6:収束の確認** K-Meansは、セントロイドが安定し、イテレーション間で大幅に移動しなくなると収束したと見なされます。あるいは、事前定義された最大イテレーション数に達した場合にプロセスが停止することもあります。この段階で、アルゴリズムはクラスタリングプロセスが完了したと見なします。 **ステップ7:最終出力の生成** 最終ステップでは、各データポイントにそれが属するグループに対応するクラスターラベル(0、1、2、…、k–1など)が割り当てられます。最終的なセントロイド座標は、これらのクラスターの中心を表します。これらの結果は、顧客セグメンテーションなどのリアルタイムのユースケースに使用できます。 **例** 理解を深めるために、これらのステップを顧客セグメンテーションの例に適用してみましょう。 オンラインストアを運営しており、月間支出、購入回数、商品の好みなど複数の属性を持つ顧客のデータセットがあるとします。どの顧客が類似した行動を取るかは事前にはわかりません。 K-Meansなどのクラスタリングアルゴリズムを適用した後、各顧客はすべての特徴にわたる全体的な類似性に基づいてクラスターに割り当てられます。結果を可視化するために、データはComponent 1とComponent 2の2つのコンポーネントに次元削減されます。 各顧客は2D散布図上の点になります: - X軸:Component 1 - Y軸:Component 2 ポイントはクラスターに応じて色分けされます。この可視化により、顧客の自然なグループ分けが容易に確認できます。 上記のプロットから、形成された各クラスターは類似した属性と関心を持つ顧客のグループを表していることがわかります。企業はこれらの顧客セグメントをターゲットにして収益と利益を増加させることができます。 K-Meansはセントロイドベースのクラスタリングに分類されるアルゴリズムの1つです。QuickMLは、異なるタイプのクラスタリングに分類されるさまざまなアルゴリズムもサポートしています。クラスタリングの種類を見てみましょう。 ### クラスタリングの種類 クラスタリング手法は、それぞれ独自のアプローチと応用を持つ4つの主要タイプに大別できます。 **1. セントロイドベースのクラスタリング**:各クラスターを表す中心点(セントロイド)に依存します。データポイントは最も近いセントロイドのクラスターに割り当てられ、データポイントとこれらのセントロイド間の距離を最小化することでクラスターが形成されます。一般的な例は顧客セグメンテーションで、平均月間支出に基づいて購入者を予算、中間価格帯、プレミアムなどのカテゴリにグループ化します。 この可視化では、データポイントがセントロイド(赤いXマーカー)の周囲にグループ化されています。各色は異なるクラスターを示し、すべてのポイントは最も近いセントロイドのクラスターに属します。目標は、ポイントと割り当てられたセントロイド間の合計距離を最小化することです。この方法は、クラスターがおおよそ球形で均等なサイズであることを前提としており、単純でよく分離されたデータ分布に適しています。K-MeansやMiniBatchKMeansがセントロイドベースのクラスタリングの例です。 **2. メドイドベースのクラスタリング**:セントロイドに似ていますが、計算されたセントロイドの代わりに、メドイドと呼ばれる実際のデータポイントをクラスター代表として選択します。これにより、クラスターは実際の観測値に固定されるため、ノイズや外れ値に対してより堅牢になります。たとえば、通信会社は通話行動データから実際の代表的な顧客プロファイルを選択してユーザーをグループ化するために、メドイドベースのクラスタリングを使用する場合があります。 ここでは、クラスターはメドイド(赤いダイヤモンドマーカーで表示される実際のデータポイント)によって表されています。セントロイド(平均値)とは異なり、メドイドはデータセットからの実際の観測値であり、クラスター内の他のポイントとの合計非類似度を最小化します。これにより、極端な値がクラスター中心に与える影響が小さくなるため、ノイズや外れ値に対してより堅牢になります。プロットは、代表的なデータポイントの周囲にクラスターがどのように形成されるかを示しています。K-Medoids、CLARA、CLARANSがこの原則に従うアルゴリズムです。 **3. 密度ベースのクラスタリング**:データポイントの密な領域を特定してクラスターとして扱い、密度の低い領域をセパレータとする異なるアプローチを取ります。その強みの1つは外れ値の自然な検出であり、密な領域に属さないポイントはノイズとしてマークされます。典型的な応用は金融詐欺検出であり、密な領域は通常の支出行動に対応し、まばらなまたは孤立したポイントは疑わしい取引を示します。 このプロットでは、データ密度の高い領域に基づいてクラスターが形成されています。アルゴリズムは近くにあるポイントをグループ化し、低密度領域のポイントをノイズとしてラベル付けします(DBSCANでは-1などの異なる色でマークされることが多い)。このアプローチは、セントロイドやメドイドベースの方法では困難な複雑で非球形のクラスター形状(湾曲した「two moons」パターンなど)を捉えることができます。不規則な境界を持つデータセットや外れ値の検出が重要な場合(不正や異常検知など)に最適です。 **4. モデルベースのクラスタリング**:データが基礎となる確率分布の混合から生成されたと仮定し、ハードラベル(K-Meansのように各データポイントが正確に1つのクラスターに割り当てられる)ではなく、クラスターメンバーシップの確率を割り当てます。この確率的フレームワークは、重複する音声パターンをガウス分布の混合としてモデル化できる音声認識などの複雑なドメインで特に有用です。 この可視化は、データをガウス分布の混合としてモデル化して形成されたクラスターを示しています。各クラスターは1つのガウスコンポーネントに対応し、データポイントには確率的なメンバーシップがあります。つまり、ポイントは部分的に複数のクラスターに属することができます。色は各ポイントの最も可能性の高いクラスター割り当てを示します。この方法は、K-Meansよりも重複する楕円形のクラスターをよりよく処理し、より複雑で連続的なデータ分布に適しています。 注意: 各クラスタリングアルゴリズムは上記のクラスタリングタイプのいずれかに対応しており、その分類についてはクラスタリングアルゴリズムのヘルプドキュメントで提供されている詳細を参照できます。 ### QuickMLでクラスタリングパイプラインを構築する手順 QuickMLでのクラスタリングパイプラインの構築にはClassic Builderを使用し、クラスターの正確な特定とアクションにつながるインサイトを確保します。 **ステップ1:データ取り込み** プロセスはデータセットをQuickMLにロードすることから始まります。これがクラスタリングワークフローの基盤となります。このステップでは、CSVファイル、データベース、クラウドストレージシステムなどのさまざまなソースからデータをインポートします。 **ステップ2:前処理** データが取り込まれると、品質と一貫性を確保するための前処理フェーズを経ます。このステップには、補完や除去による欠損値の処理、ラベルエンコーディングやワンホットエンコーディングなどの手法によるカテゴリカル変数のエンコーディング、データ品質とモデルパフォーマンスを向上させるためのデータ変換技術の適用が含まれます。効果的な前処理はバイアスを低減し、距離ベースのアルゴリズムがすべての特徴を公平に扱うことを保証することで、クラスタリングの精度を向上させます。 **ステップ3:アルゴリズム選択** 前処理後、QuickMLではデータ特性と望む結果に基づいて適切なクラスタリングアルゴリズムを選択できます。K-Means、DBSCAN、BIRCH、Gaussian Mixture Models(GMM)などのアルゴリズムを、データセットがよく分離された、密度ベースの、または確率的なクラスター構造を持つかに応じて適用できます。正しいアルゴリズムの選択は、異なる方法がデータ内の異なるタイプの関係と構造を捉えるため、非常に重要です。 **ステップ4:モデルトレーニング** このステップでは、選択されたアルゴリズムが処理済みデータに適用され、自然なグループ分けを特定します。モデルは、定義された類似性または距離の尺度に基づいて類似するデータポイントを同じクラスターに割り当てることで反復的に学習します。K-Meansのクラスター数やDBSCANのイプシロン値などの主要パラメータが微調整され、意味のある安定した結果が生成されます。このフェーズの結果は、データセット内の隠れたパターンと構造を明らかにする独自のデータクラスターの特定です。 **ステップ5:クラスター評価** クラスターが形成された後、QuickMLはさまざまな統計指標を使用してその品質と妥当性を評価します。一般的に使用される指標には、各データポイントがクラスター内にどの程度適合しているかを測定するSilhouette Score、クラスターのコンパクトさと分離を評価するCalinski-Harabasz Score、平均クラスター類似性を評価するDavies-Bouldin Scoreが含まれます。これらの評価指標は、クラスタリング結果が実用的なアプリケーションに対して解釈可能で信頼性があるかどうかを判断するのに役立ちます。 ### クラスタリング評価指標 以下の評価指標は、グループがどの程度分離されているか、どの程度コンパクトか、クラスターがデータ内の意味のある類似性を明らかにしているかなど、クラスタリングモデルのパフォーマンスのさまざまな側面に関するインサイトを総合的に提供します。教師あり学習とは異なり、クラスタリングには事前定義されたラベルがないため、これらの指標はクラスターの品質を判断するためのガイド指標として機能します。 QuickMLでクラスタリングモデルの評価に一般的に使用される指標について説明します: **1. Silhouette Score** **内容**:データポイントが自身のクラスターと他のクラスターに対してどの程度類似しているかを測定します。 **直感的理解:** - Silhouette scoreは-1から+1の範囲です。 - 高いスコア(+1に近い)は、データポイントが適切にクラスタリングされており、密なグループ分けと他のクラスターからの明確な分離があることを示します。 - 0に近いスコアは、クラスターの重複またはクラスター間の境界上にあるポイントを示唆します。 - 負のスコア(-1に近い)は、ポイントが誤ったクラスターに割り当てられているか、クラスターが大幅に重複しているクラスタリングの品質の悪さを示します。 **推論の例:** Silhouette scoreが0.52の場合、クラスターはかなり良好に形成され分離されていますが、データポイント間にはまだ一部重複があることを意味します。 **2. Calinski-Harabasz Score** **内容**:クラスター間の距離(クラスター間分散)と各クラスター内のポイントの密度(クラスター内分散)を比較するスコアです。 **直感的理解:** - スコアは非有界で-∞から+∞の範囲です(高いほど良い)。 - 高いスコアは、クラスターが内部でコンパクトであり、他のクラスターからよく分離されていることを示します。 - 低いスコアは、クラスターが内部で広がっているか、明確に分離されていないことを示唆します。 **推論の例:** Calinski-Harabasz scoreが950の場合、クラスターが比較的密で明確に区分されており、良好な分離構造を示していることを示唆します。 **3. Davies-Bouldin Score** **内容:** クラスター内距離とクラスター間分離の比率に基づいて、クラスター間の平均類似性を測定します。 **直感的理解:** - スコアは-∞から+∞の範囲です(低いほど良い)。 - 低いスコアは、クラスターがより明確で重複が少ないことを意味します。 - 高いスコアは、クラスター間に顕著な類似性があり、分離が不十分であることを示唆します。 **推論の例:** Davies-Bouldin scoreが0.60の場合、クラスターはかなり良好に分離されていますが、完全には区別されておらず、一部の重複がまだ存在することを示します。 **4. クラスター数** アルゴリズムがデータセット内で特定した異なるグループの数を示します。 **推論の例:** モデルが3つのクラスターを出力する場合、データセットが3つの異なるグループ(たとえば、予算型、中間価格帯、プレミアム型の3種類の顧客セグメント)に意味を持って分割できることを示唆します。 ### クラスターの視覚的評価 数値スコアに加えて、クラスター評価はQuickMLでの可視化を通じても行うことができます。クラスター分布とクラスタープロットは、データ内のバランス、分離、構造について直感的な理解を提供します。 **1. クラスター分布** **内容:** ヒストグラムチャートを使用して各クラスターに含まれるデータポイントの数を表示します。 **直感的理解:** - バランスの取れた分布は、クラスターが比較的均等なサイズであることを意味し、自然なグループ分けを示すことが多いです。 - アンバランスな分布は、1つ以上のクラスターがサイズで支配的であることを意味し、実世界の支配性(例:ほとんどの顧客が1つのセグメントに属する)またはクラスタリング手法の制限を示唆する場合があります。 **推論の例:** Cluster 0に600ポイント、Cluster 1に150ポイント、Cluster 2に30ポイントがある場合、大部分のデータポイントがCluster 0に属し、Cluster 1と2はより小さなニッチグループを表すことを示唆します。 **2. クラスタープロット** **内容:** 散布図を使用して、低次元空間でクラスターがどのように分離されているかを可視化します(通常、次元削減のためにPCAまたはt-SNEを使用)。 **直感的理解:** - プロット内でよく分離されたクラスターは、クラスタリングアルゴリズムの良好なパフォーマンスを示します。 - 重複するクラスターは、割り当ての曖昧さを示唆し、アルゴリズムがグループを明確に分離するのが困難であったことを意味します。 **推論の例:** プロットに明確な境界を持つ視覚的に識別可能なグループが表示される場合、アルゴリズムが意味のあるクラスターを特定したことが確認されます。グループが大幅に重複している場合、異なるアルゴリズム(不規則な形状のためのDBSCANなど)をテストする必要があることを示唆します。 **3. モデル予測のダウンロード** **内容:** データセット全体に対するモデルのクラスタリング結果をエクスポートできます。各データポイントには、それが属するクラスターのラベルが付けられます。 **利点:** - データポイントからクラスターへの直接的なマッピングを提供し、QuickML外での個別の割り当て分析が容易になります。 - クラスタープロファイリング、外部データとの相互参照、ターゲットを絞ったアクション(特定の顧客セグメントへのマーケティングなど)などの下流分析が可能になります。 - どのデータポイントがどのクラスターに割り当てられたかを正確に確認できるため、透明性とトレーサビリティを提供し、検証とレポートに役立ちます。 **モデル予測をダウンロードするには** 1. 目的のモデル詳細ページに移動します。 2. **Visualizations**セクションまでスクロールします。 3. クラスタープロットチャートの上にある**View Model Predictions**ボタンをクリックします。 Model Predictionsポップアップウィンドウが表示され、予測をダウンロードできます。 -------------------------------------------------------------------------------- title: "異常検知" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを構築できます。" last_updated: "2026-09-08T11:24:16.721Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/learning-center/anomaly-detection/" service: "QuickML" -------------------------------------------------------------------------------- ### はじめに 異常検知は、データセット内の期待される動作から大幅に逸脱するデータポイント、イベント、またはパターンを特定するプロセスです。これらの異常な観測値は**外れ値**とも呼ばれ、不正行為、機器の故障、サイバーセキュリティの脅威、消費者行動の予期しない変化などの重大な状況を示す可能性があります。 QuickMLでは、異常検知に**教師なし学習アルゴリズム**を広く使用しています。アルゴリズムは事前定義されたラベルに依存せず、正常性のパターンを学習します。何が異常を構成するかを明示的に指示されるのではなく、アルゴリズムは正常な動作の理解を構築し、通常の期待範囲内に収まらないデータポイントを強調します。これにより、異常検知は異常がまれである場合、ラベルが利用できない場合、または正常なパターンが非常に動的な場合に特に価値があります。 クレジットカード取引のデータセットを想像してください。ほとんどの取引は金額、頻度、場所の観点から典型的なパターンに従います。しかし、外国での突然の高額購入は異常としてフラグ付けされる可能性があります。この異常をリアルタイムで検出することで、不正行為を防止し、顧客を保護し、金融機関のコストを節約できます。 注意: 異常検知機能は、すべてのデータセンターで早期アクセスとして利用可能です。使用するには、support@zohocatalyst.com 経由でアクセスをリクエストしてください。 異常検知で使用されるMLアルゴリズムについては、異常検知機械学習アルゴリズムのヘルプドキュメントを参照してください。 ### 異常検知のビジネスインパクト 異常検知は、組織が資産を保護し、運用を改善し、意思決定を強化することを可能にする、ビジネスクリティカルなプロセスです。異常検知が業界全体で不可欠な主要な理由は以下のとおりです: - **不正検出**:金融やeコマースでは、異常はしばしば不正行為に対応します。たとえば、顧客の通常の支出行動と比較して、外国からの異常に高額な購入は、クレジットカード詐欺の初期兆候である可能性があります。これらのパターンをリアルタイムで特定することで、経済的損失を防止し、顧客の信頼を守ります。 - **予知保全**:製造業や産業環境では、機械がセンサーデータを継続的に生成します。振動、温度、圧力の読み取り値の異常を検出することで、機械的な摩耗や故障の初期兆候を示すことができます。これらの異常を故障に至る前に予測して対処することで、ダウンタイムとメンテナンスコストを大幅に削減できます。 - **サイバーセキュリティとネットワーク保護**:異常検知は、システムログ、ネットワークトラフィック、ユーザーアクティビティにおける不規則性を特定するのに役立ちます。これらはサイバー攻撃、データ侵害、不正アクセスを示す可能性があります。たとえば、ログイン試行やデータ転送量の突然の急増は、即座の対応が必要なセキュリティ脅威を明らかにする可能性があります。 - **ヘルスケアとライフサイエンス**:ヘルスケアでは、異常検知は患者のバイタル、検査結果、医療画像データを監視して潜在的な健康リスクをフラグ付けできます。たとえば、酸素飽和度の突然の低下や不規則な心拍パターンは、状態が重篤になる前に医師に介入を警告できます。 - **運用インサイトと意思決定支援**:組織は異常検知を使用して、効率を改善し意思決定をサポートする隠れたインサイトを発見できます。たとえば、ウェブサイトトラフィックの異常な急増は、マーケティングキャンペーンの成功や予期しない顧客の関心を明らかにする可能性があります。 ### データ異常の原因 データ異常は、データの性質と収集環境に応じてさまざまな根本原因から発生する可能性があります。主な要因は以下のとおりです: - **人的エラー**:手動データ入力のミス、不正確なラベリング、システムの不適切な設定により、容易に不規則性が導入される可能性があります。たとえば、小数点の誤配置や不正確な日付形式は、分析結果を大幅に歪める可能性があります。レコードの更新忘れやエントリの重複などの単純な見落としも、異常なデータポイントにつながる可能性があります。 - **システム障害**:ハードウェアの故障、ソフトウェアの不具合、システム間の通信障害により、データが破損または歪む可能性があります。たとえば、データ送信中の一時的なネットワーク障害により、不完全または重複したエントリが生じる可能性があります。一方、ソフトウェアのバグにより、予期しない値や不整合が生成される可能性があります。 - **不正行為や悪意のある活動**:金融、サイバーセキュリティ、eコマースなどの分野では、異常はしばしば潜在的な不正行為や不正アクセスのシグナルとなります。異常に高額な取引、異常なログインパターン、ユーザー行動の突然の変化は、システムを悪用または操作しようとする意図的な試みを示す可能性があります。 - **環境的または外部的変化**:経済変動、市場のボラティリティ、季節変化などの外部条件の予期しない変化により、通常のデータパターンが変化する可能性があります。これらのイベントは、確立されたトレンドからの一時的または永続的な逸脱を引き起こす新しい変数を導入します。 ### 異常検知の種類 異常は、データの性質とコンテキストに応じていくつかのタイプに分類できます。以下のセクションでは、各タイプを対応する可視化と概念的な例とともに詳細に説明します。 1. **ポイント異常** ポイント異常は、単一の観測値がデータの残りの部分から大幅に逸脱する場合に発生します。これらは最も一般的な異常であり、通常は検出が容易です。 たとえば、クレジットカード取引のデータセットで、突然の高額取引がユーザーの以前の支出行動と一致しない場合、ポイント異常としてフラグ付けされる可能性があります。 解釈:上記のプロットは、いくつかのデータポイントが主要なデータクラスターから遠く離れた位置にあることを示しています。これらの孤立したデータポイントは、正常なデータポイントの大部分と大幅に異なるため、ポイント異常の明確な例です。 2. **コンテキスト異常** コンテキスト異常は、特定のコンテキスト内でのみ異常と見なされる観測値です。このタイプの異常は、同じ値がある条件下では正常であるが、他の条件下では異常である可能性があるデータセットで特に一般的です。 たとえば、10°Cの気温は冬には正常ですが、夏には異常となります。同様に、オンラインストアは休日のセール中に多数の購入を見ることがありますが、通常の日に同じ数は疑わしい活動を示す可能性があります。 解釈:プロットは、2つの異なるコンテキストを示しており、それぞれが別々のデータポイントのクラスターで表されています。これらのクラスターは、データが正常に振る舞う異なるパターンまたは環境を反映しています。強調されたポイントはクラスターの1つの近くにあり、データセット全体と比較するか、別のクラスターのコンテキストで評価すると正常に見えます。しかし、自身のクラスター内では(ローカルコンテキストにおけるポイントの特定の特性と分布と比較して分析すると)、そのポイントは異常として目立ちます。この状況は、観測値がより広いまたは異なるコンテキストでは正常に見えるかもしれないにもかかわらず、特定のコンテキストまたは条件下でのみ異常と見なされるコンテキスト異常を強調しています。 3. **集団異常** 集団異常は、関連するデータポイントのグループが全体として異常に振る舞う場合に発生し、個々のポイントは正常に見える場合でも発生します。 たとえば、株式市場データにおいて、企業の株価が連続数日にわたって一貫して下落する場合、このパターンが通常の変動から逸脱する場合、集団異常を表す可能性があります。 解釈:上記のプロットは、大部分のデータとは別に明確なクラスターを形成する小さなポイントグループを示しています。このグループ内の各ポイントは個別に評価すると正常に見える場合がありますが、その集団的な行動は全体的な分布から大幅に逸脱するパターンを明らかにします。これは集団異常の存在を示しており、異常は個々のデータポイントからではなく、互いの関係およびデータセットの残りの部分との関係から生じます。 ### 異常検知のカテゴリ QuickMLでは、異常検知には2つの広いカテゴリがあります:**時系列異常検知**と**非時系列異常検知**です。これらの各アプローチは、時間がデータの構造に役割を果たすかどうかに応じて、異なるタイプのデータセットでの外れ値の特定に焦点を当てています。 時系列と非時系列の異常検知の違いを示す比較表は以下のとおりです: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:25%;">特徴</th> <th style="text-align:left; width:37.5%;">時系列異常検知</th> <th style="text-align:left; width:37.5%;">非時系列異常検知</th> </tr> </thead> <tbody> <tr> <td>データ構造</td> <td>データポイントは時間でインデックス付けされ、順序に従います。</td> <td>データポイントは時間でインデックス付けされず、独立した観測として扱われます。</td> </tr> <tr> <td>時間的依存性</td> <td>時間的依存性、トレンド、季節性を考慮するアルゴリズムが必要です。</td> <td>データポイントは独立しており、時間的関係はないと仮定します。</td> </tr> <tr> <td>検出方法</td> <td>実際の値を過去のパターンまたは予測と比較して異常を検出します。</td> <td>特徴空間でのデータポイント間の類似性または距離を評価して異常を検出します。</td> </tr> <tr> <td>影響要因</td> <td>季節性、トレンド、時間における長期的な依存性の影響を受けます。</td> <td>特徴間の関係と複数の変数にわたるデータ分布の影響を受けます。</td> </tr> <tr> <td>一般的なアルゴリズム</td> <td>ARIMA、LSTM Autoencoders、Prophet、Isolation Forest(時間ベース)。</td> <td>Isolation Forest、One-Class SVM、DBSCAN、LOF。</td> </tr> <tr> <td>ユースケースの例</td> <td>株価、機械センサーの読み取り値、ネットワークパフォーマンスの時系列監視。</td> <td>不正取引、欠陥製品、異常な顧客行動の検出。</td> </tr> <tr> <td>主要な焦点</td> <td>時間経過に伴うパターンの逸脱に焦点を当てます。</td> <td>時間を考慮せずに特徴ベースの外れ値に焦点を当てます。</td> </tr> </tbody> </table> 時系列と非時系列の異常検知の主要な違いを理解したところで、より明確で包括的な理解を得るために、それぞれのアプローチを詳細に見ていきましょう。 ### 時系列異常検知 時系列異常検知は、各データポイントが特定のタイムスタンプに関連付けられた、順序的に収集・整理されたデータを扱います。このタイプのデータは、株価、サーバーパフォーマンス指標、センサーの読み取り値、ウェブサイトトラフィックなど、**値が時間とともにどのように変化するか**を反映します。時間はデータセットの固有の部分であるため、異常の検出にはトレンド、季節性、突然の逸脱などの時間的パターンの分析が含まれます。 時系列異常検知では、システムの動作が過去のパターンと比較して予期せず変化する瞬間を特定することが目標です。これらの異常は、突然のスパイク、急激な低下、またはデータの通常のリズムから外れる不規則な変動として現れることがあります。 時系列異常検知手法は、過去のトレンドから学習して将来の期待値を予測する予測モデルを使用することが多いです。実際の観測値が予測値から大幅に逸脱した場合、システムはそれを異常としてフラグ付けします。 #### 時系列異常検知の背景にある直感的理解 時系列データセットでは、観測値は時間順に並べられており、各データポイントは以前の値に依存する場合があります。異常の検出には、特徴間の関係に加えて、時間的パターン、トレンド、季節性の理解が含まれます。目標は、期待される時間的動作から逸脱するポイントまたは期間を特定することです。 - **時間的パターンの視点**:各観測値はシーケンスの一部であり、正常なポイントはトレンド、季節的なサイクル、繰り返しの変動など、時間経過に伴う予測可能なパターンに従います。異常はこれらのパターンを破り、期待される動作から逸脱する異常なポイントまたはシーケンスとして目立ちます。 - **トレンドと季節性の考慮**:確立されたトレンドからの突然のスパイク、低下、シフトはしばしば異常を示します。逸脱は期待される季節パターンに違反する場合にのみ異常となる可能性があるため、季節変化を考慮することが不可欠です。たとえば、高い売上値はホリデーシーズンには正常ですが、典型的なオフシーズンには異常である可能性があります。トレンドと季節性を適切にモデリングすることで、システムは期待される変動と真の異常を区別できます。 - **コンテキスト依存性**:時間ベースのコンテキストは重要です。同じ値がある時点では正常であるが、周囲のシーケンスに応じて別の時点では異常である可能性があるためです。さらに、複数の時間依存変数間の関係は、単一の系列を単独で分析した場合には明らかにならない異常を明らかにする可能性があります。これらの多変量時間依存性を考慮することで、複数の要素が一緒に観測された場合にのみ出現するパターンを捉えることで、検出精度が向上します。 - **時間経過に伴う密度と分布**:異常は、期待される時間分布内の低確率領域で発生することが多いです。予測範囲や過去のベースラインから遠く離れたポイントは異常としてフラグ付けでき、ガウス過程や過去の分布モデリングなどの確率的アプローチによりこれらの逸脱を定量化できます。時間経過に伴う観測の期待密度を理解することで、モデルは各ポイントが通常の時間的動作と比較してどの程度起こりにくいかを反映する異常スコアを割り当てることができます。 #### 時系列異常検知の主要成功基準 時系列異常検知は、時間経過に伴うデータポイントのシーケンスに焦点を当てます。成功は、時間的パターン、トレンド、季節性を捉えながら、解釈可能でアクションにつながるインサイトを提供することにかかっています。成功の主要基準は以下のとおりです: - **時間データの理解**:トレンド、季節性、短期および長期の依存性を正確にモデリングします。品質データの準備:欠損タイムスタンプ、不規則な間隔、一貫性のないサンプリングレートを処理します。 - **効果的な特徴量エンジニアリング**:時間的動作を捉えるために、ラグ特徴量、移動統計量(平均、分散)、差分、フーリエ変換を含めます。 - **代表的な過去のパターン**:誤検出を減らすために、トレーニングデータが稀な季節パターンを含む通常の時間変動を反映していることを確認します。 - **堅牢なモデル選択**:時間的依存性、トレンド、季節性を捉えることができるアルゴリズムを選択します。たとえば、ARIMA、AutoRegressor、Auto ARIMA、SARIMAなどです。 #### 時系列異常検知のビジネス応用 時系列異常検知は業界全体で幅広い応用があり、値が時間とともにどのように変化するかを監視することで、組織が異常なパターンを特定し、障害を防止し、データ駆動型の意思決定を行うのに役立ちます。 1) **金融と銀行業** 金融と銀行業における時系列異常検知は、不正行為やその他の不規則な活動を示す可能性のある異常なパターンについて、取引のシーケンスを監視するために使用されます。送金の突然のスパイク、異常な取引行動、非典型的な口座活動をリアルタイムでフラグ付けでき、銀行や金融機関が疑わしい行動を迅速に調査できるようにします。取引の時間的パターンを分析することで、モデルは正当な季節的または循環的な活動と、注意が必要な真の異常を区別できます。 2) **IoTと産業運用** IoTと産業運用では、時系列異常検知は機器と生産プロセスの監視に重要な役割を果たします。時間経過とともに収集されたセンサーの読み取り値は、機械の故障の初期兆候、パフォーマンスの逸脱、生産ラインの非効率性を明らかにする可能性があります。これらの異常を早期に特定することで、組織は故障が発生する前に予知保全をスケジュールし、ダウンタイムを削減し、最適な運用効率を維持できます。不規則な時間パターンの検出は、コストのかかる中断を防止し、機器の寿命を確保するのにも役立ちます。 3) **小売とeコマース** 時系列異常検知は、小売やeコマースでも売上、返品、ウェブサイトのアクティビティを時間経過とともに監視するのに価値があります。これらの指標の突然の低下やスパイクは、運用上の問題、顧客行動の変化、不正行為を示す可能性があります。時間パターンを分析することで、企業は通常の季節変動と真の異常を区別し、予期しないイベントへの迅速な対応、顧客体験の向上、運用意思決定の最適化を可能にします。 #### 時系列における単変量vs多変量予測 時系列異常検知では、分析されるデータは時間経過で追跡される変数の数に応じて**単変量**または**多変量**のいずれかになります。QuickMLでは、モデルが適切に適用されるようにデータをこのように分類しています。単変量予測は単一変数のトレンドに対してよりシンプルで計算効率が高く、多変量予測は複数の特徴間のインタラクションから生じる異常が単変量アプローチでは見逃される可能性がある場合に必要です。この区別により、正確な異常検知のために適切なモデリング戦略と特徴表現を選択するのに役立ちます。 時系列分析での異常の検出と解釈方法に直接影響するため、単変量データと多変量データの違いを理解することが重要です。 <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:25%;">特徴</th> <th style="text-align:left; width:37.5%;">単変量データ</th> <th style="text-align:left; width:37.5%;">多変量データ</th> </tr> </thead> <tbody> <tr> <td>定義</td> <td>時間経過で単一の変数を追跡します。</td> <td>時間経過で複数の相互関連する変数を追跡し、他の関連変数への依存性を考慮しながら単一のターゲット変数を予測します(多変量予測)。従来の予測モデルと同様の動作をします。</td> </tr> <tr> <td>焦点</td> <td>1つの指標のトレンド、季節性、変動を監視します。</td> <td>複数の指標のパターンとインタラクションを同時に監視します。</td> </tr> <tr> <td>異常検知</td> <td>単一変数の期待される動作からの逸脱をフラグ付けします。</td> <td>変数間の関係における不規則性に基づいて異常をフラグ付けし、単独では現れないパターンを捉えます。</td> </tr> <tr> <td>複雑さ</td> <td>よりシンプルで計算効率が高いです。</td> <td>より複雑で、変数間の依存性とインタラクションのモデリングが必要です。</td> </tr> <tr> <td>ユースケース</td> <td>ウェブサイトトラフィック、日次売上、電力消費、収益監視。</td> <td>小売分析(売上vsマーケティング支出)、株式市場分析(価格、出来高、ボラティリティ)、ヘルスケア監視(心拍数、血圧、酸素レベル)。</td> </tr> <tr> <td>強み</td> <td>実装と解釈が容易。単一指標の監視に適しています。</td> <td>変数のインタラクションから生じる微妙な異常を検出。複雑なパターンを捉えます。</td> </tr> </tbody> </table> #### 時系列異常検知の動作方法 最も広く使用されている予測ベースの手法の1つであるARIMA(AutoRegressive Integrated Moving Average)モデルを使用して、時系列異常検知を見ていきましょう。 1) **時系列データの理解** プロセスは、各値が特定のタイムスタンプにリンクされた順次データポイントの収集から始まります。たとえば、日次ウェブサイト訪問数、1時間ごとの気温読み取り値、分単位の株価などです。時間が重要な要素であるため、トレンド(全体的な成長または減少)や季節性(繰り返しのサイクル)などのパターンを特定することが重要です。 2) **予測モデルのトレーニング** ARIMAは過去の時系列データから学習し、その基礎となるパターンを理解します。3つのコンポーネントを組み合わせます: - **AR(自己回帰)**:過去の値を使用して将来の値を予測します。 - **I(和分)**:トレンドを除去してデータを定常にします。 - **MA(移動平均)**:過去の予測誤差を使用して予測を精緻化します。 モデルは、データが通常時間経過とともにどのように振る舞うかを捉えるようトレーニングされます。 3) **予測値の生成** トレーニング後、ARIMAは過去のパターンに基づいて次のデータポイントがどのようになるべきかを予測します。各タイムスタンプについて、モデルは期待される(予測された)値と正常な変動範囲を表す信頼区間を生成します。 4) **実測値vs予測値の比較** データセットからの実際の観測値がモデルの予測値と比較されます。観測値が期待される範囲(たとえば、予測信頼帯よりもはるかに高いまたは低い)から大きく外れている場合、それは異常なポイントと見なされます。 5) **異常の検出と報告** 時系列全体が分析されると、システムは大幅な逸脱が発生したタイムスタンプをフラグ付けします。たとえば、ネットワークトラフィックの突然のスパイクはサイバー攻撃を示す可能性があります。出力は通常、これらのタイムスタンプを強調し、さらなる調査のために検出された異常の数を表示します。 例:企業がウェブサイトの1時間ごとのトラフィックを監視しているとします。ARIMAは次の1時間に約1,200 ± 100訪問があると予測しますが、実際のカウントが突然400に低下しました。この値は期待される範囲から大きく外れているため、システムはそれを異常としてフラグ付けし、企業にサーバークラッシュや接続問題などの潜在的な原因の調査を促します。 #### 時系列異常検知パイプラインを構築する手順 QuickMLでは、時系列異常検知は**Smart Builder**を通じて実装されます。これは、時間経過に伴う観測が行われるデータセット向けに特別に設計されています。Smart Builderは、このプロセスを4つの主要ステージ(**Source → Preprocessing → Algorithm → Destination**)に構造化します。 **ステージ1:Source** パイプラインは、株価、機械センサーの読み取り値、日次売上などの時系列データセットの取り込みから始まります。これらのデータセットは順次的であるため、正しい時間ベースの入力を選択することで、システムが過去のパターンに対して異常を検出できるようになります。 **ステージ2:Preprocessing** Smart Builderは、異常検知のために生の時間ベースデータを自動的に準備します。 **頻度**:時系列データセットの場合、データは一定の頻度(日次、週次など)にリサンプリングされます。この標準化により、不規則なタイムスタンプによって歪められるのではなく、均一な間隔で異常が検出されることが保証されます。 **補完**:データセット内の欠損値は補完によって処理されます。このステップがないと、ギャップが異常として誤解されたり、真のパターンを認識するモデルの能力が歪められたりする可能性があります。 **変換**:変換により、トレンドやスケールの影響によって隠されるのではなく、異常がより明確に際立つようにデータセットが調整されます。Smart Builderでは、このステップを直接設定でき、ユーザーには**差分**と**べき乗変換**の2つの主要オプションがあります。 - **差分**:差分は、時系列の連続する観測値間の差を計算することで機能します。このプロセスは、系列のレベルの変化を除去することで平均を安定化させ、トレンドと季節性を効果的に削減または排除するのに役立ちます。差分の次数は、非定常系列を定常系列に変換するためにこの操作を何回適用するかを指定します。QuickMLでは、最大5次までの差分を指定できます。5次の差分後も系列が非定常のままである場合、利用可能なべき乗変換方法のいずれかを適用して分散をさらに安定化し、系列を異常検知に適したものにすることができます。 - **べき乗変換**:分散を安定化し、歪んだデータ分布を正規化します。これは、生データの値が非常に異なるスケールに分散している場合に特に有用で、小さい値の異常を検出しにくくします。QuickMLで利用可能なべき乗変換オプションは以下のとおりです: - **対数変換**:大きな値を圧縮し、小さな値を広げるために対数スケールを適用します。これにより、極端な外れ値によって隠される可能性のある異常が明らかになります。 - **平方根変換**:中程度の歪みを扱う際に有用です。高い値の影響を軽減しながら、小さな値間の相対的な差を維持します。 - **Box-Cox変換**:分散を安定化しデータセットを正規化するための最適なべき乗パラメータ(λ)を自動的に決定する柔軟なオプションです。値が厳密に正で分布が大きく歪んでいる場合に特に効果的です。 - **Yeo-Johnson変換**:Box-Coxに似ていますが、ゼロまたは負の値でも動作するため、厳密に正でないデータセットに対してより汎用性があります。 **ステージ3:Algorithm** 前処理が完了すると、Smart BuilderはIsolation ForestやOne-Class SVMなどの時系列異常検知用に設計されたアルゴリズムを適用します。これらのモデルは正常な時間的動作を学習し、突然のスパイク、低下、不規則なシーケンスとして現れる逸脱を潜在的な異常としてフラグ付けします。 **ステージ4:Destination** 最後に、Smart Builderはサポートメトリクスと可視化とともに異常を出力します。これらの結果により、ユーザーはフラグ付けされた異常を検証し、コンテキストを解釈し、タイムリーなアクションを取ることができます。システムは、より迅速な意思決定のためにアクセスしやすい形式で異常が提示されることを保証します。 ### 非時系列異常検知 非時系列異常検知は、固有の時間的順序を持たないデータを扱います。つまり、個々のデータポイントは時間やシーケンスから独立しています。各観測値は、連続するタイムラインの一部ではなく、独立したインスタンスとして扱われます。例としては、クレジットカード取引、医療記録、ネットワークパケット、製品レビュー、製造測定値があります。 非時系列異常検知では、データセットの大部分と異なる動作をするデータポイントを特定することが目標です。時間コンポーネントがないため、非順次データでの異常検出は、時間的パターンではなく空間的、関係的、または統計的パターンに焦点を当てます。手法はデータの分布と構造を分析し、各ポイントが正常な母集団からどの程度逸脱しているかを測定します。 #### 非時系列異常検知の背景にある直感的理解 非時系列データセットでは、観測値は静的であり、時間から独立しています。異常の検出には、複数の特徴間の関係の理解が含まれます。目標は、正常な動作と異常な動作を分離する境界を定義することです。 - **特徴空間の視点**:各観測値は高次元空間のポイントとして可視化できます。正常なポイントは一緒にクラスター化し、異常はこれらのクラスターから遠く離れた位置にあります。 - **密度ベースの思考**:異常はデータポイントがほとんど存在しない低密度領域で発生することが多いです。アルゴリズムはこの直感を使用して異常スコアを割り当てます。 - **多変量依存性**:複数の特徴間の関係を考慮する必要があります。ポイントは個々の次元に沿っては正常に見えるかもしれませんが、他の特徴と組み合わせると異常になる可能性があります。 - **コンテキスト認識**:カテゴリカルまたはグループ化されたデータでは、正常性はグループ間で異なる場合があります。この文脈的な変動を理解することは、正確な検出に不可欠です。 #### 非時系列異常検知の主要成功基準 非時系列異常検知は、時間経過のシーケンスではなく、静的または独立したデータポイントに焦点を当てます。成功は、これらの静的データセット内の異常パターンを正確に特定し、特徴間の関係を理解し、解釈可能でアクションにつながるインサイトを提供することにかかっています。成功の主要基準は以下のとおりです: - **品質データの準備**:データがクリーンで一貫性があり、正常な動作を代表していることを確認します。 - **効果的な特徴量エンジニアリング**:動作の意味のある変動を捉える特徴を選択します。数値属性とカテゴリカル属性を組み合わせることで、正常性のより豊かな表現が提供されます。 - **代表的な正常サンプル**:トレーニングデータは正当なパターンの全範囲をカバーし、有効な変動の異常としての誤分類を防ぐ必要があります。 - **堅牢なモデル選択**:選択されたアルゴリズムは、ノイズ、外れ値、異なるデータ分布を処理できる必要があります。 #### 非時系列異常検知のビジネス応用 非時系列異常検知は、通常のパターンから逸脱する異常なデータポイントや動作を特定するために多くの業界に適用されています。このタイプのデータは時間に依存しないため、組織がまれなまたは疑わしいイベントを検出し、幅広い運用にわたる意思決定を強化するのに役立ちます。 1) **ヘルスケア** ヘルスケアでは、非時系列異常検知は、エラー、まれな疾病、保険請求における潜在的な不正行為を示す可能性のある異常な患者記録や診断結果を見つけるために使用されます。たとえば、単一の患者に対する異常に多い処置数や、通常の範囲から大きく逸脱する医療検査結果は、さらなるレビューのためにフラグ付けできます。これらの不規則性の検出は、患者の安全性の向上、請求詐欺の削減、医療システムにおけるデータ精度の維持に役立ちます。 2) **人事と採用** 人事と採用では、異常検知は予期しない給与水準、一貫性のないパフォーマンス指標、不規則な応募パターンなど、異常な従業員データの特定に役立ちます。これらの外れ値の検出は、組織が公平性を維持し、データエラーを検出し、ポリシー違反の可能性を防ぐのに役立ちます。また、優秀な人材や労働力の問題の初期兆候を見つけるのにも役立ちます。 3) **サイバーセキュリティ** サイバーセキュリティでは、異常検知は典型的なユーザー行動と異なる疑わしいネットワーク活動やシステムアクセスパターンの特定に役立ちます。たとえば、異常な場所からのログイン試行、不正なデータアクセス、異常なファイル転送は、潜在的なサイバー攻撃やインサイダー脅威を示す可能性があります。ネットワークデータの関係と特性を分析することで、セキュリティシステムは時間ベースのシーケンスに依存せずに、脅威を迅速に検出して対応できます。 #### 非時系列異常検知の動作方法 次に、高次元のテーブルデータに適した一般的な手法であるIsolation Forestアルゴリズムを使用して、非時系列異常検知を理解しましょう。 1) **データセットの理解** 非時系列データでは、各レコードは複数の特徴を持つ独立した観測として扱われます(たとえば、顧客の年齢、収入、支出スコア)。タイムスタンプや順序はなく、目標は他の大部分のデータと非常に異なるデータポイントを見つけることです。 2) **ランダムツリーの構築** Isolation Forestは、データセットをより小さなセクションに繰り返し分割することで、多くのランダムな決定木を作成します。各分割では、特徴と分割値がランダムに選択されます。アイデアは、正常なデータポイントは孤立するためにより多くの分割が必要であるのに対し、異常はまれで異なるため、より少ない分割で素早く孤立するということです。 3) **孤立の深さの測定** すべてのデータポイントについて、アルゴリズムはすべてのツリーにわたって孤立させるために必要な平均分割回数(パス長)を計算します。 - ポイントが素早く孤立した場合、それは異常である可能性が高いです。 - 多くの分割が必要な場合、それは正常と見なされます。 4) **異常スコアの計算** 各レコードについて、平均パス長に基づいて異常スコアが計算されます。1に近い値はより強い異常を示し、0に近い値は正常な動作を示唆します。 5) **異常の検出と報告** 最後に、モデルは高い異常スコアを持つレコードを外れ値として分類し、データセット内で検出された異常の数を報告します。これらのポイントを調査して、なぜ正常から逸脱しているのかを理解できます。たとえば、不正取引やデータ入力エラーなどです。 例:銀行が顧客取引を分析しているとします。ほとんどの顧客の支出は$50から$500の間ですが、$10,000以上の取引が突然現れます。Isolation Forestは、これらの高額取引を非常に少ない分割で孤立させ、異常としてフラグ付けし、そのような疑わしいケースがいくつ存在するかを報告します。これにより、銀行は潜在的な不正に集中できます。 #### 非時系列異常検知パイプラインを構築する手順 顧客取引、従業員記録、アンケート回答などの非時系列データの場合、異常検知パイプラインは**Classic Builder**を使用して構築されます。ここでは、データが順次的でないため、周波数の整合と時間的変換はスキップされます。代わりに、Classic Builderはテーブルデータを直接準備し、アルゴリズムを適用して、異常または疑わしいレコードを強調する異常を出力します。 Smart Builderを時系列データに、Classic Builderを非時系列データに分離することで、QuickMLは各異常検知パイプラインがデータセットの固有の構造に合わせてカスタマイズされ、精度と解釈可能性の両方が向上することを保証します。 **ステージ1:データ取り込み** プロセスはデータセットをQuickMLにロードすることから始まります。これが異常検知ワークフローの基盤となります。このステップでは、CSVファイル、リレーショナルデータベース、API、クラウドストレージシステムなどのさまざまなソースからデータをインポートします。非時系列データは時間的順序に依存しないため、各レコードは独立した観測として扱われます。正確で完全なデータ取り込みを確保することは、信頼性の高い異常検知結果に不可欠です。 **ステージ2:前処理** データがインポートされると、精度、一貫性、分析の準備を確保するための前処理フェーズを経ます。このステップには、補完や除去による欠損値の処理、ラベルエンコーディングやワンホットエンコーディングによるカテゴリカル変数のエンコーディングが含まれます。効果的な前処理により、異常がデータ品質の問題ではなく真の不規則性を反映することが保証され、検出モデルのパフォーマンスと解釈可能性が向上します。 **ステージ3:アルゴリズム選択** 前処理後、QuickMLではデータセットの特性と期待される異常の性質に基づいて適切な異常検知アルゴリズムを選択できます。一般的なアプローチには、Isolation Forest、One-Class SVM、Local Outlier Factor(LOF)が含まれます。各アルゴリズムは、正常なデータと異常を区別するために異なる原則を使用します。データセット内の固有のパターンと関係を正確に捉えるために、正しい手法を選択することが重要です。 **ステージ4:モデルトレーニングと検出** このステップでは、選択されたアルゴリズムが処理済みデータに対してトレーニングされ、データセットの正常な動作または構造を学習します。トレーニング中、モデルは典型的なパターン、境界、または分布を特定し、その後各インスタンスを評価して学習した規範から大幅に逸脱するものを検出します。 **ステージ5:異常レポート** モデルが異常を特定した後、QuickMLはデータセット内で検出された異常の数を表示して結果を要約します。この出力は、トレーニング済みモデルに基づいて通常のパターンから逸脱しているデータポイントの数の明確な概要を提供します。 ### 異常検知の評価指標 以下の評価指標は、異常検知モデルが正常な動作からの逸脱をどの程度うまく特定しているか、および基礎となる予測がどの程度正確であるかを評価するのに役立ちます。これらの指標は、予測誤差、モデルの信頼性、および最終的にフラグ付けされた異常に置くことができる信頼を定量化します。 #### 平均絶対パーセント誤差(MAPE) **内容**:MAPEは、モデルの予測値がパーセンテージで実際の観測値からどの程度逸脱しているかを平均的に測定します。実際のデータの大きさに対する予測誤差のサイズを表し、異なるデータセットやスケール間で直感的に解釈しやすいです。この指標は、絶対差ではなくパーセンテージの逸脱でモデルの予測精度を理解する必要がある場合に特に有用です。 **直感的理解**: - MAPEが低いほど、モデルの予測が実際の値に近いことを示します。 - MAPEが非常に高い場合、モデルの精度が低いか、実際の値が非常に小さいためパーセンテージ誤差が膨らんでいることを示します。 **推論の例**:MAPEが**15%**の場合、予測が実際の値から平均15%逸脱していることを意味します。 #### 対称平均絶対パーセント誤差(SMAPE) **内容**:SMAPEは、過大予測と過小予測を同等に扱うことでMAPEを改善します。これにより、特にデータセットに小さい値やゼロ値が含まれ、従来のパーセンテージ誤差を歪める可能性がある場合に、より公平でバランスの取れた指標となります。SMAPEは、予測値と実際の値の平均と比較して予測誤差がどの程度大きいかを表し、実際の値がゼロに近い場合でも指標が安定していることを保証します。 **直感的理解**: - SMAPEは0%(完璧な予測)から200%(完全に不正確)の範囲です。 - データセットに非常に小さい値やゼロ値が含まれている場合、不釣り合いに大きな誤差を回避するためにMAPEよりも好まれます。 **推論の例**:SMAPEが**18.68%**の場合、平均的に予測が対称的な方法で実際の値から18.68%逸脱していることを示し、多くの実世界の異常検知タスクにおいてかなり許容できるレベルの誤差です。 #### 平均二乗誤差(MSE) **内容**:MSEは予測値と実際の値の間の二乗差の平均を計算します。誤差を二乗することで、大きな逸脱が強調され、大きなミスがスコアにはるかに強い影響を与えます。これにより、MSEはデータセット全体で予測誤差がどの程度大きく変動するかを理解し、大きなコストのかかる誤差を起こしている可能性のあるモデルを特定するのに価値があります。 **直感的理解**: - MSEが0は完璧な予測を意味します。 - MSEの値が高いほど、予測誤差のレベルが高いことを示します。 - 誤差が二乗されるため、大きな逸脱が不釣り合いに寄与し、MSEは外れ値に敏感です。 **推論の例**:提供された出力でMSEが**0**の場合、モデルの予測が観測値と完全に一致していることを意味し、理想的なケースです。 #### 二乗平均平方根誤差(RMSE) **内容**:RMSEはMSEの平方根であり、元のデータと同じ単位で誤差指標を提供するため、より解釈しやすくなります。予測誤差の標準偏差、つまり残差が実際の値の周りにどの程度分散しているかを表します。RMSEは、モデルを比較したり予測の一貫性を評価する際に特に有用です。 **直感的理解**: - RMSEは予測変数と同じ単位で表されるため、MSEよりも解釈しやすいです。 - RMSEが低いほど、予測精度が高いことを意味します。 **推論の例**:RMSEが**0.0041**の場合、平均的に予測誤差が非常に小さく、実際の値に近いことを示します。 #### 平均二乗対数誤差(MSLE) **内容**:MSLEは予測値と実際の値の対数の二乗差を測定します。絶対差ではなく相対誤差を強調するため、複数のスケールにまたがるデータや指数関数的な成長(人口、売上、ウェブトラフィックなど)を含むデータに最適です。MSLEは実際の値に比例的に近い予測を報奨し、過大予測よりも過小予測をより強くペナルティとして課します。これは、スパイクを見逃すことが過大予測よりも深刻な場合に有用です。 **直感的理解**: - MSLEは過大予測よりも過小予測をより強くペナルティとして課します。 - データが複数の桁にまたがる場合(指数関数的な成長パターンなど)に最適です。 **推論の例**:MSLEが**0**の場合、対数スケールでの予測値と実際の値の完全な一致を示し、重大な過小または過大予測がないことを意味します。 #### 二乗平均平方根対数誤差(RMSLE) **内容**:RMSLEはMSLEの平方根であり、相対的な予測精度への焦点を維持しながら、解釈しやすくなります。大きな外れ値に過度に影響されることなく、モデルの予測が実際の値からどの程度異なるかをパーセンテージのような形で評価するのに役立ちます。RMSLEは、相対的な成長や比例的な差異が正確な数値精度よりも重要な問題に特に有用です。 **直感的理解**: - RMSLEは大きな絶対誤差に対する感度は低いですが、相対的な精度を強調します。 - パーセンテージの差異が生の差異よりも重要な場合に特に有用です。 **推論の例**:RMSLEが**0.0041**の場合、対数スケールでの予測誤差が非常に低く、高品質な予測が確認されます。 #### 異常の数 **内容**:この指標は、データセットの処理後にモデルによって異常としてフラグ付けされたデータポイントの数を表します。システムが正常な動作からの逸脱をどの程度頻繁に検出するかの直接的な指標を提供します。 **直感的理解**: - 非常に多い異常の数は、モデルが過度に敏感である可能性(多くの誤検出)を示す場合があります。 - 非常に少ない数は、モデルが厳しすぎて意味のある異常を見逃している可能性を意味します。 **推論の例**:モデルが**42**の異常を検出した場合、それらが需要の突然のスパイクやセンサーの障害などの意味のあるイベントに対応しており、ランダムノイズではないことを確認するためにレビューできます。 **これらの指標を一緒に使用する方法** 単一の指標だけではモデルのパフォーマンスの全体像は語れません。予測誤差指標(MAPE、SMAPE、MSE、RMSE、MSLE、RMSLE)は、モデルが通常の動作をどの程度正確に予測しているかを示し、異常の数はモデルがどの程度頻繁に逸脱をフラグ付けしているかを示します。これらを総合的に使用して、全体的な見方を得てください。 **例**:モデルのRMSEが0.0041、MAPEが15%で、データセット内で42の異常を検出したとします。低いRMSEと適度なMAPEは予測が実際の値に非常に近いことを示し、異常の数は妥当であり、モデルが正確で適切に敏感であることを示唆します。代わりにモデルが300の異常をフラグ付けした場合、過度に敏感で多くの誤検出を生成していると疑われる可能性があります。 これらの指標を一緒に解釈することで、予測精度と意味のある異常検知のバランスを取り、アクションにつながるインサイトに対する信頼を得ることができます。 注意: 非時系列異常検知では、時間依存の予測が関与しないため、検出された異常の数のみに焦点を当てて評価します。MAPE、MSE、RMSEなどの指標は、モデルが順次的な値を予測しないため適用されません。 ### 異常の視覚的評価 視覚的評価は、時系列異常検知モデルのパフォーマンスを検証するための重要なステップです。予測された異常を実際の時系列動作と比較することで、モデルの出力の定性的な評価が可能になります。この可視化により、ユーザーは以下のことができます: - 検出された異常がデータの実際の変化と一致しているかを素早く検証する。 - 誤報または見逃した異常を特定する。 - 異なる時間セグメントとトレンドにわたるモデルの信頼性に関するインサイトを得る。 **内容**:この可視化は、モデルが時系列データセット内の異常をどのように特定するかを示しています。チャートは時間経過に伴う実際のデータ値をプロットし、期待される(正常な)範囲を強調し、大幅に逸脱するポイントを異常としてマークします。 **直感的理解**: - **緑の線**:時間経過に伴う実際の観測値を表します。 - **灰色の網掛け領域**:モデルに基づく正常な動作の期待または予測範囲を示します。 - **赤い丸**:実際の値が期待範囲から大幅に逸脱した、異常として検出されたポイントを強調します。 - 赤い異常ポイントが灰色の期待範囲外の明確なスパイク、低下、逸脱と一致している場合、モデルが異常なパターンを正確に捉えていることを示します。 - 少数のよく配置された異常は、モデルが安定して正確であることを示唆します。 - 正常な領域内に頻繁またはランダムな異常ポイントがある場合、しきい値が過度に敏感であるか、検出にノイズがある可能性を示します。 **例**:系列の鋭いピーク(値の突然の増加など)で異常が現れる場合、それは真の外れ値や予期しないイベントを示唆します。通常の変動中に異常が現れる場合、誤検出を減らすためにモデルのしきい値調整が必要な可能性を示します。 ### 大規模言語モデル -------------------------------------------------------------------------------- title: "LLM サービング" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを構築できます。" last_updated: "2026-09-08T11:24:16.737Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/generative-ai/llm-serving/" service: "QuickML" -------------------------------------------------------------------------------- ## 大規模言語モデル(LLM)の概要 **大規模言語モデル(LLM)**は、書籍、ウェブサイト、記事などの膨大なデータから学習したパターンに基づいて、人間のようなテキストを生成するよう訓練された高度なAIシステムです。特にTransformerニューラルネットワークアーキテクチャを活用する深層学習技術を利用しており、入力のシーケンス全体を並列処理します。これは、入力を順次処理していた初期のモデル(Recurrent Neural Networks(RNN)など)とは異なります。この並列処理により、GPUを効率的なトレーニングに使用でき、プロセスを大幅に加速します。このトレーニングには通常、教師なし学習または自己教師あり学習が含まれ、モデルはデータ内のパターン、文法、コンテキストを認識することで文中の次の単語を予測することを学習します。 注意: QuickMLのLLM Serving機能は、現在US、IN、EUデータセンターで利用可能です。 ### LLMの仕組み 大規模言語モデル(LLM)の動作方法の基本的な側面は、単語の表現方法にあります。初期の機械学習モデルは、個々の単語を表現するために単純な数値テーブルに依存しており、単語間の関係、特に類似した意味を持つ単語間の関係を捉えることが困難でした。この制限は、ワードエンベディングと呼ばれる多次元ベクトルの導入によって解決されました。これらのエンベディングは、意味的または文脈的に類似した単語が互いに近くに配置されるベクトル空間に単語をマッピングします。 これらのエンベディングを使用して、Transformerはエンコーダーを使用してテキストを数値形式に変換し、モデルがコンテキスト、意味、および言語的関係(同義語や文法的役割など)を把握できるようにします。この処理された理解は、デコーダーによって使用され、意味のある一貫性のあるテキストを生成し、LLMが自然言語の構造と流れを反映した応答を生成できるようにします。 ### LLMの応用 LLMは、さまざまな業界にわたるリアルタイムのAI搭載ソリューションを可能にします。LLMが大きなインパクトを与えている主要な応用分野は以下のとおりです: **チャットボットとバーチャルアシスタント** LLMは、カスタマーサービス、eコマース、エンタープライズサポートで使用されるAI駆動のチャットボットとバーチャルアシスタントを支えています。これらのアシスタントは、顧客の問い合わせに対応し、自動応答を提供し、トラブルシューティングを支援できます。企業はこれらを活用してユーザー体験を向上させ、応答時間を短縮しています。 **コンテンツ生成と要約** 組織はLLMを活用して、記事、レポート、製品説明などの高品質なコンテンツを生成しています。さらに、LLMは長いドキュメントやニュース記事を簡潔で読みやすい形式に要約し、ユーザーの時間と労力を節約します。 **コード生成とデバッグ** 開発者は、複数のプログラミング言語でのコードの記述、最適化、デバッグを支援するLLMの恩恵を受けています。これらのモデルは、即座にコード提案と説明を提供することでソフトウェア開発を効率化し、開発時間を短縮します。 **言語翻訳とローカライゼーション** LLMは、企業や個人にリアルタイムで文脈認識的な翻訳を提供することで翻訳サービスを強化します。これは、異なる言語を話す人々の間のシームレスなインタラクションを可能にするグローバルコミュニケーションに特に有用です。 **画像とテキスト分析(マルチモーダルAI)** Qwen 2.5 - 7B Vision Languageなどの高度なマルチモーダルLLMは、テキストと画像の両方を処理します。これらのモデルは、画像を記述し、オブジェクトを認識し、視覚的な質問に答えることができます。ヘルスケア、アクセシビリティ、デジタルコンテンツモデレーションなどの業界では、自動化と意思決定の強化のためにこれらの機能を使用しています。 ## LLM Servingの理解 LLM Servingは、大規模言語モデル(LLM)をデプロイして実行し、予測や応答のリアルタイムリクエストを処理できるようにすることを意味します。LLMがトレーニングされると、テキスト生成、質問応答、言語翻訳、大規模データセットの理解・分析など、さまざまなタスクの実行に使用できます。 ### LLM Servingの目的 LLM Servingの主な目的は、トレーニング済みモデルとその実世界での使用との間のギャップを埋めることです。これにより、組織は以下を実現できます: - 本番環境でのAIモデルの運用化 - リアルタイムの同時リクエストに対応するためのスケーラビリティと信頼性の確保 - 製品、ツール、ビジネスプロセスへのシームレスな統合 - LLMを研究ツールから、ビジネス成果を推進する実用的で使用可能なシステムへの変換 ## LLM Servingのアーキテクチャ 適切に構造化されたアーキテクチャにより、LLMサービングシステムが効率的に動作し、迅速に応答することが保証されます。通常、以下のレイヤーで構成されます: - **クライアントレイヤー**:質問やテキスト入力など、ユーザーやアプリケーションからのリクエストを受信します。 - **APIレイヤー**:リクエストをLLMが理解できる形式に変換し、モデルに送信します。 - **モデルレイヤー**:LLMを実行し、リクエストを処理して応答を生成します。 - **データレイヤー**:入出力データを処理し、モデルとユーザー間のスムーズなデータフローを確保します。 ### QuickMLにおけるLLM Servingの独自機能 QuickMLにより、チャットインターフェース内でさまざまな大規模言語モデル(LLM)を簡単に使用できます。ユーザーはニーズに応じて異なるモデルを選択し、リアルタイムの応答を取得できます。 限定的または固定的なパラメータチューニングしか提供しない多くの競合プラットフォームとは異なり、QuickMLは広範なカスタマイズオプションを提供し、より高い柔軟性と制御を保証します。QuickMLが際立つ点は以下のとおりです: - **応答を簡単に微調整**:ユーザーフレンドリーなインターフェース内で、創造性、一貫性、出力の長さを直接調整できます。 - **シームレスなモデル切り替え**:単一のチャットインターフェース内で複数のLLMモデルを簡単に切り替え、ニーズに最適なモデルを見つけることができます。 - **簡単な統合**:提供されたエンドポイントURLを使用して、スムーズでスケーラブルな実装のためにモデルをサードパーティアプリケーションにデプロイできます。 - **最適化されたパフォーマンスとコスト管理**:不要なトークン使用を最小限に抑えるよう応答をカスタマイズし、速度とコスト効率の両方を最適化します。 - **アクセシビリティの向上**:複雑なセットアップは不要です。QuickMLにより、非技術ユーザーでも高度なAI機能にアクセスできます。 ### LLM Servingで利用可能なモデル 以下は、QuickMLで利用可能なモデルの一部と、その機能およびユースケースです。 **Qwen 2.5 -14B Instruct** 質問応答、テキスト要約、コンテンツ生成などの汎用タスク向けに設計された、軽量ながら効率的な言語モデルです。 **Qwen 2.5 - 14B Instructモデルの詳細** モデルの詳細を表示するには、LLM Servingタブに移動し、Modelsを選択して、Qwen 2.5 - 14B Instructモデルを選択します。モデルの詳細には以下が含まれます: - **モデルサイズ**:モデルは140億のパラメータで構成されており、高レベルの言語理解と生成を可能にします。 - **トレーニングサイズ**:18兆トークンの大規模データでトレーニングされており、多様なドメインにわたる幅広い知識カバレッジを提供します。 - **パラメータ**:モデルは140億の学習可能な重みを使用して、正確で文脈認識的な応答を生成します。 - **入力トークン制限**:最大128,000トークンの入力をサポートしており、非常に大きなコンテキストやドキュメントの処理が可能です。 - **エンドポイントURL**:モデルにプロンプトを送信するために使用するAPIアドレスです。 - **OAuthスコープ**:モデルにアクセスするために必要な権限レベルです。 - **認証**:ユーザーIDを検証するための方法としてOAuthを指定します。 - **HTTPメソッド**:APIリクエストはPOSTメソッドを使用して行う必要があることを示します。 - **ヘッダー**:認証のために、組織IDとOAuthトークンを含むメタデータが必要です。 - **統合セクション**:アプリケーションとモデルを接続するためのサンプルコードを提供します。 - **サンプルリクエスト1**:top_p、temperature、max_tokensなどのパラメータとともに、Qwen 2.5 - 14B Instructモデルにプロンプトを送信する方法を示すサンプル入力JSON形式です。 - **サンプルレスポンス1**:プロンプトに基づいてモデルが生成した応答を含む出力JSON形式です。 - **考えられるエラーレスポンス**:400(Bad Request)や500(Internal Server Error)などの一般的なHTTPステータスエラーを一覧表示します。 - **サンプルエラーレスポンス**:失敗したAPI呼び出しのデバッグのために、コード、メッセージ、オプションの理由を含む構造化されたエラーメッセージです。 モデルをアプリケーションに統合する手順については、*LLMをアプリケーションに統合する*[セクション](http://docs.catalyst.zoho.com/ja/quickml/help/generative-ai/llm-serving/#integrate-llm-into-our-applications)を参照してください。 **Qwen 2.5 - 7B Coder** コード生成、デバッグ、説明などのプログラミング関連タスクに特化して構築されたモデルです。 **Qwen 2.5 - 7B Coderモデルの詳細** モデルの詳細を表示するには、LLM Servingタブに移動し、Modelsを選択して、Qwen 7Bモデルを選択します。モデルの詳細には以下が含まれます: - **モデルサイズ**:モデルは70億のパラメータで構成されており、自然言語の理解と生成において優れた性能を発揮します。 - **トレーニングサイズ**:5.5兆トークンでトレーニングされており、幅広いドメイン知識と文脈理解を可能にします。 - **パラメータ**:モデルは70億の学習可能な重みを使用して、インテリジェントで文脈認識的な応答を生成します。 - **入力トークン制限**:最大128,000トークンの入力をサポートしており、長いコードや複雑な命令の処理に適しています。 - **追加機能**:コード生成、推論、拡張コンテキスト理解などの機能を備えています。 - **エンドポイントURL**:デプロイされたモデルにリクエストとプロンプトを送信するために使用するAPIエンドポイントです。 - **OAuthスコープ**:モデルとインタラクションするために必要なアクセスレベルを定義します(QuickML.deployment.READ)。 - **認証**:ユーザーアクセスを安全に検証・承認するためにOAuthを使用します。 - **HTTPメソッド**:モデルにデータを送信するにはPOSTメソッドを使用する必要があります。 - **ヘッダー**:認証のために組織IDやOAuthトークンなどの必要なメタデータを含みます。 - **統合セクション**:アプリケーションでモデルを接続して使用するための、すぐに使用できるコードスニペットを提供します。 - **サンプルリクエスト1**:モデル名、temperature、max tokensなどのパラメータを構造化してプロンプトを設定する方法を示します。 - **サンプルレスポンス1**:サンプルリクエストに対してモデルが生成した構造化出力を表示します。 - **考えられるエラーレスポンス**:400(Bad Request)や500(Internal Server Error)などの一般的なエラーを含み、失敗したリクエストを示します。 - **サンプルエラーレスポンス**:トラブルシューティングのために、code、message、reasonフィールドを含むJSON形式のエラーメッセージを表示します。 モデルをアプリケーションに統合する手順については、*LLMをアプリケーションに統合する*[セクション](http://docs.catalyst.zoho.com/ja/quickml/help/generative-ai/llm-serving/#integrate-llm-into-our-applications)を参照してください。 **Qwen 2.5 - 7B Vision Language** 画像とテキストの両方を理解できる70億パラメータのビジョン言語モデルです。画像キャプション、ビジュアル質問応答、マルチモーダル推論などのタスク向けに設計されています。 モデルの詳細を表示するには、LLM Servingタブに移動し、Modelsを選択して、Qwen 2.5 - 7B Vision Languageモデルを選択します。モデルの詳細には以下が含まれます: - **モデルサイズ**:コア言語モデルは70億のパラメータで構成されています。 - **ビジュアルエンコーダー**:動的解像度と時間認識mRoPEを備えた最適化されたビジョンエンコーダーを使用します。 - **パラメータ**:合計70億のトレーニング可能な重みがモデルを駆動します。 - **入力トークン制限**:最大3枚の画像(約6kトークン)とテキスト(約3kトークン)をサポートし、合計約9kトークンです。 - **追加機能**:マルチモーダル推論、多言語OCR、ドキュメント・チャートの質問応答、構造化出力(JSON、バウンディングボックス、ポイント)を提供します。 - **エンドポイントURL**:デプロイされたビジョン言語モデルにテキストと画像のプロンプトを送信するために使用するAPIエンドポイントです。 - **OAuthスコープ**:モデルとインタラクションするにはQuickML.deployment.READ権限スコープが必要です。 - **認証**:認可されたアクセスのためにOAuth認証で保護されています。 - **HTTPメソッド**:モデルにプロンプトとメディアデータを送信するためにPOSTメソッドを使用します。 - **ヘッダー**:安全なAPIリクエストのために、組織IDやアクセストークンなどの必須メタデータを含みます。 - **統合セクション**:Python、JavaScript、その他の言語での統合用のすぐに使用できるサンプルコードを提供します。 - **サンプルリクエスト1**:マルチモーダル入力(テキスト + base64エンコード画像)を示し、system_prompt、top_k、top_p、temperature、max_tokensなどの設定可能なパラメータを含みます。 - **サンプルレスポンス1**:指定されたドキュメント画像から連絡先情報、スキル、学歴、プロジェクトなどの詳細を抽出する構造化JSON出力を表示します。 - **考えられるエラーレスポンス**:400(Bad Request)や500(Internal Server Error)などの標準的なエラーを含みます。 - **サンプルエラーレスポンス**:API問題のデバッグに役立つcode、message、reasonを含むJSONを返します。 モデルをアプリケーションに統合する手順については、*LLMをアプリケーションに統合する*[セクション](http://docs.catalyst.zoho.com/ja/quickml/help/generative-ai/llm-serving/#integrate-llm-into-our-applications)を参照してください。 ### チャットインターフェースの内訳 QuickMLでLLM Serving機能にアクセスする方法を見る前に、チャットインターフェースの構造について簡単に見てみましょう。 **モデル選択** 「Chat」タブの左上に位置し、利用可能なLLMモデルから選択できます。同じインターフェース内で素早くモデルを切り替えることができ、チャットインターフェースを離れることなく特定のユースケースに異なるモデルをテストしやすくなります。 **モデル詳細の表示** 選択されたモデル名の横にあるView Model Detailsオプションをクリックすると、モデルに関する詳細情報を表示するポップアップウィンドウが開きます。これには、モデルサイズ、入力トークン制限、トレーニングデータ、統合オプションなどが含まれます。モデルの機能と使用方法についてより深いインサイトを提供します。 **チャットインターフェース(会話パネル)** この中央エリアは、すべてのインタラクションが行われる場所です。プロンプトを入力し、モデルが生成した応答をスレッド形式で表示できます。各応答には、個別の応答のコピーや再生成などのアクションのアイコンが含まれます。 **パラメータパネル** 右側にあるこのパネルでは、Temperature、Top-K、Top-P、Max Tokensなどのパラメータを調整してモデルの動作を微調整できます。トーン、形式、ドメイン固有の要件を指定するための指示フィールドもあります。これらの設定は、エンタープライズまたはユーザー固有のニーズに出力を合わせるのに役立ちます。 **チャットボックス** 画面の下部にはチャット入力ボックスがあり、選択された言語モデルとインタラクションするためにプロンプトや質問を入力できるメインエリアです。 ### LLM Servingのパラメータ QuickMLは、開発者や企業がさまざまなカスタマイズ可能なパラメータを通じてAIモデルの動作を微調整できる、堅牢で柔軟なLLM(大規模言語モデル)サービング環境を提供します。これらの設定により、モデルが入力をどのように解釈し、応答を生成し、出力を希望するトーン、構造、目的に合わせるかを制御できます。 法律アドバイザーボット、コンテンツ作成ツール、カスタマーサービスアシスタントを構築する場合でも、QuickMLのパラメータ設定オプションにより、アプリケーションが関連性のあるだけでなく、文脈的にカスタマイズされた応答を提供することが保証されます。 ユーザー制御を制限する他のプラットフォームとは異なり、QuickMLは透明性と適応性を優先し、創造性と精度のバランスを取り、理想的な応答の長さを決定し、ドメイン固有のニーズに最も適した方法でモデルを動作させるよう導くことができます。 利用可能なパラメータの内訳は以下のとおりです: **モデル名** modelフィールドでは、簡単な参照とデプロイのためにモデル名をコピーできます。 **指示** Instructionsフィールドボックスに詳細な指示を入力して、モデルの応答スタイルとコンテンツ生成アプローチを導くことができます。これにより、特定のアプリケーションに対する出力の関連性と一貫性が向上します。 たとえば、法律事務所は「該当する場合は引用を含む正式な法的トーンで応答を提供してください。」のような指示を入力し、AI生成コンテンツがコンプライアンスと専門基準に沿うことを保証できます。 **Temperature** モデルの応答の創造性レベルを制御します: - **低い値(例:0.0 - 0.3)**:より決定論的で正確な応答。 - **高い値(例:0.7 - 1.0)**:変動性と創造性が増加し、応答がより多様で魅力的になります。 たとえば、金融機関がTemperatureを0.2に設定すると「連邦準備制度理事会は金利を0.25%引き上げました。」のような正確な応答が得られ、0.8に設定すると「連邦準備制度理事会の最近の0.25%の利上げは、インフレを抑制することを目的としており、住宅ローンやローン金利に影響を与えます。」のような応答が生成される可能性があります。 **Top-K** 次のトークン予測で考慮される上位の確率的な単語の数を決定します: - **低い値(例:10 - 20)**:より予測可能で制御された応答を生成します。 - **高い値(例:50 - 100)**:生成されるテキストの多様性とバリエーションを高めます。 たとえば、企業のHRチャットボットでTop-Kを10に設定すると「私たちは採用プロセスにおいて多様性を重視しています。」のような標準的な応答が生成される可能性がありますが、50に設定すると「[Company Name]では、多様性は採用プロセスの中核にあり、イノベーションとインクルーシブ性を育んでいます。」のような、より豊かで魅力的な応答が可能になります。 **Top-P** Top-Pサンプリングは、一般的に0.0 - 1.0の範囲のNucleusサンプリングとも呼ばれます。このパラメータは、次のトークン選択の累積確率しきい値を設定します: - **低い値(例:0.1 - 0.3)**:非常に決定論的な応答を生成します。 - **高い値(例:0.8 - 0.9)**:一貫性を維持しながら、より多様なテキスト生成を可能にします。 たとえば、カスタマーサポートAIでTop-P設定を0.3にすると「ご注文は3日以内に届きます。」のような直接的な応答が生成される可能性がありますが、0.9にすると「ご注文は3日以内に届く予定です。まもなく追跡の更新情報をお届けします!さらにサポートが必要な場合はお知らせください。」のような応答になる可能性があります。 **Max tokens** モデルが応答で生成できるトークンの最大数(1〜4096)を定義します。QuickMLでは応答の長さを正確に制御でき、コストとレイテンシーを最適化します。 たとえば、コンプライアンスチームがMax Tokensを50に設定すると「GDPRはEU市民のデータ保護を義務付けています。」のような簡潔な規制要約が保証され、500に設定すると主要な規定とコンプライアンス措置を詳述する包括的な法的分析が生成される可能性があります。 ### QuickMLにおけるLLM Servingの動作 1. ユーザーがQuickMLのLLMサービングチャットインターフェースでリクエストを送信すると、選択されたモデル(Qwen 2.5 - 14B Instructなど)が入力を処理します。 2. モデルはクエリのコンテキスト、意図、意味を分析して、関連性のある一貫した応答を生成します。 3. 応答はモデルのトレーニングデータに基づいて作成され、精度と文脈的な関連性が確保されます。 4. ユーザーはクエリを精緻化したり、モデルパラメータを調整して応答のスタイル、トーン、詳細レベルに影響を与えることができます。 **注意すべきポイント:** 1. LLMサービング機能は、QuickMLプラットフォームにアクセスできるユーザーが利用できます。 2. QuickMLチャットインターフェース内で複数のLLMモデルをシームレスに切り替えることができます。 3. 現時点では、以前のチャット会話を消去したり、新しいチャットウィンドウを開いたりすることはできません。すべての会話は同じチャットインターフェース内に残ります。 4. チャットはユーザー固有であり、あるユーザーが他のユーザーの会話にアクセスすることはできません。 5. Qwen 2.5 - 7B Vision Languageモデルを使用して、画像をアップロードしてクエリを入力し、応答を生成できます。 6. QuickMLのLLMサービングは、モデルトレーニングにユーザーのデータを使用しません。すべての応答は事前トレーニング済みデータに基づいて生成されます。 ### QuickMLでのLLM Servingへのアクセス LLM Servingは、以下の手順でQuickMLからアクセスできます: 1. QuickMLプラットフォームにログインします。 2. *Generative AI*セクションで、**LLM Serving**を選択します。 3. **Chat**タブに移動します。 4. ドロップダウンから目的のLLMモデルを選択します。 - *Qwen 2.5 - 14B Instruct*、*Qwen 2.5 - 7B Coder*、または*Qwen 2.5 - 7B Vision Language*のいずれかを選択できます。 5. チャットインターフェースにクエリの入力を開始します。 **注意:** チャットインターフェースはデフォルトのパラメータ設定に基づいて応答を生成します。ただし、要件に合わせて必要に応じて設定を調整できます。 **パラメータ設定を構成するには** 1. *Generative AI*セクションで、**LLM Serving**タブを選択します。 2. **Chat**タブに移動します。 3. 右パネルの*Parameters*で、以下を設定します: - モデルの動作方法に関する詳細な指示を入力します。 - **Temperature**を調整してモデルの応答の創造性レベルを制御します。 - **Top-K**フィールドで次のトークン予測に考慮される上位の確率的な単語の数を調整します。 - **Top-P**フィールドで次のトークン選択の累積確率しきい値のパラメータを設定します。 - **Max Tokens**フィールドでモデルが応答ごとに生成するトークンの最大数を定義します。 4. **Save**をクリックします。 これらのパラメータを実際のビジネスシナリオでどのように設定できるかを理解するために、サンプルユースケースを考えてみましょう。 **金融機関のカスタマーサポートチャットボットのパラメータ設定** **ユースケース:** 銀行が一般的な銀行業務の問い合わせで顧客を支援しながら、応答が正確、簡潔で、規制ガイドラインに沿っていることを保証したいと考えています。 **ステップ1**:最適なパフォーマンスのためのパラメータ調整 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { font-family: "Google Sans", Roboto, Arial, sans-serif; font-size: 15px; color: #1c1c1c; line-height: 1.6; } table { width: 100%; border-collapse: collapse; table-layout: fixed; margin-top: 20px; } th, td { border: 1px solid #ccc; padding: 12px; vertical-align: top; font-size: 16px; } th { background-color: #f9f9f9; font-weight: 600; text-align: center; } td { text-align: left; } col:nth-child(1) { width: 20%; } col:nth-child(2) { width: 30%; } col:nth-child(3) { width: 50%; } </style> </head> <body> <table> <colgroup> <col> <col> <col> </colgroup> <thead> <tr> <th>パラメータ</th> <th>設定</th> <th>理由</th> </tr> </thead> <tbody> <tr> <td>Model</td> <td>Qwen 2.5 -14B Instruct</td> <td>精度と効率のバランスに優れているため選択されています。</td> </tr> <tr> <td>Instructions</td> <td>フォーマルでプロフェッショナルなトーンで応答を提供してください。銀行規制への準拠を確保してください。回答は簡潔でありながら有益にしてください。</td> <td>顧客対応の一貫性を確保します。</td> </tr> <tr> <td>Temperature</td> <td>0.2</td> <td>応答を事実に基づかせ、不要な創造性を回避します。</td> </tr> <tr> <td>Top-K</td> <td>20</td> <td>単語選択を最も関連性の高い選択肢に制限し、変動性を低減します。</td> </tr> <tr> <td>Top-P</td> <td>0.3</td> <td>応答を集中的で予測可能に保ち、規制コンプライアンスを確保します。</td> </tr> <tr> <td>Max Tokens</td> <td>200</td> <td>明確さのために十分な詳細を維持しながら、過度に長い応答を防止します。</td> </tr> </tbody> </table> </body> </html> **ステップ2**:チャットインターフェースとの対話 パラメータが設定されると、チャットボットは使用可能になります。以下にインタラクションの例を示します: ユーザー:"住宅ローンの資格基準は何ですか?" チャットボットの応答(Qwen 2.5 - 14B Instruct、調整済みパラメータ使用):住宅ローンの資格基準には通常、借り手のローン返済能力を確保するためのいくつかの主要な要素が含まれます。これらの基準には一般的に以下が含まれます: - **年齢**:借り手はローン満期時に通常21歳から65歳の特定の年齢範囲内である必要があります。 - **収入**:ローンの返済能力を証明するために、安定した検証可能な収入が必要です。貸し手は給与明細、銀行取引明細書、または確定申告書による収入の証明を要求する場合があります。 - **クレジットスコア**:借り手の信用力と返済履歴を反映するため、良好なクレジットスコアが不可欠です。 - **雇用**:借り手は安定した仕事に就いているか、一貫したビジネス収入があるべきです。 - **ローン対価値比率(LTV)**:この比率はローン額と物件価値を比較します。貸し手は物件の種類やその他の要因に基づいて特定のLTV制限を設けています。 ### LLMをアプリケーションに統合する QuickMLプラットフォーム内でLLMモデルを利用するだけでなく、提供されたエンドポイントURLを使用して独自のアプリケーションにシームレスに統合できます。これにより、企業はカスタマーサポートボット、コンテンツ自動化ツール、データ分析アプリケーションなど、さまざまなビジネスプロセスにAI搭載の応答を組み込むことができます。 安全で効率的な統合を実現するため、QuickMLはアクセストークン生成のためのOAuthベースの認証をサポートしています。OAuthアプリケーションの種類とアクセストークンの生成・管理に必要な手順の詳細については、このドキュメントを参照してください。 **エンドポイントURLを取得するには** 1. QuickML内の**Generative AI**セクションに移動します。 2. **LLM Serving**タブを選択します。 3. *Models*タブで、目的のモデルを選択します。 4. *Model Details*ポップアップウィンドウで、**API Details**セクションまでスクロールしてエンドポイントURLを取得します。 -------------------------------------------------------------------------------- title: "RAG" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードの機械学習パイプラインビルダーサービスであり、エンドツーエンドのソリューションで機械学習パイプラインを構築できます。" last_updated: "2026-09-08T11:24:16.738Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/generative-ai/rag/" service: "QuickML" -------------------------------------------------------------------------------- ### Retrieval-Augmented Generation(RAG)とは? RAGを理解するために、簡単な例えを考えてみましょう。ユーザーがプリンターに表示されたエラーコード「7C05」についてテクニカルサポートに連絡します。経験豊富なサポート担当者ですが、その特定のコードに遭遇したことはありません。推測する代わりに、担当者はそのプリンターモデルの公式トラブルシューティングマニュアルを参照して正確な解決策を見つけます。このシナリオでは、担当者が言語モデルを表し、マニュアルがRAGが取得する外部知識ソースを表しており、担当者はその正確な問題に事前に触れることなく正しく応答できます。 技術的に説明すると、RAGは、権威のある外部知識ソースから取得した情報を組み込むことで、大規模言語モデル(LLM)の出力の精度、関連性、信頼性を向上させる高度な技術です。トレーニング中に利用可能なデータのみに依存するのではなく、RAGにより推論時にモデルが最新のドメイン固有のコンテンツを参照でき、検証可能で文脈的に適切な情報に基づいた応答を生成します。 LLMはニューラルネットワークアーキテクチャ上に構築され、膨大な量のテキストデータでトレーニングされています。その性能は主に数十億のパラメータによって駆動され、人間の言語における一般化されたパターンを捉えます。このパラメータ化された知識により、LLMは質問応答、翻訳、テキスト補完など、幅広いタスクを印象的な流暢さで実行できます。しかし、これらのモデルは、トレーニング範囲を超える特定の、詳細な、または時間に敏感な情報を必要とする応答の生成を求められた場合、制限される可能性があります。 RAGは、キュレーションされた知識ベース(社内文書、ドメイン固有のデータベース、信頼できるオンラインソースなど)から関連コンテンツをまず取得し、その後情報に基づいた文脈的に根拠のある応答を生成するよう生成プロセスを最適化することで、この制限に対処します。このアプローチはベースモデルの再トレーニングを必要としないため、特定の組織ニーズや専門分野にLLM機能をカスタマイズするためのコスト効率が高くスケーラブルな方法です。 注意: QuickMLのRAG機能は、現在US、IN、EUデータセンターで利用可能です。 ### RAGの利点 RAGは、生成AIソリューションの有効性、柔軟性、信頼性を向上させる重要な利点を提供します。特に、大規模モデルの再トレーニングのオーバーヘッドなしにドメイン固有のインテリジェンスを実装しようとする組織にとって有益です。 **コスト効率の高いデプロイ** ほとんどのチャットボットやAIアプリケーション開発は、広範な汎用データセットでトレーニングされ、通常APIを通じてアクセスされるLLMなどの基盤モデルから始まります。組織または業界固有のコンテンツに対応するためにこれらのモデルを再トレーニングしてカスタマイズすることは、多くの場合、法外に高コストでリソース集約的です。RAGは、よりスケーラブルで経済的な代替手段を提供します。推論時にモデルが外部データを取得して参照できるようにすることで、RAGにより企業は基盤モデルを変更することなく特定の知識を統合でき、生成AIソリューションをより実現可能でコスト効率の高いものにします。 **タイムリーで動的な情報へのアクセス** 最新の応答を維持することは、トレーニングデータがすぐに古くなるため、静的モデルにとって大きな課題です。RAGは、継続的に更新される情報ソースをモデルに供給できるようにすることで、この問題に対処します。最新の科学研究、ニュース速報、リアルタイムのソーシャルメディアフィードなど、RAGにより生成AIモデルは現在のデータにアクセスできます。これにより、急速に変化する分野でも応答が関連性があり正確であり続けることが保証されます。 **透明性とユーザー信頼の向上** RAGの主要な強みの1つは、ソースに基づいた回答を提供する能力です。外部文書を参照し引用を含めることで、情報の出所に関する透明性を提供します。ユーザーはこれらのソースを確認してコンテンツを検証したり、さらに探索したりでき、システムへの信頼を高めます。このトレーサビリティにより、生成AIの応答はより信頼性が高くなるだけでなく、規制産業のコンプライアンスや品質保証基準にもより適合します。 ### RAGの応用 Retrieval-Augmented Generation(RAG)は、特にドメイン固有の知識、リアルタイム情報、または透明な出力を必要とする分野で、LLMの機能を強化するために業界全体でますます採用されています。以下は、RAGが重要なインパクトをもたらす主な応用分野です: **エンタープライズナレッジアシスタント** 企業は、従業員の社内知識アクセスを効率化するためにRAGベースのアシスタントに注目しています。これらのAI搭載ツールは、社内Wiki、SOP、人事ガイドライン、コンプライアンスチェックリスト、ITドキュメント、オンボーディング資料など、企業固有のリポジトリから構造化データと非構造化データをクエリするよう設計されています。事前定義されたルールや古いトレーニングデータに依存する静的チャットボットとは異なり、RAGは最も関連性の高いドキュメントを動的に取得し、従業員が正確で最新のポリシーに準拠した応答を受け取ることを保証します。これにより、生産性の向上、サポートチームへの依存度の低減、部門間での統一された情報源が実現されます。 **カスタマーサポートの自動化** カスタマーサービスプラットフォームは、RAGを統合してよりインテリジェントで文脈認識的なインタラクションを提供することで、ユーザー体験を大幅に向上させることができます。製品マニュアル、トラブルシューティングガイド、保証書、ヘルプデスクナレッジベースからコンテンツを直接取得することで、RAG搭載のチャットボットは、最近発売された製品やまれに遭遇する製品に関するものを含め、顧客の問い合わせをより効果的に解決できます。これにより、新しいコンテンツでモデルを常に再トレーニングする必要がなくなり、最小限の人的介入でスケーラブルなサポート運用が可能になります。追跡可能なソースの含有も顧客の信頼を構築し、顧客満足度を向上させます。 **法律・規制調査** 法律の専門家は、正確性、引用、トレーサビリティが最重要の分野で活動しています。RAGベースのツールは、法令の条項、先行判例、政府の政策、社内コンプライアンス文書から直接取得できるようにすることで、法務チームを支援します。膨大なテキストを手動で調べる代わりに、ユーザーは法的な健全性のために元の文書と相互参照された簡潔な要約を取得できます。これらのアプリケーションは、法的意見の起草、規制監査の実施、コンプライアンスレビューへの回答の準備に特に有用であり、すべての出力が検証可能な法的文脈に基づいていることを保証します。 **ヘルスケアおよび医療意思決定支援** ヘルスケア分野では、タイムリーでエビデンスに基づいた意思決定が患者の転帰に直接影響を与える可能性があります。RAGシステムは、治療ガイドラインや施設の臨床記録などの医療ソースからのデータを参照することで、臨床医、研究者、管理者を支援します。関連情報を応答に組み込むことで、RAGモデルは臨床意思決定支援、患者固有のケア推奨、鑑別診断、薬物相互作用を支援し、すべてソース資料を引用します。このアプローチにより、AI駆動の推奨に対する信頼性が向上します。 **科学研究およびテクニカルライティング** RAGは、研究ワークフローの加速とテクニカルライティングにおけるコンテンツの正確性の確保に重要な役割を果たします。研究者は、広範な学術データベースをクエリして最新技術を要約したり、文献レビューを生成したり、現在の知見で仮説を検証したりできます。同様に、テクニカルライターはRAGを使用して、最新のデータやユーザーマニュアルに基づいた製品ドキュメントを起草できます。科学的発展の要約でもレポートの起草でも、RAGは生成されるコンテンツが信頼できるドメイン固有のソースに裏付けられていることを保証し、正確性と信頼性の両方を維持します。 ### RAGの仕組み RAGは、取得と生成の2つの主要なプロセスを統合しています。言語モデルのトレーニング中にエンコードされた知識のみに依存するのではなく、RAGは推論時に外部ソース(データベース、ドキュメント、ナレッジベースなど)から関連情報を動的に取り込むことで補完します。このアプローチにより、モデルはより正確で最新の、文脈的に適切な応答を提供できます。 RAGの動作の簡略化されたフローは以下のとおりです: - **ユーザー入力/クエリ**:プロセスは、ユーザーが質問やプロンプトを入力するところから始まります。 - **取得**:システムはクエリを使用して、大規模な外部知識ソース(ベクターデータベース、ドキュメントストア、検索インデックスなど)を検索し、最も関連性の高い上位K個の情報(「パッセージ」や「コンテキスト」と呼ばれることが多い)を取得します。これは通常、エンベディングを活用したセマンティック検索を使用して行われます。 - **融合/コンテキスト化**:取得されたパッセージは、元のクエリとともに言語モデルに渡されます。これらのパッセージは、事実やドメイン固有の知識に基づいて生成を根拠づけるコンテキストを提供します。 - **生成ステップ**:言語モデル(TransformerベースのLLMなど)は、クエリと取得されたドキュメントの両方を入力として受け取り、一貫性のある情報に基づいた応答を生成します。 - **引用/トレーサビリティ**:RAGモデルは回答のために実際のドキュメントに依存するため、ソース資料への追跡可能な参照やリンクを提供でき、透明性と信頼性を高めます。 ### QuickMLのRAGの独自性 QuickMLのRAGは、ナレッジベースに基づく応答生成時に、シームレスで安全かつ透明な体験を提供するよう設計されています。QuickMLのRAGが際立つ理由は以下のとおりです: - 応答が生成されると、詳細な応答の内訳が利用可能になります。この内訳は、生成プロセス中にどの取得ドキュメントの部分が参照されたかを示し、サポート情報の出所を明確に表示します。最終出力にどのドキュメントが寄与したかを正確に確認できるため、透明性が向上します。 - QuickMLのRAG実装は、WorkDriveやZoho Learnなどのzohoエコシステムを活用して、関連ドキュメントをナレッジベースにシームレスにインポートします。この統合により、クエリをサポートするための最も正確で文脈固有の情報が常に利用可能になります。 ### QuickMLのRAGで利用可能なモデル QuickMLのRAGは、Qwen 2.5 14B Instructモデルを活用して、文脈的で関連性の高い応答を提供します。Qwen 2.5 14B Instructは、一貫性と精度を持って多様な言語タスクを実行するよう設計された高性能AIモデルです。大規模で高品質なデータセットでトレーニングされており、信頼性の高い結果を提供し、複数のベンチマークで優れた性能を発揮します。Qwen 2.5-14B-Instructが際立つのは、動的な実世界のシナリオに素早く適応して応答する能力であり、エンタープライズおよび本番グレードのアプリケーションに特に適しています。 **Qwen 2.5 14B Instructモデルの詳細** モデルの詳細を表示するには、RAGタブに移動し、チャットインターフェースの右上隅にあるView APIオプションをクリックします。モデルの詳細には以下が含まれます: - **モデルサイズ**:140億のパラメータで構成されており、高度な理解と言語生成能力を可能にします。 - **トレーニングサイズ**:幅広いドメインの広範なカバレッジを確保するために、18兆トークンでトレーニングされています。 - **パラメータ**:ニュアンスのある非常に関連性の高い応答を生成するために、140億のトレーニング可能な重みを使用しています。 - **入力トークン制限**:入力コンテキスト長として128Kトークンをサポートしており、RAG実行中の深いコンテキストと長いドキュメント参照が可能です。 - **エンドポイントURL**:APIリクエストを送信するために使用するURLです。 - **OAuthスコープ**:QuickML.deployment.READ;デプロイメントを使用するために必要なアクセスレベルを定義します。 - **認証**:OAuthを使用してクライアントIDを安全に検証します。 - **HTTPメソッド**:POST;すべてのAPI呼び出しはPOSTメソッドで行う必要があります。 - **ヘッダー**:リクエストを認証するために必要なメタデータと認証トークンを含みます。 - **サンプルリクエスト**:入力プロンプトの構造化方法を示す事前定義されたJSON形式です。 - **サンプルレスポンス**:プロンプトとKBドキュメントから取得された情報の両方に基づいて生成された、文脈的に根拠のあるテキストを含むモデルの出力を表示します。 モデルをアプリケーションに統合する手順については、*RAGをアプリケーションに統合する*セクションを参照してください。 ### QuickMLにおけるRAGインターフェースの理解 QuickMLのRAG機能により、Qwen 2.5 14B Instructを使用してドキュメントベースの応答を取得できます。インターフェースは、ドキュメントのアップロード、質問、各応答のソースの追跡を容易にするよう設計されています。以下に、その構成について説明します。 **モデル選択** チャットパネルの上部で、利用可能なモデルを選択できます。現在、RAGベースの会話にはQwen 2.5 14B Instructがサポートされています。このモデルは、アップロードされたドキュメントから根拠のある文脈認識的な応答を生成するよう最適化されています。 **チャットインターフェース(会話パネル)** 中央にはコアインタラクションスペースがあり、クエリを入力して応答を確認できます。AI生成された各回答はユーザー入力の下にスレッド表示され、以下を含むことができます: - 応答のコピーまたは再生成のためのアクションアイコン - 回答がどのように生成されたか、どのドキュメントからかについてのインサイトを提供する「応答内訳を表示」オプション **応答内訳パネル** 「応答内訳を表示」をクリックすると、詳細なインサイトを提供するポップアップウィンドウが表示されます: - **思考プロセス**:回答生成中に参照された特定のコンテンツスニペットと、それに対応するソースおよびドキュメントIDを表示します。 - **引用**:使用されたドキュメントを一覧表示し、応答の生成に使用された正確なセクションを強調表示します。 **ドキュメントストア** インターフェースの右側には、取得のために現在アクティブなすべてのドキュメントがドキュメントストアに一覧表示されます。各ドキュメントにはその名前、形式、サイズが表示されます。ユーザーは「ドキュメントを追加」オプションを選択して、ナレッジベースから応答生成のための関連ドキュメントを含めることができます。 **ドキュメントの追加** **Add Documents**をクリックすると、「Add Documents From Knowledge Base」というラベルのパネルが開きます。ここで、既存のドキュメントを選択するか、新しいドキュメントをアップロードできます。パネルにはナレッジベース内のドキュメントを素早く見つけるための検索バーが含まれています。 - **アップロードオプション** 新しいドキュメントをアップロードする際、3つの便利な方法がサポートされています: - **デスクトップから**:.pdf、.docx、.txtファイルをサポートしており、ファイルあたりのサイズ制限は500KBです。 - **WorkDriveから**:クラウドストレージからファイルを直接インポートできます。 - **Zoho Learnリンク経由**:目的のZoho Learn記事のURLを貼り付けてドキュメントをインポートできます。 アップロードされた各ファイルには一意のIDが割り当てられ、会話中の取得に利用可能になります。 **ナレッジベースへのドキュメントのアップロード** 「Add Documents From Knowledge Base」パネルにドキュメントが表示されるようにするには、まず関連ファイルをKnowledge Baseリポジトリにアップロードする必要があります。 *Add Documents From Knowledge Base*パネルで**New Document**をクリックすると、ドキュメントはナレッジベースに自動的に追加されます。 Knowledge Baseは、文脈認識的な生成に重要なコンテンツをアップロードおよび管理できる集中型ドキュメントリポジトリとして機能します。WorkDriveやZoho LearnなどのZohoエコシステムとの統合により、社内ファイル、マニュアル、FAQ、その他のリソースをシームレスにインポートできます。この設定により、Knowledge Baseが最新かつ包括的に保たれ、ユーザーのクエリに合わせたソースに裏付けられた応答を提供するモデルの能力がサポートされます。 **ナレッジベースからドキュメントをアップロードするには** 1. **QuickML**プラットフォームの*Knowledge Base*タブに移動します。 2. **Upload Document**をクリックします。 3. 以下のいずれかの方法でドキュメントをアップロードします。 - **Upload a file**を選択して、デスクトップからドキュメントをアップロードします。ここでは、名前を入力し、ローカルシステムからアップロードするファイルを選択する必要があります。 - **Zoho Workdrive**を選択して、WorkDriveからドキュメントをインポートします。ここでは、ドキュメント名とドキュメントのWorkDriveリンクを入力する必要があります。 - **Zoho Learn**を選択して、Zoho Learnから記事をインポートします。ここでは、ドキュメント名を入力し、記事またはマニュアルのどちらをインポートするかを選択し、記事リンクを入力する必要があります。 4. アップロードが完了すると、ドキュメントはナレッジベースリポジトリに表示されます。そこから、ドキュメントを**削除**したり、ドキュメントIDを**コピー**したりできます。 **注意:** - ドキュメントストア内のアップロード済みドキュメントは、目的のドキュメントにカーソルを合わせて削除アイコンをクリックすることで削除できます。 - 特定のナレッジベースドキュメントをドキュメントストアに追加してクエリを送信すると、RAGはそれらの追加されたドキュメントのみを検索対象とします。ドキュメントストアにドキュメントが追加されていない場合、RAGはすべてのアクティブなナレッジベースドキュメント全体を自動的に検索します。これにより、手動でドキュメントを選択しなくても、最も関連性の高い利用可能なコンテンツを使用してクエリに回答されます。 **View API** チャットインターフェースには右上隅にView APIオプションも含まれています。これを選択すると、現在のモデルに関する詳細情報(サイズ、トークン制限、エンドポイントURL、認証要件など)を表示するパネルが開きます。 ### QuickMLにおけるRAGの動作方法 RAGなしでは、大規模言語モデル(LLM)はトレーニングデータのみに基づいて応答を生成します。RAGを使用すると、外部情報取得ステップが導入されてプロセスが強化され、クエリ時にモデルが新鮮で関連性のあるデータにアクセスできるようになります。その動作を簡単に説明します: **質問をする** ユーザーは自然言語クエリを入力することから始めます。たとえば、「当社の返品ポリシーは何ですか?」や「製品ドキュメントの最新の更新を要約してください」などです。このクエリがRAGパイプラインをトリガーする初期入力として機能します。 **ドキュメントから関連情報を取得する** 言語モデルの事前トレーニング済み知識のみに依存するのではなく、RAGはナレッジベース(社内ファイル、PDFなど)に接続します。高度なエンベディングとセマンティック検索技術を使用して、ユーザーの質問に基づいて最も関連性の高い情報を特定して取得します。 **リランキングで結果を洗練する** 関連ドキュメントが取得されると、選択されたコンテンツをユーザーの意図によりよく整合させるためにリランキングプロセスが適用されます。このステップでは、セマンティック類似性やキーワードの存在などの複数のシグナルを評価して、結果を並べ替え、クエリに対して最も文脈的に適切なコンテンツを表面化させます。 **LLMに渡す** 取得されたコンテンツは、元のクエリと組み合わされ、拡張プロンプトとしてLLM(Qwen 2.5-14B-Instruct)に送信されます。このステップにより、LLMは文脈固有の情報を読み取り、それを使用して情報に基づいた応答を生成できます。 **文脈認識的な回答を生成する** ユーザーのクエリとサポートデータの両方を手にして、LLMは関連性があるだけでなく、実際のソース資料に基づいた応答を作成します。このアプローチにより、応答が検証可能な情報に基づき、ソース資料に整合していることが保証されます。また、ユーザーが回答を元のドキュメントまで遡って追跡でき、透明性を促進しシステムへの信頼を構築します。 **重要な注意事項** - RAG機能は、QuickMLプラットフォームにアクセスできるユーザーが利用できます。 - チャットはユーザー固有であり、あるユーザーが他のユーザーの会話にアクセスすることはできません。 現在、チャット履歴はサポートされていません。会話はページが更新されるまで表示されます。更新すると、すべてのチャットがクリアされます。 ### QuickMLでのRAGへのアクセス RAGは、以下の手順でQuickML内からアクセスできます: 1. **QuickML**アカウントにログインします。 2. *Generative AI*セクションで、**RAG**を選択します。 3. 右パネルの*Document Store*で、**Add Documents**をクリックします。 「Add Documents From Knowledge Base」というラベルのパネルが開きます。 4. *Add Documents From Knowledge Base*パネルで、既存のファイルを選択するか、**New Document**をクリックしてデスクトップ、WorkDrive、またはZoho Learnからアップロードします。 5. チャットインターフェースにクエリを入力します。 モデルはナレッジベースから関連情報を取得し、詳細な応答内訳を含む文脈認識的な応答を提供します。 **注意**:応答はナレッジベースに保存されているドキュメントに基づいて生成されます。モデルがクエリに回答するために必要なデータを確保するため、必要に応じて新しいドキュメントを追加できます。 RAGを実際のビジネスシナリオでどのように使用できるかを理解するために、いくつかのサンプルユースケースを考えてみましょう。 **サンプルユースケース1:組織における従業員ポリシーアシスタンスのためのRAGの導入** 倫理およびトレーニングポリシーに関する従業員の理解を向上させることを目指す企業は、まず関連するすべてのドキュメント(行動規範、オフィスエチケットポリシー、ハラスメント防止ポリシー、職場行動ガイドライン、必須トレーニングマニュアルなど)を収集し、QuickMLのRAGナレッジベースにアップロードします。RAGチャットインターフェースから、管理者は**Add Documents From Knowledge Base**パネルにアクセスして、ファイルをインポートまたは選択します。アップロードが完了すると、ドキュメントはQwen 2.5 14B Instructがユーザーインタラクション中に参照できる、集中化された構造化されたリポジトリを形成します。 従業員が*「従業員の倫理ポリシーとは何ですか?」*のような質問をすると、QuickMLのRAGシステムはアップロードされたポリシー全体でセマンティック検索を実施し、最も関連性の高い情報を取得してクエリと組み合わせます。このコンテキストがQwen 2.5 14B Instructに送信され、簡潔で文脈的に正確な回答が生成されます。ユーザーは、応答の生成にどのドキュメントおよび具体的なセクションが使用されたかの詳細な内訳も確認でき、提供される情報の透明性と信頼性が確保されます。 **サンプルユースケース2:SaaSプラットフォームにおけるRAGによるカスタマーサポートの強化** カスタマーサポート体験を向上させることを目指すSaaS企業は、RAGを活用してインテリジェントなヘルプアシスタントを構築します。サポートチームは、関連するすべてのリソース(製品FAQ、ユーザーマニュアル、トラブルシューティングガイド、リリースノート、APIドキュメント)を収集し、QuickML内のRAGナレッジベースにアップロードします。RAGチャットインターフェースを通じて、管理者は**Add Documents From Knowledge Base**パネルを使用してこのコンテンツでドキュメントストアを充填し、各製品リリースに合わせて最新の状態に保ちます。セットアップが完了すると、RAGシステムは中央サポートリポジトリとなります。 ユーザーが*「考えられるエラーメッセージは何ですか?」*のようなクエリを送信すると、システムはドキュメントストアを意味的に検索して最も関連性の高い情報を取得し、クエリとサポートコンテキストの両方を言語モデルに転送します。モデルは、正確なドキュメントセクションを参照しながら、正確でわかりやすいソリューションを生成します。ユーザーは透明性とさらなる読書のために応答の背後にあるソース資料を確認でき、チケット量の削減とセルフサービスの有効性の向上につながります。 ### RAGをアプリケーションに統合する 提供されたエンドポイントURLを使用して、QuickMLのRAGをアプリケーションに統合できます。これにより、企業はカスタマーサポートツール、社内チャットボット、ドキュメント自動化システムに、コンテキストリッチなAI機能を付加できます。 安全で効率的な統合を実現するため、QuickMLはアクセストークン生成のためのOAuthベースの認証をサポートしています。OAuthアプリケーションの種類とアクセストークンの生成・管理に必要な手順の詳細については、このドキュメントを参照してください。 **エンドポイントURLを取得するには** 1. QuickMLの**Generative AI**セクションに移動します。 2. **RAG**タブを選択します。 3. チャットインターフェースの右上隅にある**View API**オプションをクリックします。 4. *Model Details*ポップアップウィンドウで、**API Details**セクションまでスクロールしてエンドポイントURLを取得します。 -------------------------------------------------------------------------------- title: "ナレッジベース" description: "QuickMLは、Catalyst開発プラットフォームにおける完全ノーコードのML パイプラインビルダーサービスで、エンドツーエンドのソリューションを備えた機械学習パイプラインを作成できます。" last_updated: "2026-09-08T11:24:16.738Z" source: "https://docs.catalyst.zoho.com/ja/quickml/help/generative-ai/knowledge-base/" service: "QuickML" -------------------------------------------------------------------------------- ### ナレッジベースの概要 組織は膨大なデータと情報の管理・活用に取り組んでいます。社内のナレッジ共有、研修資料、カスタマーサポート、AIモデルへのデータ供給など、データの一元的なリポジトリを持つことは不可欠です。ここでナレッジベース(KB)が重要な役割を果たします。 ナレッジベースは、情報を効率的に保存、管理、検索できる構造化されたリポジトリです。通常、ドキュメント、FAQ、ガイド、標準作業手順書などが含まれます。これらのドキュメントは、アクセシビリティ、信頼性、文脈的な関連性を確保するためにキュレーションされています。適切に管理されたナレッジベースは、繰り返しの問い合わせを削減し、オンボーディングをサポートし、重要なコンテンツへの即時アクセスをユーザーに提供します。 例えば、サポートエージェントがクライアントの問題をより迅速に解決するためにナレッジベースを参照したり、同じリポジトリでトレーニングされたチャットボットがエンドユーザーに即座に回答を提供したりできます。QuickMLにおいては、このナレッジベースはさらに強力な目的を果たし、AIモデルを強化することで、マシンの応答をよりスマートで、文脈に即した、正確なものにします。 注意: QuickMLのナレッジベース機能は、現在US、IN、EUデータセンターで利用可能です。 ### QuickMLにおけるナレッジベースの役割 QuickMLでは、ナレッジベースは単なるドキュメント保存システムではなく、AI機能と直接連携する基盤レイヤーです。ドキュメントがアップロードされると、インテリジェントにインデックス化され、コンテキストデータソースとして活用されます。これは、Retrieval-Augmented Generation(RAG)などの機能において特に重要で、AIモデルがナレッジベースを参照して、ユーザーのクエリに対する正確でコンテキストに富んだ回答を取得・提供します。 ドキュメントをMLモデルが動的に参照できるようにすることで、QuickMLはAPIやチャットインターフェースを通じて生成される応答が、コンテキストに関連し、事実に正確で、リアルタイムの組織ナレッジに基づいたものになることを保証します。データとAIの融合により、受動的なドキュメントがインテリジェントな意思決定システムのための能動的で生きた入力に変わります。 ### ナレッジベースへのアクセス QuickMLでは、左ナビゲーションパネルの*GENERATIVE AI*セクションから直接**Knowledge Base**タブにアクセスできます。LLM ServingやRAGオプションと並んで表示され、AIパイプライン開発における戦略的な重要性を強調しています。 ### ナレッジベースへのドキュメントアップロード ナレッジベースにドキュメントを追加するために、QuickMLは3つのアップロード方法を提供しています。各方法は、ドキュメントのソースに応じた柔軟性を提供します。 **ファイルのアップロード(ローカルデスクトップから)** 最も簡単な方法で、コンピュータから直接ドキュメントをアップロードするために使用します。 <u>**必要なフィールド**</u> - **Name**: ドキュメントのタイトル。 - **Document file**: ファイルをドラッグ&ドロップするか選択します(.pdf、.docx、.txt;ファイルあたり最大500KB)。 **最適な用途**: HRポリシー、SOP、技術ホワイトペーパーなどの一回限りの静的ドキュメントアップロード。 **Zoho WorkDrive** このオプションでは、URL経由でZoho WorkDriveにホストされたドキュメントをインポートできます。ドキュメントを最新に保つための動的同期オプションも含まれています。 <u>**必要なフィールド**</u> - **Name**: ナレッジベース内のドキュメントタイトル。 - **Link**: ドキュメントへの直接WorkDriveリンク(pdf、.docx、.txt;ファイルあたり最大500KB)。 - **Sync frequency**: システムが更新を取得する頻度を選択します(例:None、Hourly、Daily、Weekly、またはCustom Frequency)。 **最適な用途**: デザイン仕様、オンボーディングマニュアル、定期的に更新される社内Wikiページなどのリビングドキュメント。 注意: このオプションを使用するには、有効なZoho WorkDriveアカウントに所属している必要があります。所属していない場合、このオプションでドキュメントをアップロードすることはできません。 **Zoho Learn** Zoho Learnハブからドキュメントを取り込むために使用します。組織がすでにZoho Learnをトレーニングやポリシードキュメントに使用している場合に便利です。 <u>**必要なフィールド**</u> - **Name**: 内部参照用のカスタム名。 - **Link**: 記事またはマニュアルへの直接URL。 - **Import option**: 「Import an article using the article link」または「Import from a manual」を選択します。 Sync frequency: システムが更新を取得する頻度を選択します(例:None、Hourly、Daily、Weekly、またはCustom Frequency)。 **Zoho Learnドキュメントリンクに関する重要な注意事項:** 1. このオプションを使用するには、Zoho Learnハブに所属している必要があります。所属していない場合、この方法でドキュメントをアップロードすることはできません。 2. Zoho Learnでドキュメントリンクを共有またはアップロードする際、アドレスバーから直接URLをコピーしないでください。追加のパス要素(/team/や特定のプロジェクト名など)が含まれている可能性があり、他の人にとってリンクが機能しなくなることがあります。 <u>正しいリンク形式と誤ったリンク形式:</u> **OCR Article** **有効**: https://learn.zoho.com/portal/zohocorp/manual/image/article/ocr-wiki **無効**: https://learn.zoho.com/portal/zohocorp/team/crmzia-ml-dl/manual/image/article/ocr-wiki **ナレッジベースにドキュメントをアップロードするには** 1. QuickMLアカウントにログインします。 2. *Generative AI*セクションで、**Knowledge Base**タブを選択します。 3. **Upload Document**をクリックします。 4. 希望するドキュメントアップロード方法を選択します: - ローカルコンピュータから直接ドキュメントをアップロードするには**Upload a file**を選択します。 - Zoho Workdriveに保存されたドキュメントをアップロードするには**Zoho Workdrive**を選択します。 - Zoho Learnワークスペースから記事またはマニュアルをインポートするには**Zoho Learn**を選択します。 5. アップロードされたドキュメントがナレッジベースリポジトリに表示されます。 ### アップロードされたドキュメントの管理 ドキュメントがアップロードされると、QuickMLはナレッジベース内の特定のアクションを通じて各ドキュメントとやり取りするための、見やすいカードスタイルのインターフェースを提供します。 **利用可能なドキュメントアクション** - **Delete**: ナレッジベースリポジトリからドキュメントを永久に削除します。 - **Copy Document ID**: APIやRAGパイプライン内でドキュメントを参照するのに便利です。 - **メタ説明プレビュー**: ドキュメントタイトルの下にカーソルを合わせると、ドキュメントの内容の最初の数行がメタ説明として表示されます。 ### RAG APIオプションの確認 右上隅にRag APIボタンがあります。このオプションは、ナレッジベースドキュメントを使用してRAGシステムをアプリケーションに組み込みたい技術ユーザーや開発者向けです。 RAG API呼び出しを設定する際、いくつかのパラメータを設定できます。 **OAuth Scope** APIトークン(アクセストークン)が付与するアクセスレベルを定義します。この場合、スコープは:QuickML.deployment.READです。これにより、QuickMLデプロイメントへの読み取り専用アクセスが付与され、RAG(Retrieval-Augmented Generation)機能を使用したナレッジベースドキュメントのクエリが含まれます。 **Authentication** 認証により、許可されたユーザーのみがAPI呼び出しを行えるようになります。このRAG APIはOAuthを使用しています。これは、アプリケーションがユーザーアカウントへの限定的なアクセスを取得できるようにする安全な認証フレームワークです。 **HTTPメソッド** このAPI呼び出しに使用されるHTTPメソッドは:POSTです。このメソッドが使用されるのは、APIが静的データを取得するだけでなく、動的な推論に基づいて生成された回答を受け取るために入力(クエリとドキュメント)をサーバーに送信するためです。 **エンドポイントURL** エンドポイントURLは、アプリケーションがPOSTリクエストを送信するRAG APIサービスの正確な場所を指定します。 **Headers** ヘッダーはリクエストと共に送信されるメタデータです。リクエストの認証とルーティングを正しく行うのに役立ちます。 **リクエストボディ** リクエストボディには、APIに送信される実際のペイロードが含まれます。この場合、ユーザーのクエリと検索対象のドキュメントが含まれます。 ### ナレッジベースを効果的に活用するためのベストプラクティス ナレッジベースタブの価値を最大化するには: 1. ドキュメントが見出し、箇条書き、読みやすい構造でクリーンにフォーマットされていることを確認します。 2. ドキュメントを定期的にレビューおよび更新して、関連性を維持します。 3. APIで使用する予定がある場合は、常にDocument IDを安全にコピーして保存します。 --- ## SDK — Java — QuickML -------------------------------------------------------------------------------- title: "QuickMLエンドポイントの実行" description: "このページでは、Javaアプリケーションでサンプルコードスニペットを使用してQuickMLエンドポイントを実行する方法について説明します。" last_updated: "2026-09-08T11:24:16.757Z" source: "https://docs.catalyst.zoho.com/ja/sdk/java/v1/quickml/execute-quickml-endpoints/" service: "QuickML" related: - QuickML (/ja/quickml/) - QuickML Pipeline Endpoints (/ja/quickml/help/pipeline-endpoints/) -------------------------------------------------------------------------------- # Catalyst QuickML Catalyst QuickMLは、ノーコードの機械学習パイプラインビルダーサービスで、事前構築されたMLアルゴリズム、操作、データ前処理技術を実装し、データセットと接続してMLモデルを構築・公開できます。データパイプラインとMLパイプラインを公開した後、認証済みエンドポイントで作成したモデルにアクセスできます。 ### QuickMLエンドポイントの実行 以下のコードスニペットを使用すると、公開されたQuickMLエンドポイントに入力データを渡し、MLモデルの処理に基づいて結果を予測できます。出力は、MLパイプライン作成時に定義されたターゲットカラムの値の予測を返します。 Note: 1. 以下のコードスニペットで結果を予測する前に、Catalystコンソールを使用してプロジェクトにMLパイプラインとモデルのエンドポイントを設定し公開しておく必要があります。 2. QuickMLは現在、JP、SA、またはCAデータセンターからアクセスするCatalystユーザーには利用できません。 モデルのエンドポイントへの入力データは、ハッシュマップを通じてキーバリューペアとして渡されます。以下に記載されているendpoint_keyは、プロジェクトで設定されたMLモデル用に公開されたエンドポイントの一意のIDです。エンドポイントキーと入力データは実行のためにpredict()メソッドに渡されます。 #### サンプルコードスニペット <br> import java.util.HashMap; import com.zc.component.quickml.ZCQuickML; import com.zc.component.quickml.ZCQuickMLDetail; // 入力データ HashMap&lt;String, String&gt; map= new HashMap<>(); //データセットに応じて列名と値を指定する map.put("column_name1", "value1"); map.put("column_name2", "value2"); map.put("column_name3", "value3"); String EndPointKey = "c8c7b4bfd8fdf4f29b9499fjhd9d03f5b2a79cd4792b302e26934a3db984214fd4cfc8049bba7acb15fe73eac0d15af59"; // Catalyst UIからコピーしたエンドポイントキー // QuickMLインスタンスを作成する ZCQuickML quickMlInstance = ZCQuickML.getInstance(); // メソッドを実行する ZCQuickMLDetail result = quickMlInstance.predict(EndPointKey, map); System.out.println(result.getStatus()); // 結果のステータスを返す System.out.print(result.getResult()); // 結果のデータを返す --- ## SDK — Node JS — QuickML -------------------------------------------------------------------------------- title: "QuickMLエンドポイントの実行" description: "このページでは、サンプルコードスニペットを使用して、NodeJSアプリケーションでQuickMLエンドポイントを実行するメソッドについて説明します。" last_updated: "2026-09-08T11:24:16.760Z" source: "https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/quickml/execute-quickml-endpoints/" service: "QuickML" related: - QuickML (/ja/quickml/) - QuickML Pipeline Endpoints (/ja/quickml/help/pipeline-endpoints/) -------------------------------------------------------------------------------- # Catalyst QuickML Catalyst QuickMLは、ノーコードの機械学習パイプラインビルダーサービスであり、事前構築されたMLアルゴリズム、操作、データ前処理技術を多数実装し、データセットに接続してMLモデルを構築・公開できます。データパイプラインとMLパイプラインを公開した後、認証済みエンドポイントを使用して作成したモデルにアクセスできます。 ### QuickMLエンドポイントの実行 以下のコードスニペットを使用すると、公開されたQuickMLエンドポイントに入力データを渡し、MLモデルの処理に基づいて結果を予測できます。出力は、MLパイプラインの作成時に定義されたターゲットカラムの値の予測を返します。 注意: 1. 以下のコードスニペットで結果を予測するコードを実行する前に、Catalystコンソールを使用してプロジェクト内でMLパイプラインとモデルのエンドポイントを設定・公開しておく必要があります。 2. QuickMLは現在、JP、SA、またはCAデータセンターからアクセスするCatalystユーザーには利用できません。 以下に示すようにquickmlコンポーネントインスタンスを作成します。これはサーバーサイドの呼び出しを実行しません。入力データをキーと値のペアとしてモデルのエンドポイントに渡すことができます。以下のendpoint_keyは、プロジェクトで設定されたMLモデル用に公開されたエンドポイントの一意のIDです。エンドポイントキーと入力データが実行のためにpredict()メソッドに渡されます。 // 入力データ const input_data = { // データセットに応じて列名と値を入力する "column_name1": "value1", "column_name2": "value2", "column_name3": "value3" } // QuickMLインスタンスを作成する const quickml = app.quickML(); // predictメソッドを実行する const result = await quickml.predict("{endpoint_key}",input_data); // {endpoint_key}をCatalystコンソールからコピーしたエンドポイントキーに置き換えてください console.log(result); 受信する出力の構文を以下に示します: { 'status': 'success', 'result': ["results....."] } --- ## SDK — Python — QuickML -------------------------------------------------------------------------------- title: "QuickMLエンドポイントの実行" description: "このページでは、PythonアプリケーションでQuickMLエンドポイントを実行する方法をサンプルコードスニペットと共に説明します。" last_updated: "2026-09-08T11:24:16.761Z" source: "https://docs.catalyst.zoho.com/ja/sdk/python/v1/quickml/execute-quickml-endpoints/" service: "QuickML" related: - QuickML Help (/ja/quickml/) - QuickML Pipeline Endpoints (/ja/quickml/help/pipeline-endpoints/) - SDK Scopes (/ja/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Catalyst QuickML Catalyst QuickMLは、ノーコードの機械学習パイプラインビルダーサービスで、事前構築されたMLアルゴリズム、操作、データ前処理技術のホストを実装し、データセットに接続してMLモデルを構築および公開できます。MLパイプラインを公開した後、認証済みのエンドポイントで作成したモデルにアクセスできます。 ### QuickMLエンドポイントの実行 以下のコードスニペットを使用すると、公開されたQuickMLエンドポイントに入力データを渡し、MLモデルの処理に基づいて結果を予測できます。出力は、MLパイプライン作成時に定義されたターゲット列の値の予測を返します。 注意: 1. 以下のコードスニペットで結果を予測するには、Catalystコンソールを使用してプロジェクト内でMLパイプラインとモデルのエンドポイントを構成および公開しておく必要があります。 2. QuickMLは現在、JP、SA、またはCAデータセンターからアクセスするCatalystユーザーには利用できません。 quickmlコンポーネントインスタンスは以下のように作成されます。これはサーバーサイドの呼び出しを実行しません。モデルのエンドポイントにキーバリューペアとして入力データを渡すデータディクショナリを作成する必要があります。以下のendpoint_keyは、プロジェクトで構成されたMLモデルに対して公開されたエンドポイントの一意のIDです。エンドポイントキーと入力データは、実行のためにpredict()メソッドに渡されます。以下のコードで使用されているappリファレンスは、SDK初期化時にレスポンスとして返されるPythonオブジェクトです。 **使用パラメータ** <table class="content-table"> <thead> <tr> <th class="w20p">パラメータ名</th> <th class="w60p">定義</th> </tr> </thead> <tbody> <tr> <td>endpoint_key</td> <td>必須パラメータ。MLモデルに対して公開されたエンドポイントの一意のIDを格納します。</td> </tr> <tr> <td>input_data</td> <td>必須パラメータ。QuickMLエンドポイントに公開するデータを格納します。</td> </tr> </tbody> </table> # 入力データ辞書 input_data = { # データセットに応じてカラム名と値を指定する "column_name1": "value1", "column_name2": "value2", "column_name3": "value3", } #QuickMLインスタンスを作成する quickml = app.quick_ml() #メソッドを実行する result = quickml.predict("{endpoint_key}", input_data) #{endpoint_key}をCatalystコンソールからコピーしたエンドポイントキーに置き換える print(result) 受信される出力の構文を以下に示します: { "status":"success", "result":[ "results....." ] } 情報: 上記の操作を実行するために必要な権限レベルを確認するには、SDKスコープの表を参照してください。 --- ## FAQ — QuickML # 一般 AutoMLを使用すると、モデルをトレーニングするための適切なMLアルゴリズムの選択、データの前処理やプロファイリング、モデルの管理など、複雑なMLトレーニングプロセスに関与することなく、トレーニングデータのセットを簡単に分析し、データセットに対する予測分析を生成できます。Catalystは必要なモデルのトレーニングを実装し、プロセス全体を自動化します。 一方、QuickMLではMLおよびデータ操作の管理をより細かく制御でき、効果的なMLモデルをエンドツーエンドで構築、テスト、デプロイ、監視できます。多数のデータ前処理および変換操作の実行、トレーニング用のMLアルゴリズムの選択、必要に応じたパイプラインの設計をすべてコーディングなしで行うことができます。 ユーザーデータはZohoで適用されるすべてのセキュリティ対策に準拠して暗号化され、安全に保存されます。アップロードされたデータは、QuickMLプラットフォームのアルゴリズムの精度向上には使用されません。ユーザーが設定した意図されたカスタマーモデルのトレーニングにのみ使用されます。 Catalystプロジェクトは、処理されるデータ間の明確な分離を提供するように設計されています。あるプロジェクトから別のプロジェクトのデータにアクセスすることはできません。 <!-- Model training cost is calculated based on the below metrics. **Training cost** = Memory cost + CPU usage cost\ **CPU usage cost** = Average CPU Usage per Second * Cost per vCPU second\ **Memory usage cost** = Memory used / GB-second #### Cost per unit: **vCPU second** = 0.03 Rupees\ **1 GB per second cost** = 0.01 Rupees --> # データセット データ品質スコアは、データセットに存在する無効値と欠損値を考慮した内部メトリクスによって計算されます。 Zoho CRM Bulk APIを使用すると、同期が設定されている場合でも、最大60万レコードがQuickMLに取得されます。 データセット詳細ページのSync Frequencyドロップダウンボックスでnoneオプションを選択することで、特定のデータセットの同期オプションを編集できます。 # Pipelines はい。Add Datasetステージを使用して必要なデータセットを設定することで、1つのパイプラインで複数のデータセットを使用できます。 Data Pipelineは元のデータセットに対してデータ前処理を行い、将来のパイプライン作成のためにデータセットを再利用することを目的としています。そのため、Data Pipelineにはデータ操作のみが含まれますが、ML Pipelineにはデータ操作とML操作の両方が含まれます。 データセット詳細ページのプロファイルはデータ全体の詳細を表しますが、ソースステージのプロファイルは元のデータセットからサンプリングされたデータの詳細を表します。 いいえ。パイプラインのターゲット列が保存された後は変更できません。新しいターゲット列で実験するには、新しいMLパイプラインを作成する必要があります。 Zia機能は、一般的なユースケースを解決するために大規模なオープンソースデータセットを使用して事前トレーニングされた自社開発のML/DLモデルであり、データ前処理機能を強化するためにビルダーに統合されています。 すべてのパイプライン実行はQuickML内でキューに入れられ、非同期で処理されます。需要に基づいて実行が行われます。 場合によっては、計算コストが高い操作があり、遅延が発生する可能性があります。ただし、パイプライン実行のステータスは、実行が成功または失敗した時点でそれぞれ更新されます。 # モデル モデルは、Modelパイプラインが正常に実行された時点で自動的に作成されます。 モデルが作成されると、そのモデルとパイプラインに関連する詳細をModelsモジュールで確認できます。 # エンドポイント モデルのエンドポイントを作成すると、QuickMLプラットフォームは自動的にモデルの動作をテストおよび検証するためのREST APIエンドポイントを有効にします。これは1000回の呼び出しまで無料で使用できます。 エンドポイントの検証後、本番グレードの統合のために本番環境でアクセスできるよう公開する必要があり、使用量に応じて課金されます。 <!-- No. Only successful API invocations will be charged as per pricing tiers. --> QuickMLエンドポイントを統合するために2つのモードが利用可能です。 **REST API:** Zoho OAuth認証済みの[REST API](/ja/quickml/help/pipeline-endpoints/)呼び出し。\ **QuickML SDK:** [Java](/ja/sdk/java/v1/quickml/execute-quickml-endpoints/)、[Python](/ja/sdk/python/v1/quickml/execute-quickml-endpoints/)、[Node.js](/ja/sdk/nodejs/v2/quickml/execute-quickml-endpoints/) Catalyst SDKを使用した外部呼び出し。