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
TrainSetId、DataSetId、Value?これにより、3列と950万行が得られます。それらのドキュメントはすべて同じデータ型であると仮定します... – SMM
OK!私はあなたが言っていることを見ている可能性がありますが、私はどのように私は後でそのスキーマを使用できるようになるか分からない。私はその過程でいくつかの助けを必要とするかもしれない、私は自分のコードで私の質問を更新しました。 – RData
どのように前に比較するつもりでしたか?すべての列2500文書を比較し、最も近い値をTrainSetIdで取得する場合は、すべてのDataSetId = 2500文書を比較し、最も近い値をTrainSetIdで取得します。これらの文書がどのように見えるかはわかりません。あなたの要件をここで推測しています:-) – SMM