データサイエンス

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

3
ソーシャルネットワークの成長をアニメーション化する方法
新しいノード/エッジが追加されたときにソーシャルネットワークがどのように変化するかを視覚化するライブラリ/ツールを探しています。 既存のソリューションの1つは、SoNIA:Social Network Image Animatorです。このような映画を作ってみましょう。 SoNIAのドキュメントには、現時点では壊れていると記載されています。これに加えて、代わりにJavaScriptベースのソリューションを使用することをお勧めします。だから、私の質問は:あなたは任意のツールに精通していますか、またはこのタスクをできるだけ簡単にするいくつかのライブラリを私に示すことができますか? この質問を投稿したらすぐにsigma.jsを掘り下げますので、このライブラリがカバーされていると考えてください。 一般的に、私の入力データは次のようになります。 time_elapsed; node1; node2 1; A; B 2; A; C 3; B; C したがって、ここでは3つの時点(1、2、3)、3つのノード(A、B、C)、および3つのエッジがあり、これらは3つの考慮されたノード間の3つの閉合を表します。 さらに、すべてのノードには2つの属性(年齢と性別)があるため、ノードの形状/色を変更できるようにしたいと思います。 また、新しいノードを追加した後、グラフのレイアウトを調整するためのForceAtlas2または同様のアルゴリズムを用意するのが最適です。

1
グラフ構造化データでScikit-Learnラベル伝播を使用する方法
私の研究の一環として、グラフ上でラベル伝播を実行することに興味があります。私はこれらの2つの方法に特に興味があります。 Xiaojin ZhuとZoubin Ghahramani。ラベル伝播を使用して、ラベル付きデータとラベルなしデータから学習します。テクニカルレポートCMU-CALD-02-107、カーネギーメロン大学、2002年http://pages.cs.wisc.edu/~jerryzhu/pub/CMU-CALD-02-107.pdf Dengyong Zhou、Olivier Bousquet、Thomas Navin Lal、Jason Weston、Bernhard Schoelkopf。ローカルおよびグローバルな一貫性を備えた学習(2004)http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.115.3219 scikit-learnがそのためのモデルを提供しているのを見ました。しかしながら、このモデルは、ベクター構造化データ(に適用されることになっている、すなわちデータ点)。 モデルは、カーネルを使用してデータポイントからアフィニティマトリックスを作成し、作成されたマトリックスに対してアルゴリズムを実行します。類似度行列の代わりにグラフの隣接行列を直接入力できるようにしたいと思います。 それを達成する方法について何か考えはありますか?または、前述の2つのメソッドのグラフ構造化データでラベル伝播を直接実行できるPythonライブラリを知っていますか? よろしくお願いします!

2
ハッシュベクトライザーとtfidfベクトライザーの違いは何ですか
テキストドキュメントのコーパスを各ドキュメントの単語ベクトルに変換しています。私が使用してこれを試してみたTfidfVectorizerとHashingVectorizerを a HashingVectorizerはIDFaのようにスコアを考慮しないことを理解してTfidfVectorizerいます。こことここでHashingVectorizer説明されているように、私がまだaを使用している理由は、巨大なデータセットを処理する際の柔軟性です。(私の元のデータセットには3000万のドキュメントがあります) 現在、私は45339のドキュメントのサンプルを使用しているので、aを使用することTfidfVectorizerもできます。同じ45339ドキュメントでこれら2つのベクトライザーを使用すると、取得する行列が異なります。 hashing = HashingVectorizer() with LSM('corpus.db')) as corpus: hashing_matrix = hashing.fit_transform(corpus) print(hashing_matrix.shape) ハッシュマトリックスの形状(45339、1048576) tfidf = TfidfVectorizer() with LSM('corpus.db')) as corpus: tfidf_matrix = tfidf.fit_transform(corpus) print(tfidf_matrix.shape) tfidfマトリックス形状(45339、663307) a HashingVectorizerとaの違いTfidfVectorizer、およびこれらの行列のサイズが異なる理由、特に語句/用語の数がよくわかります。

3
ニューラルネットワーク-損失と精度の相関
ニューラルネットワークでの損失と精度のメトリックの共存に少し混乱しています。両方ともの比較の「正確さ」レンダリングするようになっているyyyとyは、そうではありませんか?では、トレーニングエポックで2つのアプリケーションを重複して使用するのではないでしょうか。さらに、なぜそれらは相関しないのですか?y^y^\hat{y}

2
たたみ込みネットワークのバイアスに関する質問
CNNに必要な重みとバイアスの数を把握しようとしています。 (3、32、32)-imageがあり、(32、5、5)-filterを適用したいとします。各フィーチャマップには5x5の重みがあるので、3 x(5x5)x 32のパラメーターが必要です。次に、バイアスを追加する必要があります。(3 x(5x5)+ 1)x 32パラメータしかないので、バイアスはすべての色(RGB)で同じですか? これは正しいです?異なる重みを使用している間、各画像の深度全体にわたって同じバイアス(この場合は3)を維持しますか?何故ですか?

