投稿Machine Learning With Spark Note 1:数据基本处理
Posted 数据科学家联盟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了投稿Machine Learning With Spark Note 1:数据基本处理相关的知识,希望对你有一定的参考价值。
本文为数盟特约作者投稿,欢迎转载,请注明出处“数盟社区”和作者
博主简介:段石石,1号店精准化推荐算法工程师,主要负责1号店用户画像构建,喜欢钻研点Machine Learning的黑科技,对Deep Learning感兴趣,喜欢玩kaggle、看9神,对数据和Machine Learning有兴趣咱们可以一起聊聊,个人博客: hacker.duanshishi.com
接入公共数据库
很用于机器学习模型的数据库有很多,包括:
- UCI机器学习源:http://archive.ics.uci.edu/ml/
- Amazon AWS公共数据集:http://aws.amazon. com/publicdatasets/
- Kaggle:http://www.kaggle.com/competitions
- KDnuggets:http://www.kdnuggets.com/datasets/index.html
在本章中,我们使用一个经典的电影数据集MovieLens(http://files.grouplens.org/datasets/ movielens/ml-100k.zip)
了解数据
下载MovieLens数据集:
解压,检查下数据格式:
u.user存储用户基本信息,u.item存储电影基本信息,u.data存储user_id,movie_id,rating,timestamp信息。
使用Python notebook看看用户数据
将数据拷到对应路径
1 2 | user_data = sc . textFile ( '../data/ML_spark/MovieLens/u.user' ) user_data . first ( ) |
计算数据当中的基本信息,比如用户总数、性别总数(应该是2吧)、职业数、zip数目:
1 2 3 4 5 6 | user_fields = user_data . map ( lambda line : line . split ( '|' ) ) num_users = user_fields . map ( lambda fields : fields [ 0 ] ) . count ( ) = user_fields . map ( lambda fields : fields [ 2 ] ) . distinct ( ) . count ( ) num_occupations = user_fields . map ( lambda fields : fields [ 3 ] ) . distinct ( ) . count ( ) num_zipcodes = user_fields . map ( lambda fields : fields [ 4 ] ) . distinct ( ) . count ( ) print "Users: %d, genders: %d, occupations: %d, ZIP codes: %d" % ( num_users , num_genders , num_occupations , num_zipcodes ) |
计算用户的年纪的基本分布:
1 2 3 4 5 6 |
import
matplotlib
.
pyplot
as
plt
from
matplotlib
.
pyplot
import
hist
ages
=
user_fields
.
map
(
lambda
x
:
int
(
x
[
1
]
)
)
.
collect
(
)
hist
(
ages
,
bins
=
20
,
color
=
'lightblue'
,
normed
投稿Machine Learning With Spark Note 2:构建简单的推荐系统
投稿Machine Learning With Spark Note 2:构建简单的推荐系统 Python - 7 Steps to Mastering Machine Learning With Python 学习 Machine Learning Mastery With Python |