Inhaltsverzeichnis
Mahout简介
Mahout相关资源
Mahout模块详解
相关工具书
其它
Heim Datenbank MySQL-Tutorial Mahout学习资料整理

Mahout学习资料整理

Jun 07, 2016 pm 04:32 PM
mahout 学习资料 整理 简介

Mahout简介 Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序 Mahout相关资源 Mahout主页:http://mahout.apache.org/ Mahout 最新版本0.8下

Mahout简介

Mahout 是 Apache Software Foundation(ASF) 旗下的一个开源项目,提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序

Mahout相关资源

  • Mahout主页:http://mahout.apache.org/
  • Mahout 最新版本0.8下载:?http://mirrors.hust.edu.cn/apache/mahout/0.8/?使用mahout-distribution-0.8.tar.gz可试跑,源码在mahout-distribution-0.8-src.tar.gz中
  • Mahout 简要安装步骤:

如无需修改源代码,只是试用试跑,请无需安装maven(网上许多教程会有这个弯路,请跳过),具体可以参考以下教程
http://www.hadoopor.com/thread-983-1-1.html

如果需要能修改源代码并重新编译打包,需要安装maven,请参考如下图文教程:http://wenku.baidu.com/view/dbd15bd276a20029bd642d55.html

  • Mahout 专业教程 : Mahout in action?http://yunpan.taobao.com/share/link/R56BdLH5O

注: 出版时间2012年, 对应mahout版本0.5, 是目前mahout最新的书籍读物。目前只有英文版,但是翻了一下,里面词汇基本都是计算机基础词汇,且配图和源代码,是适合阅读的。

  • IBM mahout简介:?http://www.ibm.com/developerworks/cn/java/j-mahout/

注:中文版, 更新是时间为09年,但是里面对于mahout阐述较全面,推荐阅读,特别是最后的书籍清单,适合深入了解

Mahout模块详解

  • Mahout模块详解

Mahout目前专注于推荐(RECOMMENDATIONS)、聚类(CLUSTERING)、分类(CLASSIFICATION)三大部分,具体事例可见Mahout In Action

推荐(RECOMMENDATIONS)

推荐算法介绍

http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy2/index.html

Item Based Algothrim

https://cwiki.apache.org/confluence/display/MAHOUT/Itembased+Collaborative+Filtering

Collaborative Filtering using a parallel matrix factorization

https://cwiki.apache.org/confluence/display/MAHOUT/Collaborative+Filtering+with+ALS-WR

注:基于矩阵因子分解的方法,由于需要不断迭代,所以在mapreduce框架下效率会受影响

Non-distributed recommenders

https://cwiki.apache.org/confluence/display/MAHOUT/Recommender+Documentatio

注:mahout中也提供了推荐算法的非分布式的实现,其中有代号为”taste”的开源推荐引擎

分类(CLUSTERING)

Bayesian 贝叶斯分类

http://blog.echen.me/2011/08/22/introduction-to-latent-dirichlet-allocation/

注:其中同时实现了Naive Bayes和Complementary Naive

BayesRandom Forests 随机森林

https://cwiki.apache.org/confluence/display/MAHOUT/Random+Forests

注:在公司内部,GBDT(内部称treelink)有着广泛的引用,附介绍文章

http://www.searchtb.com/2010/12/an-introduction-to-treelink.html?(tbsearch博客)

http://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/random-forest-and-gbdt.html?(介绍随机森林与GBDT的博客)

Logistic Regression(逻辑回归)

https://cwiki.apache.org/confluence/display/MAHOUT/Logistic+Regression

注:是用SGD(Stochastic Gradient Descent,随机梯度下降)的方法实现的

也可用liblinear:?http://www.csie.ntu.edu.tw/~cjlin/liblinear/?(其中支持L1&L2 regularized logistic regression)

SVM(支持向量机)

目前mahout这个模块还在开发,尚未集成入发布包,如有需要,建议使用台大的libSVM包

libSVM:http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/

聚类(CLASSIFICATION)

聚类方法简述

http://www.ibm.com/developerworks/cn/web/1103_zhaoct_recommstudy3/

Canopy Clustering模块分析

http://www.cnblogs.com/vivounicorn/archive/2011/09/23/2186483.html?(中文博客)

