python购物淫秽数据分析(2)

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

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

时间: 2024-10-08 10:11:25

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

python : BeautifulSoup 网页数据分析

很长时间都是在学习各位大神的力作,并汲取了不少养料,在此一并谢过各位大神了. 当然了,好东西是要跟大家一起分享的,最近发现了几个非常不错的个人站点,都是介绍IOS开发的,其中有唐巧.破船之长.池建强.王维等各位,其中不乏供职于腾讯和阿里这样的IT巨头,希望大家也能从他们的博客中学习到一些技术之外的东西.就不再啰嗦啦,附上地址:http://www.ityran.com/archives/4647 这几天在学习IOS7 CookBook,因为没有找到中文版,就硬着头皮啃原著吧,还真学到了不少东西,

python 购物流程脚本

一.Python购物流程脚本 半个多月的python学习,花了一天的时间终于写出来了一个简单的购物流程脚本,也算是对Python的一次总结和知识的温习,本人很菜,脚本也非常非常一般. #!/usr/bin/env python # Descript message # Author:Allentuns # MailBox:[email protected] # Tel:13260071987 import startup import sys import os userfile = open(

《Python金融大数据分析》中文版PDF+英文版PDF+源代码

下载:https://pan.baidu.com/s/1ymQo0qlb79G9kgQEbTo9Fg <Python金融大数据分析>中文版PDF+高清英文版PDF+源代码 中英文两版可以对比学习. 配套源代码: 经典书籍,讲解详细: 中文版如图 原文地址:http://blog.51cto.com/3215120/2307576

Python金融大数据分析

Python金融大数据分析(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1CF2NhbgpMroLhW2sTm7IJQ 提取码:clmt 复制这段内容后打开百度网盘手机App,操作更方便哦 内容简介  · · · · · · 唯一一本详细讲解使用Python分析处理金融大数据的专业图书:金融应用开发领域从业人员必读. Python凭借其简单.易读.可扩展性以及拥有巨大而活跃的科学计算社区,在需要分析.处理大量数据的金融行业得到了广泛而迅速的应用,并且成为该行业

自制 python hadoop streaming 数据分析工具

https://github.com/zhuyi10/hadoop_data_analysis跟大家交流一下我写的数据分析工具用hadoop streaming执行python写的mapper, reducer目前只实现了一些简单的分析功能希望大家多提意见

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

Flask:Python系的轻量级Web框架. 1. 网页爬虫工具集 Scrapy 推荐大牛pluskid早年的一篇文章:<Scrapy 轻松定制网络爬虫> Beautiful Soup 客观的说,Beautifu Soup不完全是一套爬虫工具,需要配合urllib使用,而是一套HTML/XML数据分析,清洗和获取工具. Python-Goose Goose最早是用Java写得,后来用Scala重写,是一个Scala项目.Python-Goose用Python重写,依赖了Beautiful S

Python Spark大数据分析实战教程下载|pyspark教程

分享网盘下载地址--https://pan.baidu.com/s/1c1OjpSW 密码: a5ks Python是数据分析最常用的语言之一,而Apache Spark是一个开源的强大的分布式查询和处理引擎. 本课程以案例驱动的方式讲解如何基于Python语言进行Spark Application编程,完成数据获取.处理.数据分析及可视化方面常用的数据分析方法与技巧,通过这些实际案例让学员轻松掌握使用PySpark分析来自不同领域的数据.

如何使用Python搞定数据分析

大数据是当前比较火的方向,依托于这一行业,互联网公司对数据分析人员需求也逐年递增,数据分析师也成为是当前比较火的从业方向. 数据是企业数字资产,如何让这些资产转化为实际价值? 通过数据分析工具或者数据分析人员对数据进行挖掘,挖掘潜在价值,为指导工作及公司决策层提供数据支撑. 数据分析师主要工作是什么? 数据分析师主要工作包括:数据收集,清洗,存储,建模,可视化分析,分析决策等:不同生产环节所花费时间与工作量是不同的,数据收集,清洗,存储可能需要占用大量工作与时间.整个数据处理流程如下图: 数据分

python爬取数据分析

一.python使用的模块 1.numpy 数据分析的底层数据结构 2.matplotlib 数据可视化模块 3.pandas 数据分析高级接口模块,在前两个的基础上 4.scipy,sklearn 机器学习库,提供算法 一.django框架开发 1.地址:http://127.0.0.1:8000/admin/ 2.创建用户: python manage.py  createsuperuser   用户名和密码都是:wang*** 原文地址:https://www.cnblogs.com/fa