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

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











ORM(객체 관계형 매핑) 프레임워크는 Python 개발에서 중요한 역할을 하며, 객체와 관계형 데이터베이스 사이에 브리지를 구축하여 데이터 액세스 및 관리를 단순화합니다. 다양한 ORM 프레임워크의 성능을 평가하기 위해 이 기사에서는 다음과 같은 널리 사용되는 프레임워크를 벤치마킹합니다. sqlAlchemyPeeweeDjangoORMPonyORMTortoiseORM 테스트 방법 벤치마크에서는 100만 개의 레코드가 포함된 SQLite 데이터베이스를 사용합니다. 테스트는 데이터베이스에서 다음 작업을 수행했습니다. 삽입: 테이블에 10,000개의 새 레코드를 삽입합니다. 읽기: 테이블의 모든 레코드를 읽습니다. 업데이트: 테이블의 모든 레코드에 대해 단일 필드를 업데이트합니다. 삭제: 테이블의 모든 레코드를 삭제합니다. 각 작업

Yii 프레임워크는 웹 애플리케이션을 개발할 때 효율성과 안정성이 뛰어난 고성능, 확장성, 유지 관리 가능성이 높은 PHP 개발 프레임워크입니다. Yii 프레임워크의 가장 큰 장점은 고유한 기능과 개발 방법이면서 동시에 많은 실용적인 도구와 기능을 통합한다는 것입니다. Yii 프레임워크의 핵심 개념인 MVC 패턴 Yii는 애플리케이션을 비즈니스 로직 처리 모델과 사용자 인터페이스 표현 모델이라는 세 가지 독립적인 부분으로 나누는 패턴인 MVC(Model-View-Controller) 패턴을 채택합니다. .

ORM(객체 관계형 매핑)은 개발자가 SQL 쿼리를 직접 작성하지 않고도 객체 프로그래밍 언어를 사용하여 데이터베이스를 조작할 수 있도록 하는 프로그래밍 기술입니다. Python의 ORM 도구(예: SQLAlchemy, Peewee 및 DjangoORM)는 빅 데이터 프로젝트의 데이터베이스 상호 작용을 단순화합니다. 장점 코드 단순성: ORM을 사용하면 긴 SQL 쿼리를 작성할 필요가 없으므로 코드 단순성과 가독성이 향상됩니다. 데이터 추상화: ORM은 데이터베이스 구현 세부 사항에서 애플리케이션 코드를 분리하여 유연성을 향상시키는 추상화 계층을 제공합니다. 성능 최적화: ORM은 캐싱 및 일괄 작업을 사용하여 데이터베이스 쿼리를 최적화함으로써 성능을 향상시키는 경우가 많습니다. 이식성: ORM을 통해 개발자는 다음을 수행할 수 있습니다.

Java 디자인 패턴 이해: 일반적으로 사용되는 7가지 디자인 패턴에 대한 소개, 특정 코드 예제가 필요합니다. Java 디자인 패턴은 널리 수용되는 일련의 디자인 아이디어와 행동 강령을 제공합니다. 디자인 패턴은 코드 구조를 더 잘 구성하고 계획하는 데 도움이 되므로 코드의 유지 관리, 읽기 및 확장성이 향상됩니다. 이 글에서는 Java에서 일반적으로 사용되는 7가지 디자인 패턴을 소개하고 해당 코드 예제를 제공합니다. 싱글톤 패트

컴퓨터를 사용하는 친구들은 모두 바탕 화면을 깔끔하고 깔끔하게 정리하고 싶어하지만, win10 시스템에서는 어떻게 조작해야 할지 모릅니다. 오늘은 바탕 화면 아이콘을 정리하는 win10 방법을 알려드리겠습니다. Win10에서 바탕 화면 아이콘을 구성하는 방법: 1. 바탕 화면의 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 상단의 "보기"를 클릭합니다. 2. 오른쪽 창에서는 '아이콘 자동 정렬' 등의 기능을 볼 수 있습니다. 3. 필요에 따라 아이콘을 배치할 수 있도록 "아이콘 자동 정렬"을 선택하지 마십시오. 4. 게다가 이 모든 옵션을 선택할 수 있지만 이렇게 하면 자신의 개성을 표현할 수 없습니다.

ORM(Object-Relational Mapping)은 객체지향 프로그래밍 언어와 관계형 데이터베이스를 연결하는 기술입니다. pythonORM을 사용하면 데이터 지속성 작업이 크게 단순화되어 애플리케이션 개발 효율성과 유지 관리성이 향상됩니다. PythonORM을 사용하면 다음과 같은 장점이 있습니다. 상용구 코드 감소: ORM은 자동으로 SQL 쿼리를 생성하므로 많은 상용구 코드를 작성하지 않아도 됩니다. 데이터베이스 상호 작용 단순화: ORM은 데이터베이스와의 상호 작용을 위한 통합 인터페이스를 제공하여 데이터 작업을 단순화합니다. 보안 향상: ORM은 SQL 주입과 같은 보안 취약성을 방지할 수 있는 매개변수화된 쿼리를 사용합니다. 데이터 일관성 향상: ORM은 개체와 데이터베이스 간의 동기화를 보장하고 데이터 일관성을 유지합니다. ORM을 선택하세요

Git은 팀이 소프트웨어 개발에 협력하는 데 도움이 되는 분산 버전 제어 시스템입니다. Java 개발자의 경우 Git을 이해하는 것은 코드 변경 관리, 코드 기록 추적 및 다른 사람들과의 협업을 위한 플랫폼을 제공하므로 중요합니다. 초보자를 위한 Git 설치(기본 사항 이해): Git 소프트웨어를 설치하고 환경 변수를 설정합니다. 저장소 생성: gitinit를 사용하여 로컬 저장소를 생성합니다. 파일 추가: gitadd를 사용하여 스테이징 영역에 파일을 추가합니다. 변경 사항 커밋: gitcommit을 사용하여 스테이징 영역의 변경 사항을 로컬 저장소에 커밋합니다. 중간(협업 및 버전 제어) 복제 저장소: gitclone을 사용하여 원격 저장소에서 로컬 복사본을 복제합니다. 분기 및 병합: 분기를 사용하여 코드의 격리된 복사본 만들기

Tkinter는 Python에서 그래픽 사용자 인터페이스(GUI)를 생성하기 위한 강력한 라이브러리입니다. 단순성, 플랫폼 간 호환성, Python 생태계와의 원활한 통합으로 잘 알려져 있습니다. Tkinter를 사용하면 프로젝트에 사용자 친화적인 인터페이스를 추가하여 사용자 경험을 개선하고 애플리케이션과의 상호 작용을 단순화할 수 있습니다. Tkinter GUI 응용 프로그램 만들기 Tkinter를 사용하여 GUI 응용 프로그램을 만들려면 다음 단계를 수행하십시오. Tkinter 라이브러리 가져오기: importtkinterastk Tkinter 기본 창 만들기: root=tk.Tk() 기본 창 구성: 창 제목, 크기, 위치 설정 등. GUI 요소 추가: Tki 사용
