問題タブ [classification]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
9 に答える
687 参照

tdd - TDD とベイジアン スパム フィルターの問題

ベイジアン分類器がスパムをフィルタリングする効果的な方法であることはよく知られています。これらはかなり簡潔にできますが (私たちのものは数百の LoC にすぎません)、結果を得る前にすべてのコア コードを事前に記述する必要があります。

ただし、TDD アプローチでは、テストに合格するための最小限のコードしか記述できないことが義務付けられているため、次のメソッド シグネチャが与えられます。

次のテキスト文字列は、明らかにスパムです。

私が書くことができるコードの最小量は次のとおりです。

ここで、別のテスト メッセージを追加するかもしれません。

コードを次のように変更できます。

...などなど。ある時点までは、コードは文字列チェックや正規表現などでごちゃごちゃになってしまいます。最初から考えたり、別の方法で書いたりするのではなく、コードを進化させたからです。

では、可能な限り単純なコードからコードを進化させてテストに合格することが適切なアプローチではない、このような状況で TDD はどのように機能するのでしょうか? (特に、最良の実装を自明に進化させることができないことが事前にわかっている場合)。

0 投票する
4 に答える
11735 参照

machine-learning - 電子メールスパム検出のためのニューラルネットワーク

2つのグループに分類された過去数年間に受信した電子メール(約1万通の電子メール)の履歴を持つ電子メールアカウントにアクセスできるとします。

  • 本物のメール
  • スパム

スパム検出に使用できるニューラルネットワークソリューションを作成するタスクにどのようにアプローチしますか?基本的に、電子メールをスパムまたは非スパムのいずれかに分類しますか?

電子メールのフェッチがすでに行われており、分類部分のみに焦点を当てる必要があると仮定します。

私が答えてもらいたい主なポイントは次のとおりです。

  1. NNの入力として選択するパラメーターとその理由を教えてください。
  2. NNのどの構造が、そのようなタスクに最適である可能性が最も高いでしょうか。

