Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 结合NLP(文本)和数字数据构建模型_Python_Machine Learning_Nlp_Regression_Data Science - Fatal编程技术网

Python 结合NLP(文本)和数字数据构建模型

Python 结合NLP(文本)和数字数据构建模型,python,machine-learning,nlp,regression,data-science,Python,Machine Learning,Nlp,Regression,Data Science,我有一个具有以下特性的数据集 data = { description:'the tea was amazing, had great taste.' country:'Chile' year: 1980 designation:'random' points: 80 } 我正在寻找一种方法来使用这些功能来建立一个模型来预测点 描述似乎包含了很多关于点的信息 如何将这些数据输入模型以及哪个模型?由于文本数据不能直接提供给模型,我建议您使用嵌入将描述转换为嵌入。如果数据集中有唯一的名称值,则可以

我有一个具有以下特性的数据集

data = {
description:'the tea was amazing, had great taste.'
country:'Chile'
year: 1980
designation:'random'
points: 80
}
我正在寻找一种方法来使用这些功能来建立一个模型来预测点

描述似乎包含了很多关于点的信息


如何将这些数据输入模型以及哪个模型?

由于文本数据不能直接提供给模型,我建议您使用嵌入将描述转换为嵌入。如果数据集中有唯一的名称值,则可以对名称进行热编码。对于国家/地区,您还可以对其进行热编码,或者也可以使用基于字符的嵌入来生成基于单词的嵌入。年份和积分不需要预处理。根据你的问题,我可以假设你的问题是一个回归问题。您可以尝试使用Sklearn的梯度增强回归器、随机森林回归器或任何其他回归器来获取值

def loadGloveModel(gloveFile):
打印(“加载手套模型”)
f=打开(gloveFile,'r')
模型={}
对于f中的行:
splitLine=line.split()
字=分割线[0]
嵌入=np.array([float(val)表示分割线[1:]]中的val)
模型[字]=嵌入
打印(“完成”,len(型号),“已加载单词!”)
回归模型
您可以将其用作(此文件可从手套网站下载。)

model=loadGloveModel(“glove.6B.300d.txt”)
def averagewEmbeddings(行):
line=str(line)
平均值=型号['x']
长度=0
行=行分割(“”)
对于行中的单词:
#对于word中的字母表:
长度=长度+1
尝试:
嵌入=模型[单词]
平均=平均+嵌入
除:
平均值=平均值
返回((平均型号['x'])/长度)
嵌入=[]
对于索引,枚举中的sen(data.description):
嵌入。追加(平均嵌入(sen))

嵌入将包含所有数据集的嵌入,您可以稍后将它们附加到数据框并删除描述列

您到底在问什么?您选择哪种机器学习模型作为解决方案?你是如何提供数据的?这似乎有点太宽泛了SO@shahaf我在问选择哪种型号,以及如何输入数据。谢谢!但除了嵌入,还有其他选择吗?嵌入需要很长时间才能运行如果描述中的文本是唯一的,您可以对它们进行热编码,但如果它们不是唯一的,则很可能它们不会是唯一的,并且可以更改,除了嵌入之外,没有其他解决方案。