データサイエンス

データサイエンスの専門家、機械学習の専門家、およびこの分野に関する知識が豊富な方へ

5
「バランスのとれた」データセットと「代表的な」データセットのどちらを選ぶべきですか?
私の「機械学習」タスクは、悪意のあるトラフィックから良性のインターネットトラフィックを分離することです。現実の世界のシナリオでは、インターネットトラフィックのほとんど(たとえば90%以上)が無害です。したがって、モデルのトレーニングにも同様のデータ設定を選択する必要があると感じました。しかし、「クラスバランシング」データアプローチを使用してモデルをトレーニングし、同数の良性および悪意のあるトラフィックのインスタンスを暗示している研究論文(私の研究分野)に出会いました。 一般に、機械学習モデルを構築している場合、実世界の問題を代表するデータセット、またはモデルの構築に適したバランスの取れたデータセットを選択する必要があります(特定の分類子がクラスの不均衡でうまく動作しないため、または私に知られていない他の理由による)? 誰かが選択の長所と短所、そしてどちらを選択するかを決定する方法の長所と短所にもっと光を当てることができますか?

9
大量の(バイナリ)データのバージョン管理を処理する方法
私は地球物理学の博士課程の学生であり、大量の画像データ(数十GB、数万のファイル)を扱っています。私はプロジェクトの歴史を十分に知ってsvnおりgit、大切にし、簡単に連携し、ディスクの破損から保護する能力を備えています。私は見つけることgitも一貫性のあるバックアップを持つために非常に役立つが、私はそのgitのが効率的に大量のバイナリデータを扱うことができない知っています。 修士課程の研究では、同様のサイズのデータ​​セット(画像も)に取り組み、さまざまなサーバー/デバイスでさまざまなバージョンを追跡するのに多くの問題がありました。ネットワーク上で100GBを差分するのは本当に面白くなく、多くの時間と労力がかかります。 科学の他の人たちも同様の問題を抱えているようですが、良い解決策を見つけることができませんでした。 私は研究所のストレージ設備を使いたいので、「ダム」サーバーを使用できるものが必要です。また、可能な限りネットワーク上で数百GBの転送を避けたいので、ポータブルハードディスクに追加のバックアップを作成したいと思います。したがって、複数のリモートロケーションを処理できるツールが必要です。 最後に、他の研究者が使用できるものが本当に必要なので、それは非常に単純である必要はありませんが、数時間で学習できるはずです。 私は多くの異なるソリューションを評価しましたが、法案に合うものはありません: SVNはやや非効率的であり、スマートサーバーが必要です hg bigfile / largefileは1つのリモートのみを使用できます git bigfile / mediaはリモートを1つしか使用できませんが、あまり効率的でもありません 屋根裏部屋にはログや差分機能がないようです bupは本当に良さそうですが、動作するには「スマート」サーバーが必要です 私は試してみましたがgit-annex、これは私がそれを行うために必要なすべてのことを行います(そしてそれ以上)私はこれを数日間使用しましたが、頭を動かすことができなかったので、他の同僚が興味を持っているとは思いません。 研究者は大規模なデータセットをどのように扱い、他の研究グループは何を使用していますか? 明確にするために、私は主に、この特定のデータセットだけでなく、他の研究者がこの状況にどのように対処するかに興味があります。ほとんどの人がこの問題を抱えているはずですが、それを解決した人は誰も知りません。元のデータのバックアップを保持し、このバージョン管理機能をすべて忘れる必要がありますか?それは他のみんながやっていることですか?

9
RプログラミングのIDEの代替(RStudio、IntelliJ IDEA、Eclipse、Visual Studio)
RプログラミングにはRStudioを使用しています。Visual StudioやEclipseなど、他のテクノロジースタックの堅牢なIDEについて覚えています。 2つの質問があります。 RStudio以外のIDE-sが使用されています(それらについての簡単な説明を提供することを検討してください)。 それらのいずれかがRStudioよりも顕著な利点を持っていますか? 私はほとんどの場合、それ自体のコーディングに加えて、デバッグ/ビルド/デプロイ機能を意味します(したがって、テキストエディターはおそらくソリューションではありません)。
46 r  tools  rstudio  programming 


9
データサイエンティストの仕事はどの程度のデータの問題ですか?
現在、小売企業のデータサイエンティストとして働いています(DSとしての最初の仕事です。この質問は、私の経験不足の結果かもしれません)。それらには、実装された場合に大きなプラスの影響を与える本当に重要なデータサイエンスプロジェクトの膨大なバックログがあります。しかし。 データパイプラインは社内に存在しないため、標準的な手順では、何らかの情報が必要なときにいつでもギガバイトのTXTファイルを渡すことができます。これらのファイルは、不可解な表記法と構造で保存されたトランザクションの表形式のログと考えてください。1つのデータソースにすべての情報が含まれているわけではなく、「セキュリティ上の理由」でERPデータベースへのアクセスを許可することはできません。 最も単純なプロジェクトの初期データ分析には、残忍で耐え難いデータの論争が必要です。プロジェクトに費やした時間の80%以上は、実行可能なデータセットを構築するためにこれらのファイルを解析し、データソースをクロスしようとしていることです。これは単に欠落しているデータを処理したり、前処理したりする問題ではなく、最初に処理できるデータを構築するために必要な作業に関するものです(データサイエンスではなく、dbaまたはデータエンジニアリングで解決可能ですか?)。 1)ほとんどの作業がデータサイエンスにまったく関係していないように感じます。これは正確ですか? 2)これは高レベルのデータエンジニアリング部門を持つデータ駆動型企業ではないことを知っていますが、データサイエンスプロジェクトの持続可能な未来に向けて構築するためには、最低限のレベルのデータアクセシビリティが必要であると考えています。私が間違っている? 3)このタイプのセットアップは、深刻なデータサイエンスのニーズを持つ企業に共通ですか?

