淘宝大数据的游戏,我重新提高自己的思维方式,

插件和代码前前后后写在六个版本,但最好的结果其实是我的第一次2第二码。这让我很惊讶,

但它也说明了一个问题。当你更熟悉的语言,当一方,你缺少的是其他的知识,

  1. 首先是我的数学知识,在分析用户行为时,我们知道浏览次数和购买次数是由一定规律的,这个方面找了数学系的同学问了一些,得到的结论是:你能够进行线性拟合。这是最简单的,可是得到的结果不一定真实,于是推荐我使用高斯分布来做。可是由于自己单枪匹马,所以选了比較简单的线性拟合
  2. 心理学,我们能够从数据中发现。那些常常在淘宝买东西的假设是时间间隔一段就买了同一种商品的,那说明这个人的属于死宅之类的,由于这些东西一般我们旁边就有,还有,就是浏览次数和购买之间的关系,用数学来解答,心理学来分析。多天浏览和购买的关系,
先意淫这些吧,下来上三个版本号的代码:
第一版本号,简单推測浏览十五次购买一次:
import time

u_id=[]
b_id=[]
t_id=[]
b_time=[]
t_num0=0
t_num1=0
t_num2=0
t_num3=0
a=True
i=0
j=0
fileread=open('t_alibaba_data.csv','r')
while True:
fileline=fileread.readline()
# print type(fileline)
# print fileline,
# print i
filedian =fileline.find(r',')
filedian1=fileline.rfind(r',') b_id1=fileline[filedian+1:filedian1-2]
b_id.append(b_id1) u_id1=fileline[:filedian]
u_id.append(u_id1) t_id1=fileline[filedian1-1:filedian1]
t_id.append(t_id1) b_time1=fileline[filedian1:-2]
b_time.append(b_time1) if not fileline:
break
output=open('taobao.txt','a')
#print u_id
#print b_id
#print t_id
print b_time ff=0
while True:
if u_id[i]==u_id[i+1]: if ff==0: output.write(u_id[i])
output.write(' ')
ff=ff+1
if b_id[i]==b_id[i+1]: if int(t_id[i])==0:
t_num0=t_num0+1
elif int(t_id[i])==1:
t_num1=t_num1+1
elif int(t_id[i])==2:
t_num2=t_num2+1
else:
t_num3=t_num3+1
else:
j=j+1
print u_id[i],b_id[i],t_num0,t_num1,t_num2,t_num3
if t_num0>=15 or t_num1>=1 :
output.write(b_id[i])
output.write(",")
# else:
# output.write(b_id[i])
# output.write(',')
t_num0=0
t_num1=0
t_num2=0
t_num3=0 # else:
else:
output.write('\n')
ff=0
# print u_id[i],b_id[i],t_num0,t_num1,t_num2,t_num3
i=i+1


第二版本号,观察时间和购买行为
#coding:utf-8
import time u_id=[]
b_id=[]
t_id=[]
b_time=[]
t_num0=0
t_num1=0
t_num2=0
t_num3=0
b_num1=0
b_time4=0
a=True
i=0
j=0
fileread=open('t_alibaba_data.csv','r')
while True:
fileline=fileread.readline()
# print type(fileline)
# print fileline,
# print i
filedian =fileline.find(r',')
filedian1=fileline.rfind(r',') b_id1=fileline[filedian+1:filedian1-2]
b_id.append(b_id1) u_id1=fileline[:filedian]
u_id.append(u_id1) t_id1=fileline[filedian1-1:filedian1]
t_id.append(t_id1) b_time1=fileline[filedian1:-2]
b_time.append(b_time1) if not fileline:
break
output=open('taobao.txt','a')
#print u_id
#print b_id
#print t_id
#print b_time ff=0
while True:
if u_id[i]==u_id[i+1]: if ff==0: output.write(u_id[i])
output.write(' ')
ff=ff+1
if b_id[i]==b_id[i+1]: if int(t_id[i])==0:
t_num0=t_num0+1
elif int(t_id[i])==1:
t_num1=t_num1+1
elif int(t_id[i])==2:
t_num2=t_num2+1
elif b_time[i]!=b_time[i+1]:
b_time4=b_time4+1
else:
t_num3=t_num3+1
else:
j=j+1
b_num1=b_num1+1
print u_id[i],b_id[i],t_num0,t_num1,t_num2,t_num3,b_time4
if t_num0>=15 and t_num1==0:
output.write(b_id[i])
output.write(",")
if b_time4>=2 and t_num1==0:
output.write(b_id[i])
output.write(',')
if t_num0>15 and t_num1>=2:
output.write(b_id[i])
output.write(',')
if t_num2>=1 and t_num1==0:
output.write(b_id[i])
output.write(',')
if len(b_id)<=3:
output.write(b_id[i])
output.write(',') # if b_num1<=3:
# output.write(b_id[i])
# output.write(',')
#
#
t_num0=0
t_num1=0
t_num2=0
t_num3=0
b_time4=0 # else:
else:
output.write('\n')
b_num1=b_num1+1
# print u_id[i],b_id[i],t_num0,t_num1,t_num2,t_num3
i=i+1
b_num1=0


