<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[data_curd的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/data_curd</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; data_curd]]></copyright><item><title><![CDATA[scala中去除字符串前后空格API---trim，自定义hashset用来存储元素作为查找是否存在]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/116652140</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/116652140</guid><author>data_curd</author><pubDate>Tue, 11 May 2021 14:00:21 +0800</pubDate><description><![CDATA[import scala.collection.mutable.ListBuffer

	val test_hash = new collection.mutable.HashSet[String]()
    test_hash.add("123")
    test_hash.add("126")
    test_hash.add("125")
    test_hash.add("124")
    val list_test = new ListBuffer[String]()
    if(t.]]></description><category></category></item><item><title><![CDATA[shell脚本执行mysql命令]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/116604058</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/116604058</guid><author>data_curd</author><pubDate>Mon, 10 May 2021 18:06:38 +0800</pubDate><description><![CDATA[#!/bin/bash
for i in 0 $(seq 1 127)
do
	sql_str="ALTER TABLE $'i'_user_dw MODIFY COLUMN 字段名TEXT NOT NULL;"
	mysql -u root -h  168.192.000.000 -P 3306-D  数据库 -p 密码 -e "${sql_str}"
done


]]></description><category></category></item><item><title><![CDATA[spark存mysql多线程插入oom问题优化---采用HikariCP链接]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/116173931</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/116173931</guid><author>data_curd</author><pubDate>Mon, 26 Apr 2021 21:31:15 +0800</pubDate><description><![CDATA[all_data.repartition(10)
      .foreachPartition(tmp =&gt; {
        //获取数据库连接池
        val dsPool = DataSourceSingleton.getDataSourceInstance
        //获取数据库连接池
        val connection = dsPool.getConnection
        while (tmp.hasNext) {
          val row.]]></description><category></category></item><item><title><![CDATA[从0学python-------函数模块]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/116076205</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/116076205</guid><author>data_curd</author><pubDate>Fri, 23 Apr 2021 23:43:34 +0800</pubDate><description><![CDATA[if __name__ == '__main__':

    """
    python可以通过help(abs)查看abs函数的帮助信息
    在函数中，pass关键字，也是空函数的重要点，主要是用来占位，这样子就不会让代码报错，相当于try一样
    &gt;&gt;&gt;def nop()
    &gt;&gt;&gt;     pass
    这个函数就成为空函数，目前还没有想到里面的逻辑怎么写，但是可以先写出来占位就行
    =======自己定义函数时，可以考虑增加验证参...]]></description><category></category></item><item><title><![CDATA[从0开始学python----基础篇(list,dict,set,tuple)]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/116035191</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/116035191</guid><author>data_curd</author><pubDate>Thu, 22 Apr 2021 23:24:18 +0800</pubDate><description><![CDATA[if __name__ == '__main__':
    """
    python中的tuple为另一种有序列表：也称元组，但是tuple一旦初始化就不能被修改，
    所以，tuple没有list的append(),insert()的方法，其他获取元素的方法和list是一样的，
    但不能复制成另外的元素
    ---正因为tuple不可变，所以才使代码更安全，如果可能，能用tuple代替list就尽量用tuple
    ---tuple的陷阱，当你定义一个tuple时，在定义...]]></description><category></category></item><item><title><![CDATA[JAVA中MessageDigest加密算法----MD5]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/116029818</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/116029818</guid><author>data_curd</author><pubDate>Thu, 22 Apr 2021 20:10:23 +0800</pubDate><description><![CDATA[package json_class;

import org.apache.commons.lang.StringUtils;

import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;


public class test_md {
    public static int classForTable(String key) {
        if (StringUtils.isEmpty(key))]]></description><category></category></item><item><title><![CDATA[决策树---实现泰坦尼克号预测(记录细节API)]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/114810955</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/114810955</guid><author>data_curd</author><pubDate>Mon, 15 Mar 2021 00:11:16 +0800</pubDate><description><![CDATA[import pandas as pd
from sklearn.tree import DecisionTreeClassifier
import matplotlib.pyplot as plt
from sklearn.model_selection import GridSearchCV, train_test_split, cross_val_score
import numpy as np

# 使用分类树模型预测那些人可能称为幸存者，主要是分类树
data = pd.read_csv(r"D:]]></description><category></category></item><item><title><![CDATA[Embedding中word2vec原理和细节]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/114164905</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/114164905</guid><author>data_curd</author><pubDate>Sat, 27 Feb 2021 12:49:31 +0800</pubDate><description><![CDATA[关于word2vec原理和结构总结为2+2+1的关系
。
2—&gt;两种模式，COBW和Skip-gram
COBW：已知中间词向量求周围词向量

COBW的运行原理流程：

Skip-gram：已知周围词求中间词向量


2—&gt;两种优化方案，层次softMax和负采样
由上图两个模型的流程可知，最后都是softmax求出词的概率最大时的参数，所以在实际情况下V的维数时很高的，所以在计算时复杂度很高，要求softmax要输出V个概率。
层次softmax：原理是把softmax多分类换为多个sigm]]></description><category></category></item><item><title><![CDATA[机器学习-----集成学习]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/114004531</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/114004531</guid><author>data_curd</author><pubDate>Tue, 23 Feb 2021 22:50:15 +0800</pubDate><description><![CDATA[问题1，集成学习风哪几种，他们都有何种异同？？？？
第一种：Booting

Boosting方法训练基分类器时采用串行的方式，各分类器之间有依赖，
基本思路是将基分类器层层叠加，每一次在训练的时候，对前一层基分类器分错样本，给与更高的权重，测试时，根据各层分类器的结果的加权得到最终结果

第二种：Bagging

Bagging方法训练过程中，各基分类器之间无强依赖，可以进行并行训练，其中很著名的算法之一是基于决策树基分类器的随机森林，为了让基分类器之间相互独立，将训练集分为若干个子集，Bagging方法]]></description><category></category></item><item><title><![CDATA[机器学习中的超参数调优(网络搜素，随机搜索，贝叶斯优化算法)]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/113893685</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/113893685</guid><author>data_curd</author><pubDate>Sat, 20 Feb 2021 23:03:45 +0800</pubDate><description><![CDATA[在机器学习中，我们通常把样本分为训练集和测试集，训练集用于训练模型，测试集用于评估模型，在样本划分和模型验证的过程中，存在着不同的抽样方法和验证方法，
问题1，在模型评估过程中，有那些主要的验证方法，他们的优缺点是什么？？？？
Holdout检验：
是最简单也是最直接的验证方法，它将原始的样本集合随即划分训练集和测试即两部分，但是缺点很明显，即在验证集上计算出来的最后评估指标与原始分组有很大关系，为了消除随机性，研究者们引入了交叉检验的思想。
交叉检验：
k-fold交叉检验：首先将全部样本划分成k个大小相]]></description><category></category></item><item><title><![CDATA[AB测试相关问题]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/113881353</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/113881353</guid><author>data_curd</author><pubDate>Sat, 20 Feb 2021 20:00:08 +0800</pubDate><description><![CDATA[在对模型进行过充分的离线评估之后，为什么还要进行在线 A/B测试？？？？
1、离线评估无法完全消除模型过拟合的影响，因此，得出的离线评估结果无法替代线上评估结果
2、离线评估无法完全还原线上的工程环境，一般来讲，离线评估往往不会考虑线上环境的延迟，数据丢失，标签数据缺失等情况，因此，离线评估的结果是理想工程环境下的结果
3、线上系统的某些商业指标在离线评估中无法计算。

离线评估往往关注的是ROC曲线，P-R曲线等的改进，而线上评估可以全面了解该推荐算法带来的用户点击率，留存时长，PV访问量等的变化，

如]]></description><category></category></item><item><title><![CDATA[余弦相似度，余弦距离，欧氏距离，距离定义]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/113880687</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/113880687</guid><author>data_curd</author><pubDate>Sat, 20 Feb 2021 13:09:32 +0800</pubDate><description><![CDATA[在机器学习问题中，通常将特征表示为向量的形式，所以在分析两个特征向量之间的相似性时，宠用余弦相似度来表示。余弦相似度的取值范围时[-1,1],相同的两个向量之间的相似度为1，如果希望得到类似的距离的表示，将1减去余弦相似度即为余弦距离，因此，宇轩距离的取值范围为[0,2],相同两个向量余弦相似度为0.

为什么在一些场景中要使用余弦相似度而不是欧氏距离呢？？？
对于两个向量A和B，其余弦相似度定义为：

即两个向量的夹角的余弦，关注的是向量之间的角度关系，并不关心他们的绝对大小，其取值范围是[-1,1]。.]]></description><category></category></item><item><title><![CDATA[推荐系统中评估指标的精准率，准确率，召回率，P-R曲线，ROC曲线，AUC曲线]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/113876069</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/113876069</guid><author>data_curd</author><pubDate>Sat, 20 Feb 2021 11:24:16 +0800</pubDate><description><![CDATA[准确率：指分类正确的总样本个数的比例
精准率：指分类正确的正样本个数占分类器判定为正样本的样本个数的比例
召回率：分类正确的正样本个数占真正的正样本个数的比例
为了综合评估一个排序模型的好坏，不仅要看模型在不同TopN下的精准率和召回率，而且最好的绘制出模型的P-R曲线。
P-R曲线的横轴为召回率，纵轴为精准率。
在用P-R曲线评估模型时，只用某个点对应的精准率和召回率时不能全面的衡量模型的性能，只有通过P-R曲线的整体表现，才能够对模型进行更为全面的评估
均方根误差：

一般情况下，RMES能够很好的反映]]></description><category></category></item><item><title><![CDATA[推荐系统在深度学习方向的模型演变（DeepCrossing，NeuraCF，PNN，wide&Deep,DeepFM,Deep&Cross,NFM,DIN,DIEN,DRN)---未完待续]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/113858172</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/113858172</guid><author>data_curd</author><pubDate>Fri, 19 Feb 2021 15:50:25 +0800</pubDate><description><![CDATA[1、改变神经网络复杂程度：Deep Crossing(深度特征交叉)
Deep&amp;Crossing模型--------源于2014年-------微软
模型在其内部网络中解决的问题：
1、离散型特征编码过于稀疏，不利于网络的训练
2、特征自动交叉组合的问题
3、输出层中达到问题设定的优化目标
模型的网络结构图：

模型结构共计四层，
**
Embedding层：
**作用使其将稀疏的类别特征转换为稠密的Embedding向量
Stacking层：
作用是把不同的Embedding特征和数值型特征拼接在]]></description><category></category></item><item><title><![CDATA[Embedding篇--word2vec,Item2vec,Graph Embedding,DeepWalk,Node2vec,EGES详解纯手稿]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/113818564</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/113818564</guid><author>data_curd</author><pubDate>Mon, 15 Feb 2021 19:40:13 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[数据结构与算法------------顺序查找和无序查找python实现]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/113667713</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/113667713</guid><author>data_curd</author><pubDate>Fri, 05 Feb 2021 00:44:54 +0800</pubDate><description><![CDATA[# 顺序查找：无序表查找代码
def sequentialSearch(alist,item):
    pos = 0
    found = False
    while pos &lt; len(alist) and not found:
        if alist[pos] == item:
            found = True
        else:
            pos += 1
    return found
testlist = [1,2,34,56,54]]></description><category></category></item><item><title><![CDATA[深度学习推荐系统-----AutoRec单隐层神经网络推荐模型--未完待续]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/113549860</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/113549860</guid><author>data_curd</author><pubDate>Tue, 02 Feb 2021 22:45:50 +0800</pubDate><description><![CDATA[单隐层神经网络模型是2015年又澳大利亚国立大学提出来的AutoRec,它是将自编码器的思想和协同过滤结合，提出了一种单隐层神经网络推荐模型，因其简约的网络结构和清晰易懂的模型原理，AutiRec非常适合作为深入学习推荐模型的入门模型来学习
AutoRec模型是一个标准版的自编码器，它的基本原理是利用协同过滤重的共现矩阵，完成物品向量或者用户向量的自编码，在利用自编码的结果得到用户对物品的预估评分，进而进行推荐排序
什么是自编码器？？？？？
自编码器是指能够完成数据“自编码”的模型，无论是图像，音频，还是文]]></description><category></category></item><item><title><![CDATA[推荐系统----协同过滤，矩阵分解，逻辑回归，FM,FMM,GBDT+LR,LS-PLM之间的优缺点]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/113525826</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/113525826</guid><author>data_curd</author><pubDate>Mon, 01 Feb 2021 18:34:22 +0800</pubDate><description><![CDATA[协同过滤：
源于1992年直到2003年才被Amazon发表论文使用了
基本原理：

根据用户的行为历史生成用户-物品共现矩阵，利用用户相似性和物品相似性进行推荐

特点：

原理简单，直接，应用广泛

局限性：

泛化能力差，处理稀疏矩阵的能力差，推荐结果的头部效应较为明显

矩阵分解：
源于2006年Netflix举办推荐算法竞赛使推出的
基本原理：

将协同过滤算法中的共现矩阵分解为用户矩阵和物品矩阵，利用用户因向量和物品因向量的内积进行排序并推荐

特点：

相较协同过滤，泛化能力有所加强，对稀疏矩]]></description><category></category></item><item><title><![CDATA[wide&deep模型的认知(未完结)]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/112862394</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/112862394</guid><author>data_curd</author><pubDate>Wed, 20 Jan 2021 15:20:47 +0800</pubDate><description><![CDATA[wide&amp;deep模型：深度加宽度的模型范式，本身并不是一个具体的模型，wide和deep部分可以用任意结构框架，wide的baseline是LR模型，deep的baseline是MLP模型(MLP指多层感知器，是一种签祥结构的人工沉静网络，映射一组输入向量到一组输出向量)
面试时会问这种不起眼的问题：
1、wide&amp;deep模型是谁提出来的？那一年提出来的？你在哪知道这个模型的？
回答：wide&amp;deep是由谷歌16年6月左右提出来的，
2、wide&amp;deep中感觉wide]]></description><category></category></item><item><title><![CDATA[API------------python中的pow(x,y)函数解析]]></title><link>https://blog.youkuaiyun.com/data_curd/article/details/112861640</link><guid>https://blog.youkuaiyun.com/data_curd/article/details/112861640</guid><author>data_curd</author><pubDate>Wed, 20 Jan 2021 11:52:38 +0800</pubDate><description><![CDATA[在python中用到pow函数，一般都是求数值的三次方，
pow(x,y)-----&gt;其意思是数字x的y次方
例如：pow(5,3)------&gt;表示5的三次方，其结果为：555


]]></description><category></category></item></channel></rss>