データサイエンス

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

2
単語の音節の数を取得するにはどうすればよいですか?
私はすでに通過したこのポストた用途nltkのcmudict言葉に音節の数をカウントします: from nltk.corpus import cmudict d = cmudict.dict() def nsyl(word): return [len(list(y for y in x if y[-1].isdigit())) for x in d[word.lower()]] ただし、名前などのcmuの辞書外の単語の場合Rohit、結果は返されません。 それで、単語の音節を数える他の/より良い方法はありますか?
8 nlp 

2
SKLearnの他の機能でのTF-IDFの使用
テキスト分析を他の機能と組み合わせる最良/正しい方法は何ですか?たとえば、一部のテキストだけでなく他の機能/カテゴリも含まれるデータセットがあります。SKlearnのTF-IDFベクトライザーは、テキストデータをスパース行列に変換します。たとえば、これらのスパース行列をNaive Bayes分類器で直接使用できます。しかし、他の機能も考慮に入れる方法は何ですか?テキストのtf-idf表現を分解し、機能とテキストを1つのDataFrameに結合する必要がありますか?または、たとえば、疎行列を別の列として保持できますか?これを行う正しい方法は何ですか?

2
SGD学習率を下げると精度が大幅に向上するのはなぜですか?
などの論文では、この Iしばしば形状のこの種の訓練曲線を参照してください。 この場合、SGDは0.9の係数で使用され、学習率は30エポックごとに10の係数で減少しました。 学習率を変更すると、なぜエラーが大幅に減少するのですか? 最初の低下の後に検証エラーが増加し始めるのに、トレーニングエラーは減少し続けるのはなぜですか? 2回目以降の学習率の変化を近づけても同じ結果が得られますか?つまり、それ以上の遅延が減少するのはなぜですか?

1
データのログ変換を正しく行っていますか?
一部のデータに対して探索的データ分析を行っており、次のヒストグラムが得られます。 これはデータのログ変換の候補のように見えるため、次のPythonコードを実行してデータを変換します。 df["abv"].apply(np.log).hist() df["ibu"].apply(np.log).hist() plt.show() そして、変換されたヒストグラムのこの新しいプロットを取得します。 この場合、ログ変換で問題がなかったと思いますか。その場合、結果を解釈するための最良の方法は何ですか。

1
デシジョンツリーの連続データを(より良く)離散化する方法は?
ID3やC4.5などの標準的なディシジョンツリーアルゴリズムには、連続フィーチャのカットポイントを選択するためのブルートフォースアプローチがあります。すべての値は、可能なカットポイントとしてテストされます。(テスト済みとは、たとえば、情報ゲインがすべての可能な値で計算されることを意味します。) 多くの継続的な機能と多くのデータ(したがって、各機能の値が多い)があるため、このアプローチは非常に非効率的です。 これを行うためのより良い方法を見つけることは、機械学習のホットなトピックだと思います。実際、私のGoogle Scholar検索でいくつかの代替アプローチが明らかになりました。k-meansによる離散化など。次に、特定のドメインの特定の問題に取り組む多くの論文があるようです。 しかし、最近のレビューペーパー、ブログの投稿、または本に、離散化の一般的な手法の概要を説明しているものはありますか?見つかりませんでした... または、おそらくあなたの1人がこのトピックの専門家であり、簡単な概要を書いてくれます。それは非常に役に立ちます!

3
mnistの例でのReLUとシグモイド
注意してください:私は次の例を改善しようとはしていません。99%以上の精度が得られることは知っています。コード全体が問題です。この単純なコードを試したところ、約95%の精度が得られました。アクティベーション関数をシグモイドからreluに変更すると、50%未満に低下します。これが起こる理論的な理由はありますか? 次の例をオンラインで見つけました。 from keras.datasets import mnist from keras.models import Sequential from keras.layers.core import Dense, Activation from keras.utils import np_utils (X_train, Y_train), (X_test, Y_test) = mnist.load_data() X_train = X_train.reshape(60000, 784) X_test = X_test.reshape(10000, 784) Y_train = np_utils.to_categorical(Y_train, classes) Y_test = np_utils.to_categorical(Y_test, classes) batch_size = 100 epochs = 15 model = Sequential() …