4
どちらが先か:アルゴリズムのベンチマーク、機能の選択、パラメーターの調整?
例えば分類をしようとするとき、私のアプローチは現在 最初にさまざまなアルゴリズムを試し、それらをベンチマークする 上記の1から最適なアルゴリズムで特徴選択を実行する 選択した機能とアルゴリズムを使用してパラメーターを調整する ただし、他のアルゴリズムが最適なパラメーター/最適な機能で最適化されている場合、選択したアルゴリズムよりも優れたアルゴリズムがある可能性があることを自分で納得できないことがよくあります。同時に、すべてのアルゴリズム*パラメータ*機能で検索を実行すると、時間がかかりすぎます。 適切なアプローチ/シーケンスに関する提案はありますか?

3
回帰木は継続的に予測できますか?
ような滑らかな関数があるとしますf(x 、y)= x2+ y2f(x,y)=x2+y2f(x, y) = x^2+y^2。トレーニングセットそしてもちろん、私は知りませんが、どこでもを評価できます。F FD ⊊ { ((X 、Y)、f(x 、y))| (x 、y)∈ R2}D⊊{((x,y),f(x,y))|(x,y)∈R2}D \subsetneq \{((x, y), f(x,y)) | (x,y) \in \mathbb{R}^2\}ffffff 回帰木は関数の滑らかなモデルを見つけることができますか(したがって、入力の小さな変化は出力の小さな変化のみを与えるはずです)? 講義10:回帰ツリーで読んだことから、回帰ツリーは基本的に関数値をビンに入れるように見えます: 従来の回帰木の場合、各セルのモデルは、Yの一定の推定値です。 彼らが「クラシック」と書いているとき、細胞がより興味深い何かをするバリアントがあると思いますか?

2
Pysparkでカテゴリデータを数値データに変換する方法
私はIpythonノートブックを使用してpysparkアプリケーションを操作しています。収入が5万人の範囲に収まるかそれ以上かを判断するための多数のカテゴリ列を含むCSVファイルがあります。すべての入力を使用して分類アルゴリズムを実行し、収入の範囲を決定したいと思います。マップされた変数に変数のディクショナリーを作成し、マップ関数を使用して変数を処理する数値にマップする必要があります。基本的に、モデルの実装に取り​​掛かれるように、データセットは数値形式にする必要があります。 データセットには、教育、婚姻状況、労働者階級などのカテゴリ列があります。pysparkで数値列に変換する方法を誰かに教えてもらえますか? workclass = {'?':0,'Federal-gov':1,'Local-gov':2,'Never- worked':3,'Private':4,'Self-emp-inc':5,'Self-emp-not-inc':6,'State-gov':7,'Without-pay':8} ワーククラスのキーと値のペアを含むサンプルディクショナリを作成しました。しかし、これをマップ関数で使用して、CSVファイルのカテゴリデータを対応する値に置き換える方法がわかりません。 wc = pd.read_csv('PATH', usecols = ['Workclass']) df = pd.DataFrame(wc) wcdict = {' ?':0,' Federal-gov':1,' Local-gov':2,' Never-worked':3,' Private':4,' Self-emp-inc':5,' Self-emp-n-inc':6,' State-gov':7,' Without-pay':8} df_new = df.applymap(lambda s: wcdict.get(s) if s in wcdict else s) print(df_new) これは、カテゴリデータを数値データに変換するために通常のpythonで記述したコードです。正常に動作します。スパークのコンテキストで変換を実行したい。また、データソースには9つのカテゴリ列があります。辞書の更新プロセスを自動化して9列すべてにKVペアを設定する方法はありますか?

3
マルチパーティシステムでの選挙の結果を計算するために使用する回帰
議会選挙の結果を予測したい。私の出力は、各当事者が受け取る%になります。3つ以上の関係者がいるため、ロジスティック回帰は実行可能なオプションではありません。パーティごとに個別の回帰を行うこともできますが、その場合、結果は何らかの形で互いに独立しています。結果の合計が100%になるとは限りません。 どの回帰(または他の方法)を使用する必要がありますか?特定のライブラリを介してRまたはPythonでこのメソッドを使用することは可能ですか?

