2016-12-09 34 views
0

NLTKを使用してコサイン類似度を計算し、他のレポート目的に使用したいSQL Serverにコサイン類似度値をエクスポートします。コサイン類似度のためのパンダとSQL Serverの列制限

私は約2k行で約4773の列を持ち、SQL Serverはこれらの列数をサポートしていませんか?何が良い選択肢でしょうか?この規模のデータをサポートする別のオープンソースDBがありますか?

列車セット(2kドキュメント)とテストデータセット(4773ドキュメント)と呼ばれる2つのデータセットがあり、処理中にすべてのテストデータレコードが約4773列の列になり、これはSQLサーバー 。

主な動機は、私の列車データ内のすべての文書のテストデータから、最も近い類似文書を見つけることです。

どれアドバイスが参考になる - のおかげでここ

は、私はSQL Serverに

from sklearn.metrics.pairwise import cosine_similarity 
df = pd.DataFrame(cosine_similarity(trainVectorizerArray,testVectorizerArray)) 
パンダをコサイン類似性を計算するために使用するコードです
import sqlalchemy 
import pypyodbc 
engine = sqlalchemy.create_engine("mssql+pyodbc://<user>:<password>@<DSN>") 
write the DataFrame to a table in the sql database 
df.to_sql("Cosine", engine) 

サンプル出力

  0   1 2   3   4   5 
    0 0.428519 0.000000 0.0 0.541096 0.250099 0.345604 
    1 0.056650 0.000000 0.0 0.000000 0.000000 0.000000 
    2 0.000000 0.000000 0.0 0.000000 0.000000 0.000000 
    3 0.849066 0.559117 0.0 0.374447 0.424247 0.586254 
    4 0.317644 0.000000 0.0 0.271171 0.586686 0.424560 
+0

TrainSetId、DataSetId、Value?これにより、3列と950万行が得られます。それらのドキュメントはすべて同じデータ型であると仮定します... – SMM

+0

OK!私はあなたが言っていることを見ている可能性がありますが、私はどのように私は後でそのスキーマを使用できるようになるか分からない。私はその過程でいくつかの助けを必要とするかもしれない、私は自分のコードで私の質問を更新しました。 – RData

+0

どのように前に比較するつもりでしたか?すべての列2500文書を比較し、最も近い値をTrainSetIdで取得する場合は、すべてのDataSetId = 2500文書を比較し、最も近い値をTrainSetIdで取得します。これらの文書がどのように見えるかはわかりません。あなたの要件をここで推測しています:-) – SMM

答えて

関連する問題