第三版本号,使用数学分析
#coding:utf-8
import time
import numpy as np
from scipy import optimize
from math import sqrt u_id=[]
b_id=[]
t_id=[]
b_time=[]
t_num0=0 #类型
t_num1=0
t_num2=0
t_num3=0
b_num1=0 #品牌个数
b_time4=0 #时间
a=True
i=0
j=0
fileread=open('t_alibaba_data.csv','r')
while True:
fileline=fileread.readline()
# print type(fileline)
# print fileline,
# print i
filedian =fileline.find(r',')
filedian1=fileline.rfind(r',') b_id1=fileline[filedian+1:filedian1-2]
b_id.append(b_id1) u_id1=fileline[:filedian]
u_id.append(u_id1) t_id1=fileline[filedian1-1:filedian1]
t_id.append(t_id1) b_time1=fileline[filedian1:-2]
b_time.append(b_time1) if not fileline:
break
output=open('taobao.txt','a')
#print u_id
#print b_id
#print t_id
#print b_time
t_num00=[]
t_num11=[]
t_num22=[]
t_num33=[]
t_time44=[]
cc=0
ff=0
pp=0
while True:
if u_id[i]==u_id[i+1]: if ff==0: output.write(u_id[i])
output.write(' ')
ff=ff+1
if b_id[i]==b_id[i+1]:
# cc=cc+1
if int(t_id[i])==0:
t_num0=t_num0+1
elif int(t_id[i])==1:
t_num1=t_num1+1
elif int(t_id[i])==2:
t_num2=t_num2+1
else:
t_num3=t_num3+1
if b_time[i]!=b_time[i+1]:
# print b_time4
b_time4=b_time4+1
else:
j=j+1
# b_num1=b_num1+1
# print u_id[i],b_id[i],t_num0,t_num1,t_num2,t_num3,b_time4
# if b_time4>=3:
# print b_time4
# pp=pp+1
# 数据拟合分析部分 t_num00.append(t_num0)
t_num11.append(t_num1)
t_num22.append(t_num2)
t_num33.append(t_num3)
t_time44.append(b_time4) # if t_num0>=10 :
# output.write(b_id[i]) #看了15次的没有买的
# output.write(",")
# elif b_time4>=3 :
# output.write(b_id[i]) #多天看的,没有买
# output.write(',')
# # if t_num0>15 and t_num1>=2:
# # output.write(b_id[i])
# # output.write(',')
# elif t_num2>=1 :
# output.write(b_id[i]) #收藏出可是没有买
# output.write(',')
# elif t_num3>=1 : #放进购物车可是没有买
# output.write(b_id[i])
# output.write(',')
# # if b_time4>=2 and t_num1>=2:
# # output.write(b_id[i])
# # output.write(',')
# #
# elif t_num1>=1:
# output.write(b_id[i]) #买过两次
# output.write(',')
# # if len(b_id)<=3:
# output.write(b_id[i])
# output.write(',') # if b_num1<=3:
# output.write(b_id[i])
# output.write(',')
#
#
t_num0=0
t_num1=0
t_num2=0
t_num3=0
b_time4=0
# elif b_num1<=3 and ff!=0:
# print b_id[i]
# output.write(b_id[i])
# output.write('\n')
# ff=0
## else:
elif not u_id[i+1]:
break
# else:
#
# output.write('\n')
# ff=0
# print u_id[i],b_id[i],t_num0,t_num1,t_num2,t_num3
i=i+1
b_num1=0 #分析浏览次数和购买的关系
y=np.array(t_num00)
x=np.array(t_num11) def residuals(p):
k,b=p
return y-(k*x-b) r=optimize.leastsq(residuals,[1,0])
k,b=r[0]
print "K=",k,"b=",b #分析收藏和购买的关系
x22=np.array(t_num22) def residuals(p):
k,b=p
return y-(k*x22-b) r=optimize.leastsq(residuals,[1,0])
k22,b22=r[0]
print "Kt_num22=",k22,"b22=",b22 #分析购物车和购买的关系
x33=np.array(t_num33) def residuals(p):
k,b=p
return y-(k*x33-b) r=optimize.leastsq(residuals,[1,0])
k33,b33=r[0]
print "kt_num33=",k33,"b33=",b33
#查看天数和购物关系
x44=np.array(t_time44) def residuals(p):
k,b=p
return y-(k*x44-b) r=optimize.leastsq(residuals,[1,0])
k44,b44=r[0]
print "ktime=",k44,"b44=",b44 print pp
#def sim_pearson()


