0%

TODO

K-均值(K-means)算法是无监督算法,也是聚类(clustering)算法。

算法步骤

  1. 随机初始化几个点作为簇的质心,初始化方式有多种,可以自行选择。已知两种:
  • 随机选择K个样本作为簇的质心。来源于吴恩达机器学习视频
  • min + (max - min) * (0到1之间的小数),其中最大值最小值均代表。来源于《机器学习实战》
  1. 计算某个样本到每个簇的质心之间的代价(距离),代价函数有多种可自行选择。比如:
  • 均方误差(mse) 选出其中最小的代价,并求出簇的索引,然后将该样本划分给该质心所属的簇。每个样本都执行这步直到样本遍历完毕。
  1. 经过步骤2,每个样本都归属于一个簇。然后遍历每一个簇,将簇中的数据求均值,将该均值作为簇的新质心。
    阅读全文 »

网上的其他解决办法都不对,后来发现了是因为一个很逗的错。

以下代码闪退

1
2
from selenium import webdriver
webdriver.Chrome()

以下代码正常运行

1
2
from selenium import webdriver
chrome = webdriver.Chrome()

阅读全文 »

参考了博客,但是这篇博客提供命令我也执行不了。如果你也成功不了,可以试试我的步骤。

网上有很多博客介绍如何使用开源工具wiki extractor解压提取维基百科上的数据,但是我试了一下他们的命令发现没一个能用的,而且他们对于该命令基本都是一笔带过,没有做深入的解释,对于我这种小白在第一步就卡死了。另外他们大部分人都是用linux系统,还有些使用Mac系统,用Windows的只有少数,而且他们提供的命令还不好用。所以我在此提供Windows系统的使用办法。

  1. 数据来源:维基百科数据
  2. 首先进入wiki extractor的官网。发现里面有很多py文件,与其他人写的博客上的教程完全不一样。别人的教程只有一个WikiExtractor.py文件。
  3. 将该项目clone下来,放在你的项目中。如下图:
    阅读全文 »

参考文章。以下步骤基于ubuntu16,下载的文件在Downloads文件夹。

  1. 使用命令lspci |grep -i nvidia,查看显卡型号
  2. 然后去官网查找对应显卡版本。
  3. 下载NVIDIA驱动文件,名称类似为NVIDIA-Linux-x86_64-375.20.run。
  4. 卸载已有的驱动。由于我的是新机器,所以卸载步骤未执行。
    阅读全文 »

TODO

定义

由于新手不太懂术语,规定行为一条数据,列为一组特征。 特征代表一列数据。如性别、年龄、身高等。 分类代表一个特征中不同的分类。如性别中分类为男女,天气中分类为晴、阴、雨、雪等,收入中分类为贫困、低收入、小康、中高收入者、富人等。

信息增益

引用自《机器学习实战》 >划分数据集的大原则:将无需的数据变得更加有序。我们可以使用多种方法划分数据集,但是每种方法都有各自的优缺点。组织杂乱无章数据的一种办法就是使用信息论度量信息,信息论是量化处理信息的分支学科。我们可以在划分数据之前或之后使用信息论量化度量信息的内容。 >在划分数据集之前之后信息发生的变化称为信息增益,知道如何计算信息增益,我们就可以计算每个特征值划分数据集获得的信息增益,获得信息增益最高的特征就是最好的选择。

节选 >集合信息的度量方式称为香农熵或者简称为熵,这个名字来源于信息论之父克劳德·香农。

阅读全文 »

线性回归

  • 优点:结果易于理解,计算上不复杂。
  • 缺点:对非线性的数据拟合不好。
  • 适用数据类型:数值型和标称型数据。

比如预测汽车的功率,可能会这么计算:horse_power = 0.0015 * annual_salary - 0.99 * hours_listening_to_public_radio

这就是所谓的回归方程(regression equation),其中 0.0015 和 -0.99 称作回归系数(regression weights),求这些回归系数的过程就是回归。

回归一词的由来:是由达尔文(Charles Darwin)的表兄弟 Francis Galton 发明的。

线性回归的代价函数是:

阅读全文 »

使用jps,发现没有namenode

使用命令/opt/hadoop/sbin/start-all.sh启动hadoop,之后使用jsp,一般来讲会出现如下6个线程

1
2
3
4
5
6
55598 Jps
54490 NameNode
54684 DataNode
54931 SecondaryNameNode
55332 NodeManager
38251 ResourceManager
但是我发现我运行后没有出现namenode。仔细观察中断启动时的日志发现,namenode的日志记录在/opt/hadoop/logs/hadoop-zhangyu-namenode-a2d8c523dd0b.log中,打开它,发现在最后居然报了异常。由于Hadoop是java写的,异常很好认(我就是学java出身的)。
1
java.io.IOException: There appears to be a gap in the edit log.  We expected txid 1, but got txid 16.
百度之后发现namenode的元数据破坏,需要恢复,具体参考某csdn博客。 使用hadoop namenode -recover即可恢复。
阅读全文 »