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

插件和代码前前后后写在六个版本,但最好的结果其实是我的第一次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. JavaScript面向对象旅程(下)

    JavaScript面向对象旅程 剪不断,理还乱,是离愁. 前面已经提到过新语言开发的两个步骤,分别是:一.定义基本的数据类型,完善结构化编程语言的设计:二.为函数类型绑定this的概念,好在对象的方 ...

  2. UVA11992 - Fast Matrix Operations(段树部分的变化)

    UVA11992 - Fast Matrix Operations(线段树区间改动) 题目链接 题目大意:给你个r*c的矩阵,初始化为0. 然后给你三种操作: 1 x1, y1, x2, y2, v ...

  3. unity节目素材ProceduralMaterial采用

    有些效果substance物质的.然而,对房地产的材料可以不寻常Material方法调用,必须ProceduralMaterial打电话. using UnityEngine; using Syste ...

  4. 从头学起android&lt;android基本的绘图.四十六.&gt;

    在一般的图形渲染用户通常只需要重写onDraw()该方法可以是.但是假设,才能真正完成绘图操作.此外,我们需要掌握的四大核心经营类: android.graphics.Bitmap:主要表示的是一个图 ...

  5. 一对TCP协议及OSI简介模式

    原文地址:  移步这里

  6. UVA 10537 - The Toll! Revisited(dijstra扩张)

    UVA 10537 - The Toll! Revisited option=com_onlinejudge&Itemid=8&page=show_problem&catego ...

  7. HTML5实现图片文件异步上传

    原文:HTML5实现图片文件异步上传 利用HTML5的新特点做文件异步上传非常简单方便,本文主要展示JS部分,html结构.下面的代码并未使用第三发库,如果有参照,请注意一些未展现出来的代码片段.我这 ...

  8. 登录记住账号和密码小Demo

    读取 // 1.读取沙盒中plist文件 // 1.1.获得沙盒根路径 NSString *home = NSHomeDirectory(); // 1.2.拼接Documents路径 NSStrin ...

  9. The Swift Programming Language-官方教程精译Swift(2)基础知识

    Swift 的类型是在 C 和 Objective-C 的基础上提出的,Int是整型:Double和Float是浮点型:Bool是布尔型:String是字符串.Swift 还有两个有用的集合类型,Ar ...

  10. Web API 2:Action的返回类型

    Web API 2:Action的返回类型 Web API控制器中的Action方法有如下几种返回类型: void HttpResponseMessage IHttpActionResult 其它类型 ...