Hi there 👋

Welcome to my blog

vsftpd安装

一、安装 使用 root 用户或者具有sudo权限用户操作,直接使用 yum 安装: # 安装 yum install vsftpd # 启动|停止|重启 systemctl start|stop|restart vsftpd # 或者 service vsftpd start|stop|restart 添加 FTP 用户: 出于安全考虑,一般 ftp 用户是不允许登陆系统的,且只能访问自己主目录下的文件 # 先创建ftp用户根的目录 mkdir -p /home/vsftpd # 添加用户并指定目录和用户组,设置为不可登陆系统 # -d 命令是指定用户家目录 # -g 是指定用户分组 # -s /sbin/nologin 禁止用户登陆系统 # mlrtftp 新建ftp用户的用户名 useradd -d /home/vsftpd/mlrtftp -g ftp -s /sbin/nologin mlrtftp # 为用户 mlrtftp 设置密码,按提示操作输入两次密码: passwd mlrtftp # mlrtftp@321 # mlrtftp@321 二、配置: vsftpd 的配置文件默认在 /etc/vsftpd/vsftpd.conf 具体的配置项说明太多了,贴在最后,这里说一下在默认配置中需要注意和修改的部分 ...

November 10, 2020 · 5 min · 861 words · Jacob

文本聚类的过程

主要的过程其实主要的部分有三个: 第一部分,分词处理,我们要把中文文章要进行分词,这一点中文文章和英文文章有一些区别,因为英文单词是单个构成的,也就不需要分词了,而我们中文是需要分词的,并且中文之间有一些词尽管大量出现,但是对于文章的分类结构起不到太大的意义,比如”的”,”了”,”么””应该”,这些词去计算他们既浪费空间又浪费时间,出于+1s的因素,我们也要节约时间啊,首先我们就加入一个停用词表,在进行分词的时候进行去掉. 第二部分:分词后将分词转换为词向量 关于词向量我们有一些比较常用的模型,比如one-hotm,BOW词袋模型,连续词袋模型(CBOW)和Skip-Gram模型和Word2vec模型,在这次任务中我是用的是BOW词袋模型,在转换为词向量值我们要将其转换成tfidf矩阵,tfidf其实可以看作是提取的特征的一次加权,是根据一个单词在当前文章中出现的频率和该单词在所有语料中出现的频率评估一个单词的重要性,当一个单词在这篇文章中出现的次数很多的时候,这个词语更加重要;但如果它在所有文章中出现的次数都很多,那么它就显得不那么重要 第三部分:选择聚类算法 这里的算法大家常用的是K-means和DBSCAN,这两种算法用的最多,但是在高维空间里边K-means似乎并不是很好,究其原因是因为维度太高,簇与簇之间的距离太小了,如果直接去聚类,这一部分似乎效果不太好,这时候就需要用到主成分分析PCA,大致的思路是大致意思就是取这个高维向量中方差最大的方向经过一些数学变换将有用的部分保留,没用的部分舍弃,这种办法同样适合分类算法中寻找最大的特征. 这一部分似乎也得单独拿出一篇文章好好写一下,毕竟太多坑了. 最后算法评测,对于K-means,我们使用的是簇的距离进行评定,对于Brich层次聚类,我们使用的是轮廓系数来评定,最后发现,这真是一个调参活,感叹真不容易.

September 28, 2020 · 1 min · 8 words · Jacob

文本分类&聚类