2
高次元データのクラスタリング
TL; DR:ラベル付けされていないデータの大きな画像データセット(生のピクセルが約36 GiB)がある場合、K最初にクラスターの数を知らずに(ピクセル値に基づいて)画像をクラスター化するにはどうすればよいですか? 私は現在、画像をクラスター化するための教師なし学習プロジェクトに取り組んでいます。16x16x3のRGBピクセル値でMNISTをクラスタリングすると考えてください。クラスタリングする必要があるのは約4800万の例だけです。それらのアイデンティティを知らなくても、一部の画像は同じソースからのものであるため、確実に関連していることはわかりますが、たとえばK、セットでK平均法を「ただ」実行するための適切な方法もまだわかりません。 t-SNEを使用して手動の2D埋め込みを実行し、埋め込みスペースで手動でクラスター化することを考えていました(16x16x3-d で手動で実行するよりも簡単なタスク)。ただし、すべてのt-SNE実装で、データをメモリにロードする必要がありました。最初にt-SNEを実行し、次にt-SNE埋め込みデータでK-meansを実行することも考えましたが、MNISTからのt-SNEの結果を見ると、これらのクラスターが歪んでいる可能性があり、歪んでいる可能性があることは明らかです非線形の方法で。したがって、私がを知っていたKとしても、クラスターはおそらく分割されます。K平均にマハラノビス距離を使用することは興味深いかもしれませんが、そもそも共分散がわからないので、これも行き止まりのようです。 現在、サンプルでPCA圧縮を実行して、少なくともt-SNEのメモリをいくらか取り戻すことができるかどうかを試していますが、それが機能する場合と機能しない場合があります。 誰かが私にこれを行うための正しい方向へのポインタを与えることができますか(理想的には、Python、TensorFlow、またはApache Beam / Dataflowコンテキストでは必ずしも必要ではありません)?私は少し前にストリーミング/ボールK-meansの移植に取り組んでいましたが、「オンデマンド」で新しいクラスターを作成するという優れた特性がありますが、それをPython / TensorFlow / Dataflowに再び実装する前に、誰かができることを望んでいましたどこから始めるべきか、何を避けるべきか、いくつかのアイデアを教えてください。

2
SMOTE実行後のトレーニング/テスト分割
私は非常に不均衡なデータを扱っているので、SMOTEアルゴリズムを使用してデータセットをリサンプリングしました。 SMOTEリサンプリング後、トレーニングセットを使用してモデルを構築し、テストセットを使用してモデルを評価することで、リサンプリングされたデータセットをトレーニング/テストセットに分割しました。 ただし、テストセットの一部のデータポイントが実際にトレーニングセットのデータポイントからジッターされる可能性がある(つまり、情報がトレーニングセットからテストセットにリークしている)ため、テストセットは実際にはクリーンセットではないテスト。 誰か似たような経験はありますか?情報は本当にトレーニングからテストに漏れていますか?または、SMOTEアルゴリズムが実際に処理してくれて、心配する必要はありませんか? どうもありがとう!

4
金融市場でのパターン認識
金融市場のパターンを認識するのに最適な機械学習モデルまたはディープラーニングモデル(教師あり学習が必要)はどれですか。 金融市場でのパターン認識の意味:次の画像は、サンプルパターン(つまり、頭と肩)がどのように見えるかを示しています。 画像1: 次の画像は、実際のチャートイベントで実際にどのように形成されるかを示しています。 画像2: 私がやろうとしていることは、画像1と同様のパターンは頭と肩のパターンとして定義できますが、グラフ(価格チャート)では画像1ほど明確に形成されません。画像2は頭と肩のサンプルですチャート(価格チャート)のパターンフォーム。画像2にあるように、通常のアルゴリズムまたは分析では頭と肩のパターンとして識別できません(多くの肩と頭に誤解を招く可能性が高い構造と多くの高低があるため)その他の構造)。同様の(画像2のような)パターンが形成されたときに、頭と肩のパターンを認識するようにマシンをトレーニングすることを期待しています。 お時間をいただきありがとうございます。 間違った方向に進んでいる場合はお知らせください。私は機械学習の初心者の知識しか持っていません。