3
LSTMモデルのパラメーターの数
シングルスタックLSTMにはいくつのパラメーターがありますか?パラメータの数は、必要なトレーニング例の数に下限を課し、トレーニング時間にも影響します。したがって、パラメーターの数を知ることは、LSTMを使用したモデルのトレーニングに役立ちます。

4
時系列モデルLSTMへの機能の追加
LSTMと時系列でのLSTMの使用について少し読んでおり、興味深いが同時に難しかった。私が理解するのに苦労したことの1つは、既に時系列機能のリストであるものに追加機能を追加するアプローチです。データセットが次のようになっていると仮定します。 t-3、t-2、t-1、出力 次に、出力に影響する機能があることを知っていると言いましょうが、必ずしも時系列機能であるとは限りません。外の天気を言ってみましょう。これはあなたがただ追加できるもので、LSTMは時系列の側面とそうでないものを区別することができますか?

6
機密データセットの名前を変換して匿名にする一方で、名前の特性の一部を保持するにはどうすればよいですか?
動機 私は個人を特定できる情報(PII)を含むデータセットを使用しており、データセットの一部を第三者と共有する必要がある場合があります。ここでの通常のアプローチは、データを完全に保留するか、場合によってはその解像度を下げることです。たとえば、正確な住所を対応する郡または国勢調査区に置き換える。 これは、サードパーティがタスクにより適したリソースと専門知識を持っている場合でも、特定のタイプの分析と処理を社内で行う必要があることを意味します。ソースデータは公開されていないため、この分析と処理の進め方には透明性がありません。その結果、QA / QCを実行したり、パラメータを調整したり、改良したりするサードパーティの能力は非常に制限される場合があります。 機密データの匿名化 1つのタスクには、エラーと矛盾を考慮しながら、ユーザーが送信したデータで名前で個人を識別することが含まれます。個人は、ある場所では「デイブ」、別の場所では「デビッド」として記録される場合があります。営利団体はさまざまな略語を使用でき、常にいくつかのタイプミスがあります。名前が異なる2つのレコードが同じ個人を表す場合を判断し、それらに共通のIDを割り当てるいくつかの基準に基づいてスクリプトを開発しました。 この時点で、名前を控えてこの個人ID番号で置き換えることにより、データセットを匿名にすることができます。しかし、これは受信者がマッチの強さなどについてほとんど情報を持っていないことを意味します。身元を明かすことなく、できるだけ多くの情報を渡すことができるようにしたいと思います。 機能しないもの たとえば、編集距離を維持しながら文字列を暗号化できると便利です。このように、サードパーティは独自のQA / QCの一部を実行したり、PIIにアクセスしたり(リバースエンジニアリングを実行したりすることなく)独自の追加処理を選択したりできます。おそらく、編集距離<= 2で社内の文字列を照合し、受信者は編集距離<= 1でその許容範囲を狭めることの意味を調べたいと考えています。 しかし、私がこれに慣れている唯一の方法はROT13(より一般的には、任意のシフト暗号)であり、暗号化とは見なされません。それは、名前を逆さまに書いて、「あなたは紙をひっくり返さないと約束しますか?」 別の悪い解決策は、すべてを短縮することです。「Ellen Roberts」は「ER」などになります。これは、公開データに関連するイニシャルが個人の身元を明らかにする場合と、あいまいすぎる場合があるため、不十分なソリューションです。「ベンジャミン・オセロ・エイムズ」と「バンク・オブ・アメリカ」の頭文字は同じになりますが、それ以外の名前は異なります。だから、私たちが望むもののどちらもしません。 洗練されていない代替方法は、名前の特定の属性を追跡するために追加フィールドを導入することです。例えば: +-----+----+-------------------+-----------+--------+ | Row | ID | Name | WordChars | Origin | +-----+----+-------------------+-----------+--------+ | 1 | 17 | "AMELIA BEDELIA" | (6, 7) | Eng | +-----+----+-------------------+-----------+--------+ | 2 | 18 | …