https://cwiki.apache.org/confluence/display/MAHOUT/Canopy+Clustering?(英文文档)

Kmeans模块分析

http://www.cnblogs.com/vivounicorn/archive/2011/10/08/2201986.html?(中文博客)

https://cwiki.apache.org/confluence/display/MAHOUT/K-Means+Clustering?(英文文档)

Fuzz Kmeans

https://cwiki.apache.org/confluence/display/MAHOUT/Fuzzy+K-Means

Mean Shift Clustering

https://cwiki.apache.org/confluence/display/MAHOUT/Mean+Shift+Clustering

注:目前主要用于图像分割和跟踪等计算机视觉领域

Latent Dirichlet Allocation(LDA)

https://cwiki.apache.org/confluence/display/MAHOUT/Latent+Dirichlet+Allocation

注:经典方法,附论文英文原著论文?http://machinelearning.wustl.edu/mlpapers/paper_files/BleiNJ03.pdf?(引用数:6829)

http://www.docin.com/p-413125834.html?(基于LDA话题演化研究方法综述)

http://leyew.blog.51cto.com/5043877/860255?(中文博客学习笔记)

http://blog.echen.me/2011/08/22/introduction-to-latent-dirichlet-allocation/?(英文入门博客)

Pattern Mining 模式挖掘

Parallel Frequent Pattern Mining 并行频繁模式挖掘

https://cwiki.apache.org/confluence/display/MAHOUT/Parallel+Frequent+Pattern+Mining

论文http://wenku.baidu.com/view/9cce67ed172ded630b1cb615.html(在Query推荐中的应用)

Dimension reduction 降维

Singular Value Decomposition(SVD) 奇异值分解

https://cwiki.apache.org/confluence/display/MAHOUT/Dimensional+Reduction

SVD介绍:?http://wenku.baidu.com/view/7f483a6b561252d380eb6ea6.html

Evolutionary Algorithms 进化算法

进化算法框架

进化算法介绍:

http://www.geatbx.com/docu/algindex.html

框架使用方法:

https://cwiki.apache.org/confluence/display/MAHOUT/Mahout.GA.Tutorial

注:目前mahout只是提供一套进化算法的并行化实现框架,但具体的进化算法,如遗传算法、模拟退火算法、蚁群算法等,还未集成到开发包中。

相关工具书

  • 统计学习书籍

1. 统计学习基础 — 数据挖掘、推理与预测(中文版)

http://yunpan.taobao.com/share/link/R56BeLI6O

注:此书英文版每年都在更新,但是中文版只有2004年一版,而且网上纸质书早就脱销了,由于是统计学习基础,所以大多数经典内容还是可读的;

2. 统计学习基础 — 数据挖掘、推理与预测(英文版)(The Elements of Statistical Learning)

http://yunpan.taobao.com/share/link/D56BeLKYE

目前的最新版,第二版(09年)的的第10次印刷版本(13年)

可与中文版对照看

  • 概率论与数理统计基础书籍

1. 浙大概率论与数理统计第三版

http://yunpan.taobao.com/share/link/U56BeLWBT

经典的教科书

2. 统计学完全教程(中文版)

http://yunpan.taobao.com/share/link/756BeLYAa

统计学的百科全书

  • 数据挖掘概述书籍

1. 数据挖掘导论(中文版)

http://yunpan.taobao.com/share/link/O56BeLoPx

2. Data Mining.Concepts and Techniques.3Ed(英文版)

http://yunpan.taobao.com/share/link/256BeLopX

注:中文版还是2000年的老版,起不到参考作用,所以放了最新的英文版

  • 统计学习在自然语言处理方面应用的书籍

1.统计自然语言处理基础(中文版)

http://yunpan.taobao.com/share/link/25VBpL7X

其它

更多更新可见wiki:?http://searchwiki.taobao.ali.com/index.php/PbaseLearning/mahout

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Mar 18, 2024 am 09:10 AM

