函数说明 1.LDA(n_topics, max_iters, random_state)  用于构建LDA主题模型,将文本分成不同的主题 参数说明:n_topics 表示分为多少个主题, max_iters表示最大的迭代次数, random_state 表示随机种子 2. LDA.components_ 打印输入特征的权重参数, LDA主题模型:可以用于做分类,好比如果是两个主题的话,那就相当于是分成了两类,同时我们也可以找出根据主题词的权重值,来找出一些主题的关键词 使用sklearn导入库…
函数说明: 1. from gensim.model import word2vec  构建模型 word2vec(corpus_token, size=feature_size, min_count=min_count, window=window, sample=sample) 参数说明:corpus_token已经进行切分的列表数据,数据格式是list of list , size表示的是特征向量的维度,即映射的维度, min_count表示最小的计数词,如果小于这个数的词,将不进行统计,…
函数说明: 1 CountVectorizer(ngram_range=(2, 2)) 进行字符串的前后组合,构造出新的词袋标签 参数说明:ngram_range=(2, 2) 表示选用2个词进行前后的组合,构成新的标签值 Ngram模型表示的是,对于词频而言,只考虑一个词,这里我们在CountVectorizer统计词频时,传入ngram_range=(2, 2)来构造新的词向量的组合 好比一句话'I like you' 如果ngram_range = (2, 2)表示只选取前后的两个词构造词…
1.LabelEncoder() # 用于构建数字编码 2 .map(dict_map)  根据dict_map字典进行数字编码的映射 3.OnehotEncoder()  # 进行one-hot编码,输入的参数必须是二维的,因此需要做reshape,同时使用toarray() 转换为列表形式 3  pd.get_dummies(feature,drop_first=False) 如果填单个特征的话,只对一个特征做one-hot编码映射, drop_first表示去除one-hot编码后的第一列…
原文链接:https://developers.google.com/machine-learning/crash-course/feature-crosses/ 特征组合是指两个或多个特征相乘形成的合成特征.特征的相乘组合可以提供超出这些特征单独能够提供的预测能力. 1- 对非线性规律进行编码 特征组合是指通过将两个或多个输入特征相乘来对特征空间中的非线性规律进行编码的合成特征.通过创建一个特征组合可以解决非线性问题. 特征组合的种类 可以创建很多不同种类的特征组合.例如: [A X B]:将…
函数说明: 1. re.sub(r'[^a-zA-Z0-9\s]', repl='', sting=string)  用于进行字符串的替换,这里我们用来去除标点符号 参数说明:r'[^a-zA-Z0-9\s]' 配对的模式,^表示起始位置,\s表示终止位置,[]表示取中间部分,这个的意思是找出除字符串大小写或者数字组成以外的东西,repl表示使用什么进行替换,这里使用'',即直接替换,string表示输入的字符串 2. stopwords = nltk.corpus.stopwords.word…
TF-idf模型:TF表示的是词频:即这个词在一篇文档中出现的频率 idf表示的是逆文档频率, 即log(文档的个数/1+出现该词的文档个数)  可以看出出现该词的文档个数越小,表示这个词越稀有,在这篇文档中也是越重要的 TF-idf: 表示TF*idf, 即词频*逆文档频率 词袋模型不仅考虑了一个词的词频,同时考虑了这个词在整个语料库中的重要性 代码: 第一步:使用DataFrame格式处理数据,同时数组化数据 第二步:定义函数,进行分词和停用词的去除,并使用‘ ’连接去除停用词后的列表 第三…
对于一些标签和特征来说,分布不一定符合正态分布,而在实际的运算过程中则需要数据能够符合正态分布 因此我们需要对特征进行log变化,使得数据在一定程度上可以符合正态分布 进行log变化,就是对数据使用np.log(data+1) 加上1的目的是为了防止数据等于0,而不能进行log变化 代码: 第一步:导入数据 第二步:对收入特征做直方图,同时标出中位数所在的位置,即均值 第三步:对收入特征做log变化,使用np.log(data+1) 第四步:对log收入特征做直方图,标出中位数线的位置,即均值…
函数说明: 1.  .quantile(cut_list) 对DataFrame类型直接使用,用于求出给定列表中分数的数值,这里用来求出4分位出的数值 2.  plt.axvline()  # 用于画出图形中的竖线 3.  pd.qcut(feature, cut_list, labels)  用于对特征进行切分,cut_list切分的分数位置,labels切分后新的标签值 我们可以根据某个特征的四分位数值,给定这个特征一个新的四分位数值的特征 四分位表示的是数值的中位数,1/4位和3/4位 比…
函数说明: 1. .hist 对于Dataframe格式的数据,我们可以使用.hist直接画出直方图 对于一些像年龄和工资一样的连续数据,我们可以对其进行分段标记处理,使得这些连续的数据变成离散化 就好比:我们可以将0-9岁用0表示 10-19用1表示 20-29用2表示 ... 下面我们对一个年龄数据进行了分段标记处理 代码: 第一步:导入数据 第二步:对年龄特征使用.hist画出直方图,直方图本身也是一个分段的过程 第三步:使用np.floor(/10)取整,将比如5岁的年龄计算后为0 第四…