数据分析    2020-08-21 18:26:42    80    0    0

假设检验概念:

假设检验(hypothesis testing),又称统计假设检验,是用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。显著性检验是假设检验中最常用的一种方法,也是一种最基本的统计推断形式,其基本原理是先对总体的特征做出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受做出推断。常用的假设检验方法有Z检验、t检验、卡方检验等。假设检验的基本思想是“小概率事件”原理,其统计推断方法是带有某种概率性质的反证法,一般认为,事件发生的概率小于0.1、0.05或0.01等,即“小概率事件”。

假设检验的步骤:

  1. 提出原假设H0和备择假设H1
    • 保护原假设;
    • 原假设为维持现状:为解释某些现象或效果的存在性,常取原假设为“无效果”、“无改进”、“无差异 ”等;
  2. 确定适当的检验方法、统计量,可分别选用Z检验,T检验、卡方检验等,规定显著性水平的值;
  3. 计算检验统计量的值;
  4. 做出结论,统计量若在拒绝域中,则拒绝H0,否则接受H0

数据分析    2020-08-17 21:39:46    39    0    0

一、A/B Test

ABTest本身其实是物理学的“控制变量法”,通过只改变一个因素来确定其变化对CR(conversion rate)或者收益的影响,可以多方案并行测试,以某种规则选取较优者。

二、作用

  • 确定最佳方案;
  • 通过对比试验,找到问题的真正原因,提高产品设计和运营水平;
  • 建立数据驱动、持续不断优化的闭环过程;
  • 通过A/B测试,降低新产品或新特性的发布风险,为产品创新提供保障。

三、A/B Test流程

1.现状分析:分析业务数据,确定当前最关键的改进点。
2.假设建立:根据现状分析作出优化改进的假设,提出优化建议。

sql    2020-08-14 23:28:28    116    0    0

题目1 

```
题目描述:
查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为--,mysql为comment)
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,  -- '员工编号'
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));

代码:
select *
from employees
where hire_date=(select max(hire_date) from employees);
```
sql    2020-08-13 15:24:37    17    0    0

sqlite 创建触发器的基本语法:

```
CREATE TRIGGER trigger_name [BEFORE|AFTER] event_name

ON table_name

BEGIN

-- Trigger logic goes here ;

END;
```
数据挖掘    2020-07-21 17:15:24    62    0    0

 一、原理

聚类是一种无监督学习的方法,其实质是依据某种距离度量,使得同一聚簇之间的相似性最大化,不同聚簇之间的相似性最小化,即把相似的对象放入同一聚簇中,把不相似的对象放到不同的聚簇中。


 二、K-Means 算法步骤

(1)根据设定的聚类数 ,随机地选择k个聚类中心(Cluster Centroid)

(2)评估各个样本到聚类中心的距离,如果样本距离第 i个聚类中心更近,则认为其属于第i簇

(3)计算每个簇中样本的平均(Mean)位置,将聚类中心移动至该位置

重复以上步骤直至各个聚类中心的位置不再发生改变。


三、如何确定聚类数

实际上,一开始是很难确定聚类数的,但是,也存在一种称之为肘部法则(Elbow Method)的方法来选定适当的K值:

数据挖掘    2020-07-17 18:10:14    45    0    0

引入iris数据集

from sklearn.linear_model import LogisticRegression as LR
from sklearn.datasets import load_iris
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score

data = load_iris()
x = data.data
y = data.target
x[0:4] # [萼片长度,萼片宽度,花瓣长度,花瓣宽度]

python    2020-07-16 21:14:14    45    0    0

数据预处理

# 加载数据
data = pd.read_csv('C:\\Users\\qinxiao\\Desktop\\test\\test_1.csv')

# 可以选择加载哪几列
data1=pd.read_csv('C:\\Users\\qinxiao\\Desktop\\test\\test_1.csv',header=0,usecols=['uid','story_id','age'])

# 列重命名
data = data.rename(columns = {'uid':'userid','story_id':'sid'})

# 去除不必要的字符
data.columns=map(lambda x: x.replace('_',''),data.columns)
算法    2020-07-10 20:16:04    33    0    0

数组

1、在二维数组中查找

题目描述:

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

思路:

首先选取二维数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数字,排除这个数字所在的列;如果该数字小于要查找的数字,排除这个数字所在的行。也就是说如果要查找的数字不在数组的右上角,则每一次都在数组的查找范围中剔除一行或者一列,这样每一步都可以缩小查找的范围,直到找到要查找的数字,或者查找范围为空。

class Solution:

    @staticmethod
    def find(target, array):
        rows = len(array) #行数
        cols = len(array[0]) #列数
        if rows > 0 and cols > 0:
            row = 0
            col = cols - 1
            while row < rows and col >= 0:
                if target == array[row][col]:
python    2020-07-02 21:10:14    23    0    0
from matplotlib import pyplot as plt
import random
from matplotlib import font_manager

###折线图

# 设置中文字体
my_font = font_manager.FontProperties(fname='C:\\Windows\\Fonts\\simhei.ttf')

x = range(0, 120)
y = [random.randint(20, 35) for i in range(120)]  # 生成120个20-35的数字

# 设置图片大小和清晰度
plt.figure(figsize=(20, 8), dpi=200)
plt.plot(x, y)
阅读    2020-05-23 10:12:36    18    0    0
  1. 什么是好的数据指标
    1. 比较性的
    2. 简单易懂的
    3. 比率
      1. 可操作性强,是行动指标
      2. 比率是天生的比较指标
    4. 会改变行为
  2. 学会根据数据确定一条做与不做的准绳
  3. 数据指标
    1. 定性指标与量化指标
    2. 虚荣指标与可付诸行动的指标
      1. 每当看到一个指标,就应当下意识地问自己:依据这个指标,我应该如何改变当前的商业行为?
    3. 探索性指标与报告性指标