python购物淫秽数据分析(2)的更多相关文章

  1. Python金融大数据分析PDF

    Python金融大数据分析(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1CF2NhbgpMroLhW2sTm7IJQ 提取码:clmt 复制这段内容后打开百度网盘 ...

  2. Python爬虫与数据分析之爬虫技能:urlib库、xpath选择器、正则表达式

    专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...

  3. Python爬虫与数据分析之模块:内置模块、开源模块、自定义模块

    专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...

  4. Python爬虫与数据分析之进阶教程:文件操作、lambda表达式、递归、yield生成器

    专栏目录: Python爬虫与数据分析之python教学视频.python源码分享,python Python爬虫与数据分析之基础教程:Python的语法.字典.元组.列表 Python爬虫与数据分析 ...

  5. Python运用于数据分析的简单教程

    Python运用于数据分析的简单教程 这篇文章主要介绍了Python运用于数据分析的简单教程,主要介绍了如何运用Python来进行数据导入.变化.统计和假设检验等基本的数据分析,需要的朋友可以参考下 ...

  6. python中pandas数据分析基础3(数据索引、数据分组与分组运算、数据离散化、数据合并)

    //2019.07.19/20 python中pandas数据分析基础(数据重塑与轴向转化.数据分组与分组运算.离散化处理.多数据文件合并操作) 3.1 数据重塑与轴向转换1.层次化索引使得一个轴上拥 ...

  7. 《Python金融大数据分析》高清PDF版|百度网盘免费下载|Python数据分析

    <Python金融大数据分析>高清PDF版|百度网盘免费下载|Python数据分析 提取码:mfku 内容简介 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领 ...

  8. python金融大数据分析PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:7k4b 内容简介 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领域从业人员必读. Python凭借其简单.易读.可扩展性以及拥有巨大而活跃的科学计算社区 ...

  9. 【转帖】Python在大数据分析及机器学习中的兵器谱

    Flask:Python系的轻量级Web框架. 1. 网页爬虫工具集 Scrapy 推荐大牛pluskid早年的一篇文章:<Scrapy 轻松定制网络爬虫> Beautiful Soup ...

随机推荐

  1. .NET反编译之Reflector

    .NET反编译之Reflector 这几日由于公司需要, 看了些.NET反编译技巧,特地和大家分享下 .NET反编译工具很多,Reflector是其中一个很优秀的工具,所以就用它来进行反编译工作了.今 ...

  2. SQL Mirroring[Hot back up with Double machine]

    Background: It's fairly common for businesses to want to provide some high availability for their SQ ...

  3. 正则表达式 \b (转)

    引用网上一段话: \b 是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处.虽然通常英文的单词是由空格,标点符号或者换行来 ...

  4. TortoiseGit安装与配置(转)

    TortoiseGit 简称 tgit, 中文名海龟Git. 海龟Git只支持神器 Windows 系统, 有一个前辈海龟SVN, TortoiseSVN和TortoiseGit都是非常优秀的开源的版 ...

  5. N-gram统计语言模型(总结)

    N-gram统计语言模型 1.统计语言模型 自然语言从它产生開始,逐渐演变成一种上下文相关的信息表达和传递的方式.因此让计算机处理自然语言.一个主要的问题就是为自然语言这样的上下文相关特性建立数学模型 ...

  6. A + B Again 2057 有符号的64进位的运算

    Problem Description There must be many A + B problems in our HDOJ , now a new one is coming.Give you ...

  7. hdu More is better

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1856 题意:王老师要找一些男生帮助他完成一项工程.要求最后挑选出的男生之间都是朋友关系,可以说直接的, ...

  8. java_面试_20140402(爬虫面试题)

  9. 《剑指offer》 相应 在线测试地址

    <剑指Offer>面试题集收录汇总 面试题1 赋值运算符函数 不适合在线模式 面试题2 实现Singleton模式 不适合在线模式 面试题3 二维数组中的查找 已收录 面试题4 替换空格 ...

  10. Tomcat剖析(四):Tomcat默认连接器(2)

    Tomcat剖析(四):Tomcat默认连接器(2) 1. Tomcat剖析(一):一个简单的Web服务器 2. Tomcat剖析(二):一个简单的Servlet服务器 3. Tomcat剖析(三): ...