データサイエンス

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

1
Pandasデータフレームからの多値カテゴリ変数をバイナリエンコードする方法
特定の列に複数の値を持つ次のデータフレームがあるとします。 categories 0 - ["A", "B"] 1 - ["B", "C", "D"] 2 - ["B", "D"] このようなテーブルを取得するにはどうすればよいですか? "A" "B" "C" "D" 0 - 1 1 0 0 1 - 0 1 1 1 2 - 0 1 0 1 注:必ずしも新しいデータフレームは必要ありません。そのようなデータフレームを機械学習により適した形式に変換する方法を考えています。
9 python  pandas 

2
ベクター配列の分類
私のデータセットはベクターシーケンスで構成されています。各ベクトルには50の実数値の次元があります。シーケンス内のベクトルの数は、3〜5〜10〜15の範囲です。つまり、シーケンスの長さは固定されていません。 かなりの数のシーケンス(ベクトルではありません!)には、クラスラベルが付けられています。私の仕事は、一連のベクトルが与えられたときに、シーケンス全体のクラスラベルが計算される分類子を学ぶことです。 データの正確な性質はわかりませんが、シーケンスの性質は一時的なものではありません。それでも、ラベル()を変更せずに、ベクトルをベクトルと交換することはできません。つまり、ベクトルの順序が重要です。ベクトル自体は比較可能です。たとえば、内積を計算し、この類似値を使用することは理にかなっています。バツ私バツ私x_iバツjバツjx_j私≠ j私≠ji \neq j 私の質問は、そのようなデータを分類するのに役立つツール/アルゴリズムは何ですか? 更新:データには、1つまたは非常に少数のベクトルがクラスラベルに強く影響するという特性があります。 考えられる解決策:いくつかの調査の後、Recurrent Neural Networks(RNN)はかなり自然に法案に適合しているように見えます。包括的な考え方は、コンテキストサイズを選択し、単語ベクトルを連結し、最大プーリングを実行し、それを古典的なNNを通じてフィードすることです。文内の可能なコンテキストウィンドウの位置ごとに、特徴ベクトルが作成されます。最終的な特徴ベクトルは、たとえば最大プーリングを使用して構築されます。逆伝播は、ネットワークのパラメータを調整するために行われます。私はすでにいくつかの肯定的な結果を得ました(GPUは必須です)。kkk

4
強化学習に関する書籍
私はかなり前から強化学習を理解しようと努めてきましたが、どういうわけかグリッド世界の問題を解決する強化学習のためのプログラムの書き方を視覚化することができません。強化学習の明確な概念を構築するのに役立つテキストブックをいくつか教えてください。


1
サポートベクターマシンの機能選択
私の質問は3つあります 「カーネル化された」サポートベクターマシンのコンテキストでは 変数/機能の選択は望ましいですか-特にパラメーターCを正規化して過剰適合を防止しているため、SVMにカーネルを導入する背後にある主な動機は問題の次元数を増やすことです。 最初の質問への回答が「いいえ」の場合、次に、どの条件で回答を変更すればよいのですか? Pythonのscikit-learnライブラリにSVMの機能削減をもたらすために試された良い方法はありますか?私はSelectFprメソッドを試して、さまざまな方法の経験を持つ人を探しています。

2
VC次元と自由度の関係
私は機械学習を勉強していて、VC次元の概念と自由度のより古典的な(統計的)概念の間に強い関係があると感じています。 誰かがそのようなつながりを説明できますか?

1
NERにVowpal Wabbitを使用する
Vowpal Wabbit(VW)は明らかにSEARNを介したシーケンスタグ付け機能をサポートしています。問題は、説明といくつかの例を含む詳細なパラメーターリストがどこにも見つからないことです。私が見つけた最高のものは、非常に短い例のあるジンコフのブログエントリです。メインのwikiページはかろうじてSEARNに言及しています。 チェックアウトしたソースコードで、NERサンプルデータを含むデモフォルダーを見つけました。残念ながら、すべてのテストを実行するスクリプトは、このデータで実行する方法を示していません。少なくとも、期待される形式を確認するのに十分な情報でした。エントリが空白行で区切られていることを除いて、標準のVWデータ形式とほぼ同じです(これは重要です)。 私の現在の理解は、次のコマンドを実行することです。 cat train.txt | vw -c --passes 10 --searn 25 --searn_task sequence \ --searn_passes_per_policy 2 -b 30 -f twpos.vw どこ --searn 25 -NERラベルの総数(?) --searn_task sequence -シーケンスタグ付けタスク(?) --searn_passes_per_policy 2 -何をしているのかわからない その他のパラメーターはVWの標準であり、追加の説明は必要ありません。おそらく、SEARNに固有のパラメーターが他にありますか?それらの重要性と影響は何ですか?それらを調整する方法?経験則はありますか? 例へのポインタは高く評価されます。

