データを集約して分析する最良の方法


13

最近、機械学習とデータ分析を自分で教え始めたので、大量のデータを作成してクエリを実行する必要性に直面しています。私は自分の職業生活や個人生活で収集してきたデータを取得して分析したいと思いますが、次のことを行うための最良の方法がわかりません。

  1. このデータをどのように保存する必要がありますか?エクセル?SQL??

  2. 初心者がこのデータを分析しようとする良い方法は何ですか?私はプロのコンピュータープログラマーですので、複雑さはプログラムを書くことではなく、データ分析の分野に多少なりとも特有です。

編集:私のあいまいさをおologiesび申し上げます。最初に何かについて学び始めたとき、あなたが知らないことを知るのは難しいですよね?;)

そうは言っても、私の目標はこれを2つの主要なトピックに適用することです。

  1. ソフトウェアチームのメトリクス(アジャイルの速度、リスクの定量化、xポイントのストーリーポイントが与えられた場合に反復が正常に完了する可能性を考える)

  2. 機械学習(例:特定のモジュールのセットでシステム例外が発生しました。フィールドでモジュールが例外をスローする可能性、そのコスト、データが改善する重要なモジュールについて教えてくれること私は自分の支出に見合う最高の価値を持ち、データの読み込みを開始するためにユーザーが次に使用するシステムの部分を予測します)。


これは私には非常にあいまいに思えます。どのようなデータ、どのような分析ですか?また、主観的な場合、これはコミュニティwikiである必要があります。
シェーン

回答:


19

大きなデータセット(Excelまたはメモ帳の読み込みが遅くなるデータセット)がある場合は、データベースを使用することをお勧めします。Postgresはオープンソースで非常によくできており、JMP、SPSS、その他のプログラムと簡単に接続できます。この場合、サンプリングすることもできます。データベース内のデータを正規化する必要はありません。それ以外の場合、CSVは共有に適しています。

1億行以上ある場合は、Apache Hiveを検討してください。

分析の観点から、ここにいくつかの出発点があります。

1つの変数を説明します。

  • ヒストグラム
  • 要約統計(平均、範囲、標準偏差、最小、最大など)
  • 外れ値はありますか?(1.5倍の四分位範囲より大きい)
  • それはどのような分布に従っていますか?(通常など)

変数間の関係を説明します。

  • 散布図
  • 相関
  • 外れ値?マハラノビス距離をご覧ください

  • カテゴリカルのモザイクプロット

  • カテゴリカルの分割表

実数(価格など)の予測:回帰

  • OLS回帰または機械学習回帰の手法

  • 予測に使用される手法が人間に理解可能な場合、これはモデリングと呼ばれます。たとえば、ニューラルネットワークは予測を行うことができますが、通常は理解できません。回帰を使用して、主要業績評価指標も見つけることができます。

クラスメンバーシップまたはクラスメンバーシップの確率(合格/不合格など)を予測する:分類

  • SVMなどのロジスティック回帰または機械学習手法

観測値を「自然な」グループに入れる:クラスタリング

  • 一般に、それらの間の距離を計算することにより、「類似した」観測を見つけます。

属性を「自然な」グループに入れる:ファクタリング

  • PCA、NMFなどの他の行列演算

リスクの定量化 =標準偏差、または「悪いこと」が発生する時間の割合xどれだけ悪いか

xストーリーポイント数 =ロジスティック回帰が与えられた場合に、正常に完了した反復の可能性

幸運を!


これはすごかった。この反応に感謝します。あなたは私に大きなジャンプオフポイントを与えました。あなたが私がいる場所を「得る」ように見えるので、あなたが推薦する本。
ジャスティンボゾニエ

いいえ、どいたしまして。本:開始する平易な英語の統計。その後の髪による多変量データ分析。これらは優れたWebリソースです。itl.nist.gov / div898
ニール

4

システム障害を調べている場合、eBayの障害診断に機械学習技術を採用している次の論文に興味があるかもしれません。収集するデータの種類や、あるチームが同様のドメインの特定の問題にどのようにアプローチしたかを知ることができます。

始めたばかりの場合は、RapidMinerOrangeのようなものが、データをすぐに再生し始めるのに適したソフトウェアシステムかもしれません。どちらも、さまざまな形式(ファイルcsv、データベースなど)でデータにアクセスできます。


3

あなたの質問は非常に広いので、答えは次のとおりです。それでも、より有用な答えを提供するために、私は研究で一般的だと思うことを示します。

データの保存は、多くの場合テキストファイルで行われます。統計分析を行う場合、主に1種類のベクトルのコレクションを使用します。これはテーブルとして見ることができ、csv形式で記述できます。シンがしばしばプレーンテキストで保存される理由は、単にすべてのツールがそれらを読むことができ、それらを変換するのが簡単だからです。

分析について、これは特定するのが少し難しいです。2次元の場合、散布図を作成します。高次元の場合は、PCAを実行し、重要な変数を発見するために最初の主成分がどこにあるかを確認します。時間データがある場合は、プロットします。これは非常に一般的であるため、有用であるためには、データが何であるかをより正確に示す必要があります。


ピーター、あなたは私をパンチで打ちました!データをテキストとして保存することに完全に同意しますが、サイズ(数億個のobs)によっては、マップを縮小可能なデータベース(Pig、Cassandra、またはNoSQLオプションのいずれか)に移動する必要がある場合があります。
ドリューコンウェイ

ああ、面白い!それでは、各変数のデータを取得し、それを行と列の形式でレイアウトし、数値計算処理を実行しますか?私が見るべきツールはありますか、それとも何かをプログラミングするだけですか?
ジャスティンボゾニエ

Rは、統計用の非常に広範な(および無料の)ツールキット/プログラミング言語/ライブラリです。しかし、ほとんどのことで私のお気に入りはPythonとSciPy / NumPy
Peter Smit

0

ROOTが本当に得意とすることの1つは、膨大な量のデータを保存することです。ROOTは素粒子物理学で使用されるC ++ライブラリです。また、RubyおよびPythonバインディングが付属しているため、これらの言語(NumPyまたはScipyなど)のパッケージを使用して、ROOTがすぐに使用できる可能性がほとんどない場合にデータを分析できます。

ROOTファイル形式にはツリーまたはタプルを格納でき、エントリを順番に読み取ることができるため、すべてのデータを同時にメモリに保持する必要はありません。これにより、ExcelやRで試したくないペタバイトのデータを分析できます。

ROOT I / Oのドキュメントは、ここからアクセスできます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.