2
機能スケーリングの結果
私は現在SVMを使用しており、トレーニング機能を[0,1]の範囲にスケーリングしています。最初にトレーニングセットを適合/変換し、次に同じ変換をテストセットに適用します。例えば: ### Configure transformation and apply to training set min_max_scaler = MinMaxScaler(feature_range=(0, 1)) X_train = min_max_scaler.fit_transform(X_train) ### Perform transformation on testing set X_test = min_max_scaler.transform(X_test) トレーニングセットの特定のフィーチャの範囲が[0,100]であり、テストセットの同じフィーチャの範囲が[-10,120]であると仮定します。トレーニングセットでは、その機能は[0,1]に適切にスケーリングされますが、テストセットでは、その機能は[-0.1,1.2]のような最初に指定された範囲外の範囲にスケーリングされます。 テストセットの機能がモデルのトレーニングに使用されている機能の範囲外にあると、どのような結果になるのでしょうか。これは問題ですか?

3
KS、AUROC、およびGiniの関係
コルモゴロフ–スミルノフ検定(KS)、AUROC、ジニ係数などの一般的なモデル検証統計はすべて機能的に関連しています。しかし、私の質問は、これらがすべて関連していることを証明することに関係しています。誰かがこれらの関係を証明するのを手伝ってくれる人がいるかどうか知りたいです。私はオンラインで何も見つけることができませんでしたが、証明がどのように機能するかについて本当に興味があります。たとえば、私はGini = 2AUROC-1を知っていますが、私の最良の証明はグラフを指すことです。正式な証明に興味があります。どんな助けでも大歓迎です!

4
テキスト処理でのクラスタリングの使用
こんにちは、データサイエンススタックの最初の質問です。テキスト分類のアルゴリズムを作成したい。大量のテキストと記事があるとします。約5000のプレーンテキストとしましょう。最初に単純な関数を使用して、4つ以上のすべての文字単語の頻度を決定します。次に、これを各トレーニングサンプルの機能として使用します。ここで、私のアルゴリズムがトレーニングセットをその特徴に応じてクラスター化できるようにしたいと思います。これは、記事内の各単語の頻度です。(この例では、記事ごとに異なる機能があるため、記事ごとに独自の機能があります。たとえば、記事には10の「水」と23の「純粋」があり、別の記事には8の「政治」と14の「レバレッジ」があります)。この例に最適なクラスタリングアルゴリズムを提案できますか?

2
実験の実行と結果の記録
私はハンズオンリサーチャーであり、実行可能なソリューションをテストするのが好きなので、多くの実験を実行する傾向があります。たとえば、ドキュメント間の類似性スコアを計算している場合、多くのメジャーを試してみたいと思うかもしれません。実際、いくつかのパラメーターの効果をテストするために、各測定で複数の実行が必要になる場合があります。 これまでのところ、入力に関する多くの情報を含むファイルに結果を書き込むことにより、実行の入力とその結果を追跡してきました。問題は、ファイル名に入力情報を追加しようとしても、特定の結果を取得することが難しい場合があることです。結果へのリンクを含むスプレッドシートを使用してみましたが、大きな違いはありません。 実験の記録のためにどのツール/プロセスを使用しますか?

3
NERの教師なし機能学習
私はCRFアルゴリズムを使用してNERシステムを実装し、非常に良い結果が得られた手作りの機能を使用しました。事は私がPOSタグや補題を含む多くの異なる機能を使用したということです。 今度は、異なる言語で同じNERを作成したいと思います。ここでの問題は、POSタグと補題を使用できないことです。ディープラーニングと教師なし機能学習に関する記事を読み始めました。 私の質問は: CRFアルゴリズムによる教師なし特徴学習の方法を使用することは可能ですか?誰かがこれを試して、良い結果を得ましたか?この問題に関する記事やチュートリアルはありますか? 私はまだこの機能作成方法を完全に理解していないので、機能しないものに多くの時間を費やしたくありません。だからどんな情報も本当に役立つでしょう。ディープラーニングに基づいてNERシステム全体を作成することは、今のところ少し重要です。

1
t-SNE Pythonの実装:Kullback-Leibler divergence
[1]の場合と同様に、t-SNEは、特定の条件が満たされるまで、カルバックライブラー(KL)の発散を徐々に減らします。t-SNEの作成者は、KLダイバージェンスを視覚化のパフォーマンス基準として使用することを提案しています。 t-SNEが報告するカルバックライブラー分岐を比較できます。t-SNEを10回実行し、KLダイバージェンスが最も低いソリューションを選択することは完全に問題ありません[2] 私はt-SNEの2つの実装を試しました: python:sklearn.manifold.TSNE()。 R:tsne、library(tsne)から。 これらの実装はどちらも、冗長性が設定されている場合、反復ごとにエラー(カルバックライブラーダイバージェンス)を出力します。ただし、ユーザーがこの情報を取得することを許可していないため、私には少し奇妙に見えます。 たとえば、コード: import numpy as np from sklearn.manifold import TSNE X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]]) model = TSNE(n_components=2, verbose=2, n_iter=200) t = model.fit_transform(X) 生成する: [t-SNE] Computing pairwise distances... [t-SNE] Computed conditional probabilities for sample 4 / …

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