コースの住所:山東大学バイオインフォマティクス
記事ディレクトリ
7. データマイニング
●データマイニングの 3 つの要素
- 統計
- データベースシステム
- 機械学習
7.1 データベースシステム
●データベースシステム
- データベースシステム DBS: システム(DB+DBMS)
- データベース管理システム DBMS:Database Management System(管理用ソフトウェア)
- DatabaseDB:データベース(データストレージ)
- データベースシステム = データベース + データベース管理システム
●データベースの種類
- リレーショナル データベース: データを表形式で保存します。
- オブジェクト指向データベース: XML 形式のストレージ、明確で柔軟な構造、複雑な生物学的データの保存に適しています。
●一般的に使用されるデータベース システム
- リレーショナルデータベースシステム:MySQL(SQL言語)
- オブジェクト指向データベースシステム:exist-db(JAVA、XQuery言語ベース)
7.2 機械学習
- 機械学習(機械学習): 主に、コンピューターが自動的に「学習」できるようにするいくつかのアルゴリズムを設計および分析することです。これらのアルゴリズムは、データから法則を取得し、これらの法則を使用して未知のデータを予測するアルゴリズムの一種です。
- 機械学習の実現:コンピュータに学習させる必要のあるオブジェクトをベクトルに変換し、ベクトルでオブジェクトを記述し、コンピュータにベクトル値を読み取らせる。好き:
一般的な機械学習タスク
1.分類: 背景知識に基づいて、新しいオブジェクトがどのカテゴリに属するかを判断します。
2. クラスタリング:背景知識がなければ、新しいオブジェクトのグループについて、すべての新しいオブジェクトはその属性を判断してグループ化されます。
3. 回帰: 背景知識を使用して、背景知識に基づいて x1、x2、…、xn と y の間の量的関係を推定し、それに応じて新しいオブジェクトの y を計算します。
K 相互検証
-
クラスタリングでは、背景知識を学習するためのトレーニング セット データは必要ありません (教師なし)。
-
回帰と分類では、予測モデルをトレーニングするための背景知識 (教師あり) を学習するトレーニング グループ データが必要です。予測モデルがトレーニングされた後、トレーニング グループの一部をテスト グループ データとして取得して、予測モデルの精度をテストする必要が あります。モデル。
training dataset
test dataset
-
理論的には、結果がわかっているすべてのデータをトレーニングに使用する必要があります。トレーニング データ以外のデータは結果がわからないため、テストに使用できません。トレーニング データをテストに使用すると過剰学習になり、テスト データをテストに使用すると過学習になります。 learning ; K 回の相互検証を使用すると、機械学習の効果をテストする一般的な方法の 1 つである過剰学習と過小学習を回避できます。
-
K分割相互検証: すべての既知の結果のデータを k 個の部分に分割します。最初の部分をテスト グループ データとして取得し、残りの k-1 部分をトレーニング グループ データとして使用してモデルをトレーニングし、そのテスト グループ データを使用してモデルの精度をテストします。その後、2 番目の部分をテスト グループ データを作成し、残りの k-1 個の部分をトレーニング グループ データとして使用する モデルをトレーニングする; など、それぞれを逐次テスト グループ データとして使用する このようにして、同じアルゴリズムを使用して k 個のモデルを構築しますk 回のテストについて k 精度を取得し、平均精度、つまり最終モデル次数の精度を計算します。
-
詳細についてはビデオを参照してください:機械学習-01 P127
機械学習のアルゴリズム
●いくつかの一般的なアルゴリズム:
-
ベイズ: ベイズ定理
一般に、イベント B の条件下でイベント A が発生する確率 (発生) は、イベント A の条件下でイベント B が発生する確率と同じではありませんが、両者の間には明確な関係があり、ベイズイエスの定理はこの関係を表現したものです。参照: [学習ノート] 山東大学バイオインフォマティクス-05 ハイスループット シーケンス技術の紹介 + 06 統計的根拠とシーケンス アルゴリズム (原理)P(A|B) = P(B|A)P(A) / P(B)
-
最近傍: 近隣結合では、座標
系内の既知のオブジェクトを独自の特性属性に従ってマークし、次に座標系内の未知のオブジェクトを独自の特性属性に従ってマークします。新しいオブジェクトは、新しいオブジェクトがどの既知のオブジェクトであっても、そのオブジェクトに最も近い既知のオブジェクトです。
-
デシジョン ツリー: デシジョン ツリー
デシジョン ツリーは、オブジェクトの属性とオブジェクトの値のマッピングを表す予測モデルであり、ツリーの各ノードはオブジェクトの属性の判定条件を表し、その枝はノードの条件を満たすオブジェクトを表します。ツリーの葉ノードは、オブジェクトが属する予測結果を表します。
-
サポート ベクター マシン: サポート ベクター マシン
サポート ベクター マシンは2 カテゴリ モデルですが、マルチ カテゴリに拡張することもできます。間隔の最大化に基づいたその機能により、線形または非線形の分類問題をより柔軟に処理できます。
最近傍法と同様に、オブジェクトはその属性に従って座標系でマークされ、異なるオブジェクトをできる限り分離するために線が引かれ、最も近いオブジェクトからその両側の線までの垂直距離が求められます。ラインはできるだけ大きく(最大間隔、最大および最小距離)、新しいオブジェクトがライン上にある場合、それはどのオブジェクトに属します。
-
遺伝的アルゴリズム
-
人工ニューラルネットワーク
-
さらに多くのアルゴリズム...
7.3 ウェカ
- WEKA Waikato Environment for Knowledge Analysis (Waikato Environment for Knowledge Analysis) は、アルゴリズムを気にすることなく、データを入力し、既製のアルゴリズムを選択して、結果モデルを出力する無料のデータ マイニング ソフトウェアです。
- Weka 3: Java の機械学習ソフトウェア
- WEKA は
ARFF
、ASCII テキスト ファイルである (Attribute-Relation File Format) 形式でデータを保存します。EXCELファイルを直接読み込むことはできません。 - 詳細についてはビデオを参照してください:機械学習-01 P127
- WEKA の用語: ◆
テーブル内の行はインスタンス( )と呼ばれ、Instance
統計のサンプルまたはデータベースのレコードに相当します。
◆表の縦の行は属性( )と呼ばれ、Attrbute
統計における変数やデータベースのフィールドに相当します。
◆ このようなテーブルまたはデータセットは、WEKA の観点から、属性間の関係( ) を表します。たとえば、以下の図の WEKA の関係は天気です。Relation
7.3.1 ARFF ファイル形式
● WEKA は改行とスペースに基づいて ARFF ファイルを読み取るため、改行やスペースを任意に追加することはできず、空白行やスペースでいっぱいの行は無視されます。
●%
コメント行で始まる
●ヘッド情報(Head information)。関係の宣言と属性の宣言が含まれます。
- 関係宣言: 関係名は ARFF ファイルの有効な最初の行で定義され、形式は次のとおりです。 は
@relation relation-name
文字relation-name
列です。文字列にスペースが含まれる場合は、引用符で囲む必要があります(単一引用符または二重引用符の場合)。英語の句読点)。 - 属性宣言: 各属性の属性名と属性タイプを定義するために使用されます。形式は次
@attribute attr-name attr-type
のとおりです。 attr-name は文字で始まる文字列です。リレーション名の場合と同様、この文字列にスペースが含まれる場合は引用符で囲む必要があります。
属性宣言ステートメントの順序は、データ セクション内の属性の位置を示します。最後に宣言された属性はクラス属性と呼ばれます。分類タスクまたは回帰タスクでは、これがデフォルトのターゲット変数になります。
●データ情報(Data information)、つまりデータセットで与えられるデータ。
- データ情報の
@data
1 行。次に、すべてのインスタンスのデータ情報が表示されます。各インスタンスは 1 行を占めます。インスタンスの属性値はカンマ,
で区切られます。属性の値が欠損値(欠損値) の場合は疑問符?
で表され、この疑問符は省略できません。例:
@data
Sunny,85,85,FALSE,no
?,78,90,?,yes - 文字列および公称プロパティの値は大文字と小文字が区別されます。値にスペースが含まれる場合は、引用符で囲む必要があります。
7.3.2 ARFF 属性のタイプと形式の変換
● ARFF 形式には 4 つの属性タイプがあります。
-
数値
numeric
形式:@attribute name numeric
注:
numeric = integer = real
"integer"、"real"、"numeric"、"date"、"string" これらのキーワードは大文字と小文字が区別されます。
「relation」、「attribute」、「data」は大文字と小文字が区別されません。 -
公称
nominal-specification
形式:@attribute name {nominal.name1, nominal-name2,...}
注:公称属性は、中括弧で囲まれた
可能なクラス名のセットです。"name" または "nominal-name" にスペースが含まれる場合は、引用符で囲む必要があります。「name」とすべての「nominal-name」は大文字と小文字が区別されます。{}
-
文字列
string
形式:@attribute name string
注:
このタイプの属性は、テキスト マイニングに非常に役立ちます。
「name」にスペースが含まれる場合は、引用符で囲む必要があります。
文字列属性の「データ」には、任意のテキストを含めることができます。スペースは引用符で囲みます。 -
時刻と日付の
date
形式:@attribute name date "<date-format>"
注:
日付と時刻の属性は、一律に「日付」タイプで表されます。
「date-format」は、日時形式を解析して表示する方法を指定する文字列です。
"date-format" 省略した場合は、デフォルトの形式(上記参照)が書き込まれます。
●フォーマット変換
- WEKA は EXCEL ファイルを読み取ることはできませんが、CSV ファイル (列がカンマで区切られたプレーン テキスト ファイル) を読み取ることができ、EXCEL を CSV ファイルとして保存することができます。このファイルは WEKA の ArffViewer で開き、[ファイル] → [名前を付けて保存] でファイルとして保存できます
.arff
。
- 変換された ARFF ファイルには属性タイプが自動的に割り当てられますが、これは不正確である可能性があり、手動での修正が必要です。たとえば、次の図の name 属性は、名目型ではなく文字列型である必要があります。
7.3.2 データの準備: Explorer インターフェイスの概要
-
Explorer インターフェイスは、データの前処理およびマイニング タスクのインターフェイスです。
-
詳細については、ビデオを参照してください: WEKA-03 エクスプローラー インターフェイスの紹介 P131
-
「ファイルを開く」でweather.numeric.arffファイルを開きます。
-
さまざまな機能に応じて、現在の
Precrocess
インターフェースは 8 つの領域に分割できます。
◆ エリア 1 のいくつかのタブを使用して、さまざまなマイニング タスク パネルを切り替えることができます。現在の前処理パネルでは、データのプレビューと前処理を実行できます。
◆ エリア 2 は、よく使用される機能ボタンです。開く、元に戻す、編集、保存などが含まれます。
◆領域3(データ前処理)では、filter
オプションの各種機能を利用することで、データのフィルタリングや属性型の変換を実現できます。
◆ 領域 4 (Current relation
) には、関係名、属性番号、インスタンス番号などのデータ セットの基本情報が表示されます。
◆すべての属性はAttributes
領域 5 ( ) にリストされます。このボタンは一部の属性を削除でき、領域 2 のボタンを使用して削除後に属性を取得できます。エリア 5 の上のボタンの列は、クイッククリックに使用されます。◆ 領域 5 で属性を選択すると、この属性に関する概要が領域 6 ( ) に表示されます。なお、数値属性と名義属性では集計の表示方法が異なります。◆領域 7 は、領域 5 で選択された属性のヒストグラムです。ヒストグラムは公称タイプを反映していますRemove
Undo
Selected attribute
現在選択されている属性のラベルのうち、ターゲット属性 (クラス属性) の各ラベルの分布。WEKA は、デフォルトで最後に定義されたプロパティをターゲット プロパティとして受け取ります。クラス属性のドロップダウン メニューから再選択することもできます。
△Visualize All
すべての属性のヒストグラムを表示できます。名目属性と数値属性のヒストグラムは異なり、数値属性のヒストグラムは平均値に基づいて 2 つのセクションに分割され、各セクションのクラス属性値の分布が個別にカウントされます。
◆ 領域 8 はステータス バーで、ログを確認してプログラムにエラーがあるかどうかを確認できます。weka バードは、タスクの数とタスクのステータスを反映します。ステータス バーを右クリックすると、メモリ ガベージ コレクションも実行されます。
7.3.3 データの前処理
- 詳細についてはビデオを参照してください: WEKA-04 データの前処理 P132
データの前処理 (1)属性変換
- 一部のアルゴリズムは、属性がすべて公称であるデータのみを処理できます。これには、数値属性を公称属性に変換する必要があります。
フィルター - 教師なし - 属性 -Discretize
離散化関数 → パラメーター ボックスをクリックしてパラメーターを設定します (次のように) → 適用します。
attributeIndices
: 変換する属性を選択し、属性の連続番号をカンマで区切って入力します。
bins
: 離散化を複数のセグメントに設定します。つまり、複数の公称値に変換します。
NumericToNominal
この関数は、数値型を公称型に変換することもできます。これは、Discretize 関数とは少し異なります。
データの前処理(2)属性の追加
- 関数を使用して数式を定義し
AddExpression
、それに応じて新しいプロパティを追加します。 - 例: 新しい属性 temp/humi を追加します。その値は、温度の値を湿度の値で割ったものに等しくなります。
- 注: 新しく作成されたプロパティは最後に追加されます。これはWEKAのクラス属性の判断に影響します。クラス属性の選択を手動で修正する必要があります。
7.3.4 マイニングタスクの実行
- 詳細についてはビデオを参照してください: WEKA-05 掘削タスクの実行 P133
- ターゲット属性 (出力変数) は、公称型が分類タスク、数値型が回帰タスクです。
WEKA に付属する一般的なアルゴリズム
●一般的な分類アルゴリズム:
- Bayes (ベイジアン分類器):
BayesNet (ベイジアン信念ネットワーク)
NaiveBayes (ナイーブ ベイジアン ネットワーク) - 機能:
多層パーセプトロン(多層フィードフォワード人工ニューラルネットワーク)、
SMO(サポートベクターマシン) - Trees(決定木分類器):
Id3(ID3決定木学習アルゴリズム)
J48(C4.5決定木学習アルゴリズム)
RandomTree(ランダム決定木アルゴリズム)
RandomForest(決定木に基づく結合法)
●一般的な回帰アルゴリズム:
- 関数:
LinearRegression (ターゲット属性を除く複数の属性がサポートされます)
SimpleLinearRegression (ターゲット属性を除き 1 つの属性のみがサポートされます)
PaceRegression (ペース回帰)
WEKAの実際の運用
- 詳細についてはビデオを参照してください: WEKA-05 掘削タスクの実行 P133
- データ ファイル: weka インストール ディレクトリ内の data/diabetes.arff
- 1. モデルの構築: 8 つの生理学的指標 (分類タスク) を通じて糖尿病の転帰 (陰性または陽性) を予測します。
- 2. 結果出力: テキスト形式の決定木とグラフィカルな決定木。
テキスト形式のデシジョン ツリーにより、予測モデルを自動化するためのさらなるプログラミングが容易になります。
デシジョン ツリーの拡大:
デシジョン ツリーの最後には 2 種類の葉しかありません。予測される糖尿病の転帰は陰性または陽性です。
- 3. 予測精度:
予測された TN、FN、TP、FP を式に代入して、感度や特異度などのさまざまな精度測定パラメーターを計算できます。
いつtesting_negative をポジティブとして定義し、tested_positive をネガティブとして定義しますその後、TN、FN、TP、および FP の別のセットが取得され、別の精度測定パラメータのセットが計算され、2 つの統計結果はそれぞれターゲットの各公称値の予測品質を反映できます。