按照处理的对象和处理的方法不同,可将常见文本分类/聚类任务分为以下几种: 要实现上述目的,通常有以下几个核心问题要解决: 特征选择 用什么作为特征项 用于表示文本的基本单位通常称为文本的特征或特征项。特征项必须满足:能够标识文本内容、能够将目标文本与其他文本相区分、个数不能太多、特征项分离要比较容易实现。在中文文本中可以采用字、词或短语作为表示文本的特征项。 相比较而言,词比字具有更强的表达能力,而词和短语相比,词的切分难度比短语的切分难度小得多。因此,目前大多数中文文本分类系统都采用词作为特征项,称作特征词。这些特征词作为文档的中间表示形式,用来实现文档与文档、文档与用户目标之间的相似度计算 。 选取哪些作为特征项 如果把所有的词都作为特征项,那么特征向量的维数将过于巨大,从而导致计算量太大,在这样的情况下,要完成文本分类几乎是不可能的。特征提取的主要功能是在不损伤文本核心信息的情况下尽量减少要处理的单词数,以此来降低向量空间维数,从而简化计算,提高文本处理的速度和效率。 特征选取的方式有2种: 用映射或变换的方法把原始特征变换为较少的新特征(将原始特征用新特征表示); 从原始特征中挑选出一些最具代表性的特征(只保留部分原始特征,不产生新特征),即根据某个特征评估函数计算各个特征的评分值,然后按评分值对这些特征进行排序,选取若干个评分值最高的作为特征词,常见的特征评估函数包括TF-IDF、信息增益、互信息等。 文本表示 如何表示文档 为了让计算机能够“计算”文本,就需要我们将文本数据转换成计算机可以处理的结构化数据。常见的文本表示模型有布尔模型、向量空间模型、统计主题模型等。其中,向量空间模型概念简单,把对文本内容的处理简化为向量空间中的向量运算,并且它以空间上的相似度表达语义的相似度,直观易懂,目前应用最广。 如何确立权重 一篇文档有很多词,有些词表达的语义很重要,有些相对次要,那么如何确定哪些重要?哪些次要呢?因此,需要进一步对每个词的重要性进行度量。常见的确立词汇权重的算法有TF-IDF、词频法等。 相似性计算 要实现文本的分类和聚类,需要设计一种算法计算出文档与文档、词汇与词汇之间的相似性。 文档相似性 设定我们要比较X和Y间的差异,它们都包含了N个维的特征,即X=(x1, x2, x3, … xn),Y=(y1, y2, y3, … yn)。下面来看看主要可以用哪些方法来衡量两者的差异,主要分为距离度量和相似度度量。 距离度量 距离度量(Distance)用于衡量个体在空间上存在的距离,距离越远说明个体间的差异越大。常见的距离有欧几里得距离(Euclidean Distance)、明可夫斯基距离(Minkowski Distance)、曼哈顿距离(Manhattan Distance)、切比雪夫距离(Chebyshev Distance)、马哈拉诺比斯距离(Mahalanobis Distance)。 相似性度量 相似度度量(Similarity),即计算个体间的相似程度,与距离度量相反,相似度度量的值越小,说明个体间相似度越小,差异越大。常见的相似性度量有向量空间余弦相似度(Cosine Similarity)、皮尔森相关系数(Pearson Correlation Coefficient)、Jaccard相似系数(Jaccard Coefficient)、调整余弦相似度(Adjusted Cosine Similarity)。 欧氏距离是最常见的距离度量,而余弦相似度则是最常见的相似度度量,很多的距离度量和相似度度量都是基于这的变形和衍生,所以下面重点比较下两者在衡量个体差异时实现方式和应用环境上的区别。下面借助三维坐标系来看下欧氏距离和余弦相似度的区别: 从图上可以看出距离度量衡量的是空间各点间的绝对距离,跟各个点所在的位置坐标(即个体特征维度的数值)直接相关;而余弦相似度衡量的是空间向量的夹角,更加的是体现在方向上的差异,而不是位置。如果保持A点的位置不变,B点朝原方向远离坐标轴原点,那么这个时候余弦相似度cosθ是保持不变的,因为夹角不变,而A、B两点的距离显然在发生改变,这就是欧氏距离和余弦相似度的不同之处。 根据欧氏距离和余弦相似度各自的计算方式和衡量特征,分别适用于不同的数据分析模型:欧氏距离能够体现个体数值特征的绝对差异,所以更多的用于需要从维度的数值大小中体现差异的分析,如使用用户行为指标分析用户价值的相似度或差异;而余弦相似度更多的是从方向上区分差异,而对绝对的数值不敏感,更多的用于使用用户对内容评分来区分用户兴趣的相似度和差异,同时修正了用户间可能存在的度量标准不统一的问题(因为余弦相似度对绝对数值不敏感)。 词汇相似性 目前接触的常见词汇相似性的方法有: 传统图情领域:基于共现频次这一基本统计量衍生出来的,如association strength、inclusion index、Jaccard’s coefficient、Salton’s cosine(Ochiia系数)等; 计算机领域: 是基于语义词典的方法,即依据词典分类体系挖掘所包含的词义知识,常用的词典包括Wordnet、Hownet等; 是基于语料库的方法,这里的语料库较为多元,例如百科预料、唐诗宋词预料等; 是进行词向量化,如Word2vec。 文本分类/聚类算法 有了文本表示方法,又有了计算相似性的公式,下一步就可以在此基础上讨论文本分类/聚类的算法了。 文本分类 医生对病人进行诊断就是一个典型的分类过程,任何一个医生都无法直接看到病人的病情,只能观察病人表现出的症状和各种化验检测数据来推断病情,这时医生就好比一个分类器,而这个医生诊断的准确率,与他当初受到的教育方式(构造方法)、病人的症状是否突出(待分类数据的特性)以及医生的经验多少(训练样本数量)都有密切关系。 分类器是对样本进行分类的方法的统称,包含决策树、逻辑回归、朴素贝叶斯、神经网络等算法。举个例子:假如你想区分小明是好学生还是坏学生,那么区分“好学生”和“坏学生”就是一个分类任务。 K最邻近 “别和其他坏学生在一起,否则你也会和他们一样。” —— 家长 ...

September 28, 2020 · 1 min · 136 words · Jacob

常用开源协议类别区分

可以通过以下两张图确定各个常用开源协议的类别和注意事项。 1.0 版本 2.0 版本

September 26, 2020 · 1 min · 5 words · Jacob

修改pip源

pip 官方源在国外,国内使用比较慢,建议使用国内镜像源。 国内pip镜像 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科学技术大学 https://pypi.mirrors.ustc.edu.cn/simple/ 阿里云 http://mirrors.aliyun.com/pypi/simple/ 豆瓣(douban) http://pypi.douban.com/simple/ 临时更换 使用如下命令即可,即在 pip 命令中添加 -i 参数用来指定安装源地址: pip install <包名> -i https://pypi.douban.com/simple eg: pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple 永久更换 可以使用如下 pip 命令,或者修改 pip 的配置文件 1、使用命令: #清华源 pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # 或: #阿里源 pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/ #腾讯源 pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple #豆瓣源 pip config set global.index-url http://pypi.douban.com/simple/ 2、更改配置文件 Linux 下: 修改 ~/.pip/pip.conf (没有就创建一个), 内容如下: [global]index-url = https://pypi.tuna.tsinghua.edu.cn/simple Windows 下: 直接在user目录中创建一个pip目录,如:C:\Users\xx\pip 在pip 目录下新建文件pip.ini,内容如下: [global] timeout = 6000 index-url = https://pypi.tuna.tsinghua.edu.cn/simple [install] use-mirrors = true mirrors = https://pypi.tuna.tsinghua.edu.cn/simple trusted-host = pypi.tuna.tsinghua.edu.cn

August 26, 2020 · 1 min · 93 words · Jacob