假设检验(hypothesis testing),又称统计假设检验,是用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。显著性检验是假设检验中最常用的一种方法,也是一种最基本的统计推断形式,其基本原理是先对总体的特征做出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受做出推断。常用的假设检验方法有Z检验、t检验、卡方检验等。假设检验的基本思想是“小概率事件”原理,其统计推断方法是带有某种概率性质的反证法,一般认为,事件发生的概率小于0.1、0.05或0.01等,即“小概率事件”。
ABTest本身其实是物理学的“控制变量法”,通过只改变一个因素来确定其变化对CR(conversion rate)或者收益的影响,可以多方案并行测试,以某种规则选取较优者。
1.现状分析:分析业务数据,确定当前最关键的改进点。
2.假设建立:根据现状分析作出优化改进的假设,提出优化建议。
题目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); ```
sqlite 创建触发器的基本语法:
``` CREATE TRIGGER trigger_name [BEFORE|AFTER] event_name ON table_name BEGIN -- Trigger logic goes here ; END; ```
一、原理
聚类是一种无监督学习的方法,其实质是依据某种距离度量,使得同一聚簇之间的相似性最大化,不同聚簇之间的相似性最小化,即把相似的对象放入同一聚簇中,把不相似的对象放到不同的聚簇中。
二、K-Means 算法步骤
(1)根据设定的聚类数 ,随机地选择k个聚类中心(Cluster Centroid)
(2)评估各个样本到聚类中心的距离,如果样本距离第 i个聚类中心更近,则认为其属于第i簇
(3)计算每个簇中样本的平均(Mean)位置,将聚类中心移动至该位置
重复以上步骤直至各个聚类中心的位置不再发生改变。
三、如何确定聚类数
实际上,一开始是很难确定聚类数的,但是,也存在一种称之为肘部法则(Elbow Method)的方法来选定适当的K值:
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] # [萼片长度,萼片宽度,花瓣长度,花瓣宽度]
数据预处理
# 加载数据 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)
题目描述:
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
思路:
首先选取二维数组中右上角的数字。如果该数字等于要查找的数字,查找过程结束;如果该数字大于要查找的数字,排除这个数字所在的列;如果该数字小于要查找的数字,排除这个数字所在的行。也就是说如果要查找的数字不在数组的右上角,则每一次都在数组的查找范围中剔除一行或者一列,这样每一步都可以缩小查找的范围,直到找到要查找的数字,或者查找范围为空。
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]:
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)