“Spark电影推荐”的版本间的差异
来自CloudWiki
第46行: | 第46行: | ||
具体实现方法:为每一行建立一个10000个元素的数组,以统计每个词出现的次数 | 具体实现方法:为每一行建立一个10000个元素的数组,以统计每个词出现的次数 | ||
+ | |||
+ | ==使用Spark MLlib协同过滤算法基于用户评分推荐电影== | ||
===安装SPARK、Hadoop=== | ===安装SPARK、Hadoop=== | ||
2018年7月28日 (六) 06:52的版本
目录
准备工作
导入项目到PyCharm
File -> Open
配置编译环境
File ->Setting -> Project code -> Project Interpreter ,右边的齿轮 -> ADD C:\Users\Administrator\AppData\Local\Programs\Python\Python36\python.exe
安装程序所需的包
在程序源文件中右击空白处 -> Run 查看错误提示,看看缺少什么包 File ->Setting -> Project code -> Project Interpreter -> Package List 右边的+号,缺少什么包就安装什么包
图像分割实验
协同过滤实验
用户画像练习
从京东那里爬取商品评论
www.bejson.com
对评论进行中文分词、去停用词
计算TF-IDF词频并应用K-均值聚类算法
TF-IDF的全称是Term Frequency-Inverse Document Frequency,翻译过来就是“词频-逆文本频率”。TF容易理解,即一个文本中各个词出现的频率统计。IDF反映了一个词在所有文本中出现的频率,能够反映词语的重要性,举个例子来说明IDF,有如下语料:
corpus=["I come to China to travel", "This is a car polupar in China", "I love tea and Apple ", "The work is to write some papers in science"]
上面的4个文本中几乎都出现了to、is、and,词频虽然高,但是重要性却没有China、Apple高。所以,若一个词出现在很多文本中,它的IDF值应当低,若一个词出现在比较少的文本中,它的IDF应当高。最后的TF-IDF值等于TF与IDF相乘。总的来说,TF-IDF就是从两个方面对文本中的词进行加权:①词在当前文本中出现的次数;②总文本数包含词的数目。
具体实现方法:为每一行建立一个10000个元素的数组,以统计每个词出现的次数
使用Spark MLlib协同过滤算法基于用户评分推荐电影
安装SPARK、Hadoop
1、安装JAVA1.8 cmd中 java -version查看java版本 2、下载并安装spark 2.3.1 https://www.apache.org/dyn/closer.lua/spark/spark-2.3.1/spark-2.3.1-bin-hadoop2.7.tgz 环境变量 SPARK_HOME = F:\spark-2.3.1-bin-hadoop2.7 Path添加 %SPARK_HOME%/bin 3、下载并安装hadoop https://archive.apache.org/dist/hadoop/common/hadoop-2.7.6/ 环境变量 HADOOP_HOME = F:\hadoop-2.7.6\hadoop-2.7.6 Path添加 %HADOOP_HOME%/bin 4、pip install py4j 5、Pycharm => Run => Edit Configurations => Environment Variables => SPARK_HOME = F:\spark-2.3.1-bin-hadoop2.7 HADOOP_HOME = F:\hadoop-2.7.6\hadoop-2.7.6 6、复制F:\spark-2.3.1-bin-hadoop2.7\spark-2.3.1-bin-hadoop2.7\python\pyspark 到C:\Python36\Lib\site-packages中 7、将winutils.exe复制到F:\hadoop-2.7.6\hadoop-2.7.6\bin下