また、リソースの推奨事項、または既存の実装(できればC#)は大歓迎です

ありがとうございました

編集

  • プロジェクトの主な側面は、スパム検出でNNアプローチがどのように機能するかをテストすることであるため、ニューラルネットワークを使用することにしました。
  • また、ニューラルネットワークとスパムの主題を単に調査することは「トイプロブレム」です
0 投票する
21 に答える
6023 参照

algorithm - 単語とカテゴリ値の分類

今日の授業でアルゴリズムの問​​題が出題されました。「解決策がわかれば、この科目はやらなくてもいい」というものでした。もちろん、私たちは皆、やってみようと思っていました。

基本的には、100 語、10 カテゴリの DB が提供されました。単語またはカテゴリ間に一致はありません。つまり、基本的には 100 個の単語と 10 個のカテゴリのリストです。

単語を正しいカテゴリに「配置」する必要があります。つまり、単語を正しいカテゴリに配置する方法を「理解」する必要があります。したがって、単語を「理解」してから、アルゴリズム的に最も適切なカテゴリに分類する必要があります。

つまり、単語の 1 つが「釣り」というカテゴリの「スポーツ」です --> したがって、これはこのカテゴリに入ります。一部の単語が複数のカテゴリに入る可能性があるように、単語とカテゴリの間には重複があります。

それが分かれば、サンプルサイズを増やす必要があり、一致率が「最高」の人が勝ちます。

このようなことを始める方法を知っている人はいますか? または任意のリソースですか?できればC#で?

キーワードDBか何かでも役立つでしょうか?無料のものを知っている人はいますか?

0 投票する
3 に答える
420 参照

cluster-analysis - プロパティに基づいてオブジェクトを分類する方法を探しています

約 150 個の異なるプロパティを持つ約 10,000 個のオブジェクトのセットがあり、その約 4 分の 1 は多値であるか、他のプロパティに関連しています。

これらのオブジェクトを分類したい約 120 のカテゴリのセットがあり、各カテゴリは「テンプレート」オブジェクトとして定義されています。インスタンスがテンプレートと完全に一致する場合、そのオブジェクトは明らかにそのカテゴリに含まれます...ただし、完全に一致するテンプレートを実際に持っているオブジェクトは約 10% にすぎません。その結果、カテゴリとの類似性に基づいてオブジェクトにスコアを付け、それらを最も一致するものに分類できるようにしたいと考えています。また、非常に類似したオブジェクトのクラスターを特定したいと思います。これは、新しい/洗練されたカテゴリの可能性を示しています。

これは、Weka、RapidMiner、またはその他の機械学習/クラスタリング/分類システムの仕事のようです。しかし、この分野の優れた入門資料を見つけるのに苦労しているため、この場合にこれらのツールを使用するのにどれだけの労力がかかるかわかりません。これは継続的なニーズになる可能性があるため、分析方法や重みなどを簡単に変更できるものを使用したいと考えています.

考え?

0 投票する
1 に答える
4522 参照

matlab - 巨大なデータセットで決定木を学習する

MATLAB を使用して、巨大な (つまり、メモリに格納できない) データセットからバイナリ分類決定木を構築しようとしています。基本的に、私がやっていることは次のとおりです。

  1. すべてのデータを収集する
  2. データに対して n 個の決定関数を試す
  3. データ内のクラスを分離するための最良の決定関数を選択します
  4. 元のデータセットを 2 つに分割する
  5. 分割の再帰

データにはk 個の属性と分類があるため、膨大な数の行とk+1列の行列として格納されます。決定関数はブール値であり、各行を左または右のサブツリーに割り当てる属性に作用します。

現在、メモリに保持できるチャンクでファイルにデータを格納し、各行に ID を割り当てることを検討しています。これにより、分割の決定はすべてのファイルを順番に読み取ることによって行われ、将来の分割は ID 番号によって識別されます。

これをより良い方法で行う方法を知っている人はいますか?

編集: 行数 m は約 5e8 で、k は約 500 です

0 投票する
1 に答える
111 参照

text - トピックに関するテキストを検出しますか?

テキスト(特にTwitterメッセージ)をふるいにかけて、特定のトピックに関連しているかどうかを確認したいと思います。あなたはその道を進んだことがありますか?もしそうなら、私はあなたがどのようなアプローチを使用するか聞いてみたいです。

私の場合、トピックのキーワードを検索するだけで、約7%の確率で有用なテキストが得られます。キーワードには複数の意味があり、そのうちのいくつかはトピックに含まれていません。私の使用では、自動フィルタリングは完璧である必要はありません。抽出されたメッセージが80%の確率でトピックに関連していれば幸いです。また、トピックに関するメッセージの10〜30%を失っても構わないと思っています。

手作業で最初のパスを実行すると、特定の英語のフレーズのように、メッセージがかなり良いものになる可能性が高いいくつかの特性があります。URL、複数のハッシュタグ、その他のフレーズなど、その他の特性は拒否される可能性が高くなります。他のものは評価するのが難しいです。

たくさんの正規表現と関連するウェイトを手動で作成し、気に入った出力が得られるまで手作業で微調整することができました。それはうまくいく可能性があります。しかし、他のいくつかの可能なアプローチを挙げられます。そして、StackOverflowリーダーが幸運に恵まれたアプローチはどれか疑問に思います。

ありがとう!

0 投票する
1 に答える
172 参照

java - 既定のスパム フィルタリング?

私はソーシャル メディア監視システムに取り組んでいます。自分でウェブをクロールするのではなく、Spinn3r などのアグリゲーターからフィードを取得します。ほとんどの場合、ポルノサイトへのリンクのページにすぎない「ブログ」はフィルタリングされますが、上流のプロバイダーが変更を加えるのを待つよりも短い時間枠でトレーニングできる社内のものを望んでいます.

私は Spamassassin を調べましたが、電子メールを扱うのであれば、私たちの目的には理想的です。テキストの本文だけを取り、作業頻度、リンク数、非表示の背景テキストなどに基づいて品質スコアを与えることができるライブラリはありますか?

理想的には、Java で何かを探していますが、何もない場合は、クライアント サーバーまたは jruby または jython ライブラリを埋め込むことで問題ありません。

最終的には自分で構築する必要があると思いますが、試してみる価値は常にあります。

0 投票する
1 に答える
346 参照

database - エンティティ名のデータベース(大学、都市、性格、国など)の検索

私と他の人が取り組んでいるエンタープライズアプリケーション研究プロジェクトでは、投稿されたメッセージを普遍的に保つために、ページから特定のコンテンツを削除しようとしています(不快ではなく、本質的に匿名であることを意味します)。今のところ、ユーザーがメッセージボードに投稿したメッセージを受け取り、あらゆる種類の名前、大学または機関の名前、冒とく的な表現を削除します(可能であれば、会社名を削除します)。

メッセージをスクラブしてデータベース内の値をチェックし、これらを認識するために接続できるデータベースはありますか?