Object-Relational Mapping (ORM)-Frameworks spielen eine wichtige Rolle in der Python-Entwicklung. Sie vereinfachen den Datenzugriff und die Datenverwaltung, indem sie eine Brücke zwischen Objekt- und relationalen Datenbanken schlagen. Um die Leistung verschiedener ORM-Frameworks zu bewerten, wird in diesem Artikel ein Vergleich mit den folgenden gängigen Frameworks durchgeführt: sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM Testmethode Der Benchmark verwendet eine SQLite-Datenbank mit 1 Million Datensätzen. Der Test führte die folgenden Vorgänge in der Datenbank durch: Einfügen: 10.000 neue Datensätze in die Tabelle einfügen. Lesen: Alle Datensätze in der Tabelle lesen. Aktualisieren: Ein einzelnes Feld für alle Datensätze in der Tabelle aktualisieren. Löschen: Alle Datensätze in der Tabelle löschen. Jeder Vorgang

Einführung in das Yii-Framework: Verstehen Sie die Kernkonzepte von Yii Einführung in das Yii-Framework: Verstehen Sie die Kernkonzepte von Yii Jun 21, 2023 am 09:39 AM

Das Yii-Framework ist ein leistungsstarkes, hoch skalierbares und äußerst wartbares PHP-Entwicklungsframework, das bei der Entwicklung von Webanwendungen äußerst effizient und zuverlässig ist. Der Hauptvorteil des Yii-Frameworks sind seine einzigartigen Features und Entwicklungsmethoden sowie die Integration vieler praktischer Tools und Funktionen. Das Kernkonzept des Yii-Frameworks, das MVC-Muster, übernimmt Yii das MVC-Muster (Model-View-Controller), ein Muster, das die Anwendung in drei unabhängige Teile unterteilt, nämlich das Geschäftslogik-Verarbeitungsmodell und das Präsentationsmodell der Benutzeroberfläche .

Mar 18, 2024 am 09:19 AM

Object-Relational Mapping (ORM) ist eine Programmiertechnologie, die es Entwicklern ermöglicht, Objektprogrammiersprachen zum Bearbeiten von Datenbanken zu verwenden, ohne SQL-Abfragen direkt schreiben zu müssen. ORM-Tools in Python (wie SQLAlchemy, Peewee und DjangoORM) vereinfachen die Datenbankinteraktion für Big-Data-Projekte. Vorteile Einfachheit des Codes: ORM macht das Schreiben langwieriger SQL-Abfragen überflüssig, was die Einfachheit und Lesbarkeit des Codes verbessert. Datenabstraktion: ORM bietet eine Abstraktionsschicht, die Anwendungscode von Datenbankimplementierungsdetails isoliert und so die Flexibilität verbessert. Leistungsoptimierung: ORMs nutzen häufig Caching- und Batch-Vorgänge, um Datenbankabfragen zu optimieren und dadurch die Leistung zu verbessern. Portabilität: ORM ermöglicht Entwicklern

Erhalten Sie ein umfassendes Verständnis von 7 häufig verwendeten Java-Designmustern Erhalten Sie ein umfassendes Verständnis von 7 häufig verwendeten Java-Designmustern Dec 23, 2023 pm 01:01 PM

Java-Entwurfsmuster verstehen: Eine Einführung in 7 häufig verwendete Entwurfsmuster. Es sind spezifische Codebeispiele erforderlich. Java-Entwurfsmuster sind eine universelle Lösung für Software-Entwurfsprobleme. Sie bieten eine Reihe allgemein akzeptierter Entwurfsideen und Verhaltenskodizes. Entwurfsmuster helfen uns, die Codestruktur besser zu organisieren und zu planen, wodurch der Code wartbarer, lesbarer und skalierbarer wird. In diesem Artikel stellen wir sieben häufig verwendete Entwurfsmuster in Java vor und stellen entsprechende Codebeispiele bereit. Singleton Patte

Tipps zum Organisieren von Desktopsymbolen in Win10 Tipps zum Organisieren von Desktopsymbolen in Win10 Dec 27, 2023 pm 05:00 PM

Freunde, die Computer verwenden, möchten alle, dass ihr Desktop sauber und ordentlich angeordnet ist, aber sie wissen nicht, wie sie ihn im Win10-System bedienen sollen. Heute werde ich Ihnen eine Win10-Methode zum Organisieren von Desktopsymbolen vorstellen. Werfen wir einen Blick darauf. So organisieren Sie Desktopsymbole in Windows 10: 1. Klicken Sie mit der rechten Maustaste auf eine leere Stelle auf dem Desktop und klicken Sie oben auf „Ansicht“. 2. Im rechten Fenster sehen Sie Funktionen wie „Icons automatisch anordnen“. 3. Aktivieren Sie nicht „Symbole automatisch anordnen“, damit Sie die Symbole entsprechend Ihren Anforderungen platzieren können. 4. Darüber hinaus sind alle diese Optionen wählbar, allerdings ist es Ihnen nicht möglich, Ihre eigene Persönlichkeit auf diese Weise zum Ausdruck zu bringen.