3
k-meansのクラスターに属する確率を取得する方法は?
データセットの各ポイントの確率を取得する必要があります。考え方は、距離行列を計算することです(最初の列は最初のクラスターまでの距離、2番目の列は2番目のクラスターまでの距離など)。最も近いポイントの確率は1、最も遠い確率は0です。問題は線形関数(MinMaxScallerなど)で、ほとんどすべてのポイントがほぼ同じ確率で出力されます。 このタスクの非線形性を選択する方法は?Pythonでこのプロセスを自動化する方法は?たとえば、最も近いポイントのp=1場合、cluster p=0.5に属する最も遠いポイントの場合、最も遠いポイントのpはalmols 0です。 または、この確率を計算する別の方法を提案できます。

3
KerasバックエンドTensorflowをGPUに切り替える
CPUオプションがインストールされたKeras-Tensorflowコンボ(より堅牢であると言われていました)を使用していますが、GPUバージョンで試してみたいと思います。切り替える便利な方法はありますか?または、Tensorflowを完全に再インストールしますか?GPUバージョンは信頼できますか?
8 tensorflow  keras  gpu 

1
見込み客の採点モデルのアイデア
クライアントに転向する可能性が高い見込み顧客(企業)を特定するためのモデルについて考えなければならないのですが、どのようなモデルが有用かについてのアドバイスを探しています。 私は私の知る限り、ある必要がありますデータベースは、(私はそれらをまだ持っていない)list of current clients(換言すれば、converted prospectsその機能()とsize、revenue、age、location、および、そのようなもの)list of prospects私はスコアに持っている(ということ)とその機能。ただし、以前は見込み客でしたが、クライアントへの変換に失敗した企業のリストはありません(もしそうだった場合は、ランダムフォレストを選択できたと思います。もちろん、ランダムフォレストを使用しますが、2つのデータベースの結合でランダムフォレストを実行し、クライアントをconverted見込み顧客として扱うことは悪い考えだと思いますnon-converted...) ですから、見込み客のリストから、既存のクライアントのように見える人を見つける必要があります。それにはどのようなモデルを使用できますか? (「クライアントの価値を評価し、これを同様の見込み客に適用する」、「各見込み客が廃業する可能性を評価する」などの点についても検討して、スコアリングの価値をさらに絞り込みますが、それはちょっと私の質問の範囲外です)。 ありがとう

3
残差二乗和と通常の最小二乗の違いは何ですか?
私には同じように見えますが、よくわかりません。 更新:振り返ってみると、これはあまり良い質問ではありませんでした。OLSはラインをデータに適合させることを指し、RSSはOLSが使用するコスト関数です。二乗誤差の残差の合計が最小になるパラメーターを見つけます。OLSでは通常と呼ばれますが、これは線形近似を行っていることを意味します。

1
データセットの密度をどのように計算しますか?
協調フィルタリングについて詳しく調べています。本当に興味深い論文の1つは、「協調フィルタリングアルゴリズムの比較研究」http://arxiv.org/pdf/1205.3193.pdfです。 使用するCFアルゴリズムを選択するために、論文ではデータセットの密度を参照しています。データセットの密度を実際に計算する方法については説明していません。 それで、上記の論文の文脈では、誰でも私にデータセットの密度を計算する方法を説明するのを手伝ってくれる?この紙は、1〜5%の範囲の密度を定期的に参照しています。

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