2
Pythonで補完的な単純ベイズを実装しますか?
問題 犯罪データのラベルが付けられたデータセットでナイーブベイを使用してみましたが、結果は非常によくありません(7%の精度)。Naive Bayesは、これまで使用してきた他のアルゴリズムよりもはるかに高速に実行されるため、スコアが非常に低い理由を調べてみました。 研究 読んだ後、ナイーブベイは頻度の高いクラスに偏りがあるため、バランスのとれたデータセットで使用する必要があることに気付きました。私のデータは不均衡なので、データスキューを処理するために特別に作成されているので、補完的な単純ベイズを使用してみました。プロセスを説明する論文では、アプリケーションはテキスト分類用ですが、この手法が他の状況で機能しない理由はわかりません。ここで私が言及している論文を見つけることができます。つまり、クラスが表示されない発生に基づいて重みを使用するという考え方です。 いくつかの調査を行った後、Javaでの実装を見つけることができましたが、残念ながらJavaを知りませんし、自分で実装するためのアルゴリズムを十分に理解していません。 質問 Pythonでの実装はどこにありますか?それが存在しない場合、自分で実装するにはどうすればよいですか?

2
次元削減とは逆の方法はありますか?
私は機械学習の分野に不慣れですが、私の信号処理を担当しました。この質問に誤ったラベルが付けられている場合はお知らせください。 少なくとも3つの変数で定義された2次元データがあり、非常に非線形なモデルではシミュレーションが複雑すぎます。 PCAやICA(PythonライブラリScikit-Learnから)などのメソッドを使用してデータから2つの主要コンポーネントを抽出するのにさまざまなレベルの成功を収めてきましたが、これらのメソッド(または少なくともメソッドの実装)は制限されているようですたとえば、2D点群から2つのコンポーネントを抽出するなど、データのディメンションと同じ数のコンポーネントを抽出します。 データをプロットするとき、3つの異なる線形傾向があることが訓練された目には明らかです。3つの色の線は方向を示します。 PCAを使用する場合、予想どおり、主成分はカラーラインの1つに揃えられ、もう1つは90°に配置されます。ICAを使用する場合、最初のコンポーネントは青の線に揃えられ、2番目のコンポーネントは赤と緑のコンポーネントの間のどこかにあります。私の信号の3つのコンポーネントすべてを再現できるツールを探しています。 編集、追加情報:私はここで、より大きな位相平面の小さなサブセットで作業しています。この小さなサブセットでは、各入力変数は平面上で線形の変化を生成しますが、この変化の方向と振幅は非線形であり、作業しているより大きな平面上の正確な場所に依存します。一部の場所では、2つの変数が縮退している可能性があります。それらは同じ方向に変化をもたらします。たとえば、モデルがX、Y、Zに依存するとします。変数Xを変更すると、青い線に沿って変化が生じます。Yは緑の線に沿って変化を引き起こします。Z、赤いものに沿って。

1
時系列データの教師なし学習アルゴリズムはありますか?
私のデータの各観測は、0.1秒の差で収集されました。日付とタイムスタンプがないため、時系列とは呼びません。クラスタリングアルゴリズム(オンラインで見つけた)とPCAの例では、サンプルデータにはケースごとに1つの観測値があり、時間は計測されていません。しかし、私のデータには、車両ごとに0.1秒ごとに収集された何百もの観測があり、多くの車両があります。 注:私は定足数についてもこの質問をしました。

3
Amazon ec2エラーのRランダムフォレスト:サイズ5.4 Gbのベクターを割り当てることができません
私はRでランダムフォレストモデルをトレーニングrandomForest()し、約20の予測子と600K行の1000個の木とデータフレームを使用しています。私のラップトップではすべてが正常に動作しますが、amazon ec2に移動して同じことを実行すると、エラーが発生します。 Error: cannot allocate vector of size 5.4 Gb Execution halted 私はc3.4xlargeインスタンスタイプを使用しているので、かなり頑丈です。誰かがこれをこのインスタンスで実行するための回避策を知っていますか?この問題の原因となるメモリの微妙な違いについて、ラップトップではなくec2インスタンスでのみ知りたい(OS X 10.9.5プロセッサ2.7 GHz Intel Core i7、メモリ16 GB 1600 MHz DDR3) ありがとう。

