Im вычисляет сходство с косинусом с использованием NLTK и экспортирует значения подобия косинуса в SQL Server, которые я хотел бы использовать для других целей отчетности.Ограничение столбца Pandas to SQL Server для сходства с косинусом
У меня около 4773 столбцов с примерно 2 тыс. Строк, а SQL Server не поддерживает это количество столбцов? что было бы лучшей альтернативой? существует ли еще одна база данных с открытым исходным кодом, которая поддерживает этот масштаб данных?
У меня есть 2 набора данных, которые я вызываю как набор поезда (документы 2k) и набор тестовых данных (4773 документа), и во время процесса все записи тестовых данных станут столбцами, которые составляют около 4773 столбцов, и это не поддерживается Сервер SQl.
Моим главным мотивом является поиск ближайшего аналогичного документа из тестовых данных для каждого документа в данных поезда.
Любой совет будет полезным - Спасибо
вот код, который я использую для расчета косинус Сходства
from sklearn.metrics.pairwise import cosine_similarity
df = pd.DataFrame(cosine_similarity(trainVectorizerArray,testVectorizerArray))
панд в SQL Server
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 столбца и 9,5 миллионов строк. Предполагая, что все эти документы имеют один и тот же тип данных ... – SMM
OK! я вижу, что вы говорите, и да, возможно, это может быть, но я не уверен, как я смогу использовать эту схему позже. Мне может понадобиться помощь в этом процессе, я обновил свой вопрос с помощью своего кода. – RData
Как вы собираетесь сравнить? Если вы собираетесь сравнить все документы по столбцам 2500 и получить самое ближайшее по TrainSetId, теперь вы сравните все документы DataSetId = 2500 и получите самое ближайшее по TrainSetId. Я не знаю, как выглядят эти документы. Я просто угадываю ваши требования здесь :-) – SMM