当前位置:主页 > 书籍配套资源 > Mahout配套资源
《Mahout实践指南》源代码

《Mahout实践指南》源代码

  • 更新:2022-04-11
  • 大小:1.96 MB
  • 类别:Mahout
  • 作者:Piero、Giacomelli
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

机器学习是人工智能领域里的一个重要分支,是进行复杂数据分析和构建智能系统的一个十分重要的研究方向。互联网数据不断地爆炸性增长标志着大数据时代的来临,机器学习领域在处理大规模数据时将面临新的挑战。研究者除了从软件方面发明新的时间复杂度更低的可扩展的算法之外,还应积极地从硬件架构方面进行改进,其中值得关注的方向有两个:将并行计算和分布式计算引入机器学习。

并行计算当前的热门方向是GPU计算,将传统上同时运行在多台机器上的任务交给单台机器上的图形处理器处理,这使得并行计算的费用大大降低。Shane Cook撰写的《CUDA并行程序设计:GPU编程指南》是这方面的经典参考书。GPU的技巧已经大规模地应用到机器学习领域以改进传统的算法,两个有代表性的GPU机器学习库是Theano和GPUMLib。

分布式方面最有代表性的工作是Apache Hadoop。它支持在大型集群中运行应用程序。最为重要的是,该架构是Java语言编写的开源软件框架,它实现了Google的Map/Reduce框架,可供商业或科研免费使用。Mahout库就是在这样的背景下产生的。它建立在Hadoop的基础上,主要用于处理大规模的机器学习问题,其中核心算法有聚类、分类、协同过滤。同样,该库是开源免费的,且支持商业级别的机器学习方面的应用。

针对从事机器学习应用方面的开发人员以及机器学习理论研究方面的科研人员使用Mahout,本书提供了非常有价值的参考。作者在将Mahout用于商业领域方面经验丰富,本书旨在降低Mahout初学者的入门门槛。本书特点如下:
通过分析大量的实例,展示了如何更好地使用Mahout算法,主要有分类算法、聚类算法以及遗传算法。
由浅入深讲解实例,帮助读者逐步掌握Mahout的应用方法。
图文并茂,让读者及时了解每一步操作之后的效果,帮助读者更好地检验学习进度。
写作方式独特,通过编码的方式帮助读者了解代码的目标及含义,避开代码背后复杂的机理。
避开烦琐的数学表述,通过具体而形象的描述,让读者直观了解机器学习技术。
值得一提的是,Mahout主要用在Linux平台上,但是对于使用Windows系统的大部分读者来说,这并不是一个障碍。本书通过详尽的描述,让不熟悉Linux的读者也可以学到Linux的基本使用技巧。实际上,本书中所有的代码都是在Windows系统下编写的,作者通过在Windows上安装Virtual Box软件来使用Linux平台,这种方式为那些Windows系统下的开发者使用Mahout库提供了一个良好的建议。
为了方便读者正确、迅速地理解本书,译者对本书的一些错误进行了修正,并在某些表述不太清楚的地方添加了注释,希望对读者理解本书内容有所帮助。然而,不得不承认,尽管译者从事的研究方向是机器学习,但由于水平有限,本书难免存在错误。欢迎读者及时向出版社指出,便于再版时予以更正。
特别感谢机械工业出版社编辑为本书出版所付出的辛勤劳动。
最后,感谢夫人靖莹以及耿光刚博士在文字校稿方面给予的支持和帮助。
靳小波

封面图

目录

  • 译者序
  • 前言
  • 关于评阅者
  • 致谢
  • 第1章Mahout入门 / 1
  • 秘笈1安装Java和Hadoop / 1
  • 秘笈2设置Maven和NetBeans开发环境 / 6
  • 秘笈3编写一个基本的推荐系统 / 9
  • 第2章使用序列文件——什么时候和为什么 / 19
  • 秘笈4从命令行创建序列文件 / 20
  • 秘笈5编写代码创建序列文件 / 23
  • 秘笈6编码实现读取序列文件 / 28
  • 第3章将Mahout和外部资源整合 / 33
  • 秘笈7导入外部资源到HDFS / 34
  • 秘笈8将数据从HDFS导入到RDBMS / 43
  • 秘笈9创建一个Sqoop作业来处理RDBMS / 45
  • 秘笈10使用Sqoop API导入数据 / 47
  • 第4章实现朴素贝叶斯分类器 / 49
  • 秘笈11使用Mahout文本分类器演示基本的使用样例 / 50
  • 秘笈12编码实现朴素贝叶斯分类器 / 60
  • 秘笈13通过命令行使用互补朴素贝叶斯 / 64
  • 秘笈14编码使用互补朴素贝叶斯分类器 / 65
  • 第5章股市预测 / 67
  • 秘笈15为logistic回归准备数据 / 67
  • 秘笈16使用logistic预测GOOG股票动态 / 71
  • 秘笈17通过Java编码使用自适应的logistic回归 / 76
  • 秘笈18在大规模的数据集上使用logistic回归 / 79
  • 秘笈19使用随机森林预测市场动态 / 83
  • 第6章顶棚聚类 / 87
  • 秘笈20基于命令行的顶棚聚类 / 87
  • 秘笈21基于带参数命令行的顶棚聚类 / 91
  • 秘笈22通过Java代码使用顶棚聚类 / 95
  • 秘笈23编写你自己的距离估计 / 98
  • 第7章频谱聚类 / 101
  • 秘笈24通过命令行使用EigenCuts / 101
  • 秘笈25在Java代码中使用EigenCuts / 104
  • 秘笈26从原始数据创建相似度矩阵 / 108
  • 秘笈27使用频谱聚类进行图像分割 / 114
  • 第8章K-均值聚类 / 119
  • 秘笈28在Java代码中使用K-均值聚类 / 119
  • 秘笈29使用K-均值聚类对交通事故进行聚类 / 124
  • 秘笈30使用MapReduce进行K-均值聚类 / 128
  • 秘笈31命令行方式使用K-均值聚类 / 132
  • 第9章软计算 / 139
  • 秘笈32使用Mahout进行频繁模式挖掘 / 139
  • 秘笈33为频繁模式挖掘创建评价准则 / 142
  • 秘笈34在Java代码中使用频繁模式挖掘 / 147
  • 秘笈35使用LDA创建主题 / 153
  • 第10章实现遗传算法 / 159
  • 秘笈36设置Mahout以便使用遗传算法 / 159
  • 秘笈37在图上使用遗传算法 / 163
  • 秘笈38在Java代码中使用遗传算法 / 167

资源下载

资源下载地址1:https://pan.baidu.com/s/1w0yn9EVrjCrLdi_P7G08kQ

网友留言