2
バッチ更新と個別更新のMLPの正則化に違いはありますか?
私は過適合を制御するアプローチとしての正則化について学習しました。このアイデアを、バックプロパゲーションとマルチレイヤーパーセプトロン(MLP)の単純な実装に組み込んで、組み合わせます。 現在、過剰適合を回避するために、私は交差検証を行い、これまでのところ、検証セットで最高のスコアのネットワークを維持しています。これは問題なく機能しますが、正則化を追加すると、正則化アルゴリズムとパラメーターを正しく選択することで、ネットワークがより体系的に非適合モデルに収束するというメリットがあります。 (Coursera MLコースからの)更新期間について私が持っている式は、たとえば各ウェイトのバッチ更新として記述され、エラー伝播からトレーニングセット全体に適用されるすべてのデルタを合計した後lambda * current_weight、結合の前に調整が追加されますバッチの最後でデルタが差し引かれlambdaます。ここで、は正則化パラメーターです。 私のバックプロパゲーションの実装では、アイテムごとの重みの更新を使用しています。直感的には問題ないように見えますが、バッチアプローチをそのままコピーすることはできません。アイテムあたりのより小さな正則化用語も同様に機能しますか? たとえばlambda * current_weight / N、Nがトレーニングセットのサイズである場合-一見すると、これは妥当に見えます。でも、この件については何も見つかりませんでした。正規化がアイテムごとの更新ではうまく機能しないためか、別の名前や変更された式の下にさえあるためでしょうか。

2
Latent Dirichlet Allocationから派生したトピックを使用したドキュメントのクラスタリング
プロジェクトにLatent Dirichlet Allocationを使用したいのですが、gensimライブラリでPythonを使用しています。トピックを見つけた後、k-meansなどのアルゴリズムを使用してドキュメントをクラスター化したいと思います(理想的には、クラスターの重複に適切なものを使用したいので、どのような推奨も歓迎されます)。私は何とかトピックを取得しましたが、それらは次の形式です。 0.041 *大臣+ 0.041 *キー+ 0.041 *瞬間+ 0.041 *物議を醸す+ 0.041 *首相 クラスタリングアルゴリズムを適用し、誤りがあれば修正するには、tfidfまたはword2vecを使用して各単語を数値として表す方法を見つける必要があると思います。 たとえばリストからテキスト情報を「ストリップ」して、適切な乗算を行うためにそれらを元に戻す方法についてのアイデアはありますか? たとえば、Ministerという単語のtfidfの重みが0.042である場合、同じトピック内の他の単語についても同様に、次のように計算する必要があります。 0.041 * 0.42 + ... + 0.041 * tfidf(Prime)そして結果をクラスタリングするために後で使用される結果を取得します。 お時間をいただきありがとうございます。

7
ビッグデータ分析へのキャリア転換
私は35歳の純粋に技術的なITプロフェッショナルです。私はプログラミング、新しいテクノロジーの学習、それらの理解と実装が得意です。学校では数学が苦手だったので、数学の成績が上がらなかった ビッグデータ分析のキャリアを追求することに非常に興味があります。ビッグデータテクノロジー(Hadoopなど)よりもアナリティクスに興味がありますが、嫌いではありません。ただし、インターネットを見回すと、分析が上手な人(データサイエンティスト)は主に数学の卒業生で、PHdsを実行していて、はるかに先を行っているインテリジェントな生き物のように聞こえます。自分で事前統計を学習するのは非常に難しく、多大な労力と時間を費やす必要があるため、私の決定が正しいかどうかを考えるのが怖くなることがあります。 私の決定が正しいかどうか知りたいのですが、この仕事を一流の大学での勉強に生涯を費やし、学位とPHDを取得した知識のある人にのみ任せるべきでしょうか。
9 career 

1
ILPを使用しないリレーショナルデータマイニング
分類モデルを作成する必要があるリレーショナルデータベースの巨大なデータセットを持っています。通常、この状況では、帰納論理プログラミング(ILP)を使用しますが、特殊な状況により、それはできません。 これに取り組むもう1つの方法は、外国との関係があるときに値を集計しようとすることです。しかし、私はいくつかの名目上の属性について何千もの重要で異なる行を持っています(例:いくつかの異なる薬の処方に関連する患者)。そのため、名目属性の個別の行ごとに新しい属性を作成せずにそれを行うことはできません。さらに、これを行うと、ほとんどの新しい列にNULL値が含まれます。 何千もの新しい列を作成するピボットなどの手法に頼らずにリレーショナルデータベースをデータマイニングできる非ILPアルゴリズムはありますか?

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