Mar 18, 2024 am 09:25 AM

Object-Relational Mapping (ORM) ist eine Technologie, die es ermöglicht, eine Brücke zwischen objektorientierten Programmiersprachen und relationalen Datenbanken zu schlagen. Die Verwendung von PythonORM kann Datenpersistenzvorgänge erheblich vereinfachen und dadurch die Effizienz und Wartbarkeit der Anwendungsentwicklung verbessern. Vorteile Die Verwendung von PythonORM bietet die folgenden Vorteile: Reduzierung des Boilerplate-Codes: ORM generiert automatisch SQL-Abfragen und vermeidet so das Schreiben einer großen Menge Boilerplate-Code. Vereinfachen Sie die Datenbankinteraktion: ORM bietet eine einheitliche Schnittstelle für die Interaktion mit der Datenbank und vereinfacht so Datenoperationen. Sicherheit verbessern: ORM verwendet parametrisierte Abfragen, die Sicherheitslücken wie SQL-Injection verhindern können. Datenkonsistenz fördern: ORM gewährleistet die Synchronisierung zwischen Objekten und Datenbanken und sorgt für die Datenkonsistenz. Wählen Sie ORM aus

Verleihen Sie Ihren Projekten mit Python Tkinter GUI-Charme Verleihen Sie Ihren Projekten mit Python Tkinter GUI-Charme Mar 24, 2024 am 09:46 AM

Tkinter ist eine leistungsstarke Bibliothek zum Erstellen grafischer Benutzeroberflächen (GUIs) in Python. Es ist bekannt für seine Einfachheit, plattformübergreifende Kompatibilität und nahtlose Integration in das Python-Ökosystem. Durch die Verwendung von Tkinter können Sie Ihrem Projekt eine benutzerfreundliche Oberfläche hinzufügen, die Benutzererfahrung verbessern und die Interaktion mit Ihrer Anwendung vereinfachen. Erstellen einer Tkinter-GUI-Anwendung Um eine GUI-Anwendung mit Tkinter zu erstellen, führen Sie die folgenden Schritte aus: Importieren Sie die Tkinter-Bibliothek: importtkinterask Erstellen Sie das Tkinter-Hauptfenster: root=tk.Tk() Konfigurieren Sie das Hauptfenster: Legen Sie Fenstertitel, Größe und Position fest usw. GUI-Elemente hinzufügen: Mit Tki

Vom Anfänger zum Meister: Ein Crashkurs in Java Git Vom Anfänger zum Meister: Ein Crashkurs in Java Git Mar 27, 2024 pm 10:41 PM

Git ist ein verteiltes Versionskontrollsystem, das Teams bei der Zusammenarbeit bei der Softwareentwicklung unterstützt. Für Java-Entwickler ist das Verständnis von Git von entscheidender Bedeutung, da es eine Plattform zum Verwalten von Codeänderungen, zum Verfolgen des Codeverlaufs und zur Zusammenarbeit mit anderen bietet. Installieren Sie Git für Neulinge (verstehen Sie die Grundlagen): Installieren Sie die Git-Software und legen Sie Umgebungsvariablen fest. Repository erstellen: Verwenden Sie gitinit, um ein lokales Repository zu erstellen. Dateien hinzufügen: Verwenden Sie gitadd, um Dateien zum Staging-Bereich hinzuzufügen. Änderungen festschreiben: Verwenden Sie gitcommit, um Änderungen im Staging-Bereich im lokalen Repository festzuschreiben. Fortgeschrittenes Klonen eines Repositorys (Zusammenarbeit und Versionskontrolle): Verwenden Sie gitclone, um eine lokale Kopie aus einem Remote-Repository zu klonen. Verzweigung und Zusammenführung: Verwenden Sie Verzweigungen, um isolierte Kopien Ihres Codes zu erstellen

See all articles