1
LeakyReLUとPReLUの違いは何ですか?
私は、PReLUとLeaky ReLUの両方がだと思った f(x)=max(x,αx) with α∈(0,1)f(x)=max(x,αx) with α∈(0,1)f(x) = \max(x, \alpha x) \qquad \text{ with } \alpha \in (0, 1) ただし、Kerasにはdocsに両方の機能があります。 リーキーReLU LeakyReLUのソース: return K.relu(inputs, alpha=self.alpha) したがって(reluコードを参照) f1(x)=max(0,x)−αmax(0,−x)f1(x)=max(0,x)−αmax(0,−x)f_1(x) = \max(0, x) - \alpha \max(0, -x) PReLU PReLUのソース: def call(self, inputs, mask=None): pos = K.relu(inputs) if K.backend() == 'theano': neg = (K.pattern_broadcast(self.alpha, …

2
ニューラルネットワークの画像を準備/拡張する方法は?
画像分類にニューラルネットワークを使用したいと思います。事前に訓練されたCaffeNetから始めて、アプリケーション用に訓練します。 入力画像をどのように準備すればよいですか? この場合、すべての画像は同じオブジェクトですが、バリエーションがあります(品質管理と考えてください)。それらは多少異なる縮尺/解像度/距離/照明条件にあります(多くの場合、縮尺がわかりません)。また、各画像には、ネットワークが無視する対象オブジェクトの周囲の領域(既知)があります。 (たとえば)各画像の中心を切り取ることができます。これには、関心のあるオブジェクトの一部が含まれ、無視される領域は含まれないことが保証されています。しかし、それは情報を捨ててしまうように思われ、また結果は実際には同じスケールではありません(おそらく1.5倍のバリエーション)。 データセットの増強 ランダムクロップ/ミラー/その他によってさらにトレーニングデータを作成することを聞いたことがありますが、これに標準的な方法はありますか?分類器の精度がどれだけ向上するかについての結果はありますか?

6
距離メトリックとしてのコサイン類似度とドット積
2つの特徴のコサインの類似性は、大きさの積でスケーリングされたドット積にすぎないようです。コサインの類似性は、内積よりも優れた距離メトリックを作成するのはいつですか?すなわち、ドット積とコサインの類似性は、異なる状況で異なる長所または短所を持っていますか?

7
ValueError:入力にNaN、無限大、またはdtype( 'float32')には大きすぎる値が含まれています
RandomForestモデルを使用してテストデータを予測すると、ValueErrorが発生しました。 私のコード: clf = RandomForestClassifier(n_estimators=10, max_depth=6, n_jobs=1, verbose=2) clf.fit(X_fit, y_fit) df_test.fillna(df_test.mean()) X_test = df_test.values y_pred = clf.predict(X_test) エラー: ValueError: Input contains NaN, infinity or a value too large for dtype('float32'). テストデータセットで不適切な値を見つけるにはどうすればよいですか?また、これらのレコードを削除したくないのですが、平均値または中央値に置き換えることはできますか? ありがとう。

10
機械学習モデルがブラックボックスと呼ばれるのはなぜですか?
私は、金融界がAIのブラックボックスを開きたいというタイトルのこのブログ記事を読んでいました。著者はMLモデルを「ブラックボックス」と繰り返し呼んでいます。 MLモデルを参照する場合、いくつかの場所で同様の用語が使用されています。なぜそうですか? MLのエンジニアがニューラルネットの内部で何が起こっているのかを知らないわけではありません。すべてのレイヤーは、使用するアクティベーション関数、そのタイプのレイヤーが何をするか、エラーがどのように伝播されるかなどを知っているMLエンジニアによって選択されます。

4
すべてのトレーニングデータを含む単一の「バッチ」よりもミニバッチサイズの方が優れているのはなぜですか?
ディープラーニングモデルの場合、通常のプラクティスは、いくつかのトレーニングエポックにミニバッチ(通常は小さなバッチ、32/64)を適用することです。この理由を本当に理解することはできません。 誤解がない限り、バッチサイズとは、トレーニングの反復中にモデルから見られるトレーニングインスタンスの数です。エポックは、各トレーニングインスタンスがモデルによって認識されたときの完全なターンです。その場合、各ターンで利用可能なトレーニングインスタンスをすべてモデルに公開することで「最大バッチ」を適用するのとは対照的に、トレーニングインスタンスのほとんど意味のないサブセットを数回反復する利点を見ることができません(もちろん、想い出)。このアプローチの利点は何ですか?

10
機械学習アルゴリズムはスポーツのスコアやプレーを予測できますか?
さまざまなNFLデータセットがあり、それらは良いサイドプロジェクトになりそうですが、まだ何もしていません。 このサイトに来て、機械学習アルゴリズムについて考えました。サッカーの試合の結果や次の試合の結果を予測するのにどれほど優れているのか疑問に思いました。 特定できる傾向があるように思われます。3日目と1日目には、理論的に強いランニングバックを持つチームは、その状況でボールを走らせる傾向があります。 得点を予測するのはより難しいかもしれませんが、勝利チームはそうかもしれません。 私の質問は、これらが機械学習アルゴリズムに投げかけるのに適した質問かどうかです。以前に1000人が試したことがあるかもしれませんが、スポーツの性質上、信頼性の低いトピックになっています。

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