回归树的每个节点都会得一个预测值
回归树采用平方误差最小化作为选择特征的准则
平方误差越小越好
回归树的每个节点都会得一个预测值
回归树采用平方误差最小化作为选择特征的准则
平方误差越小越好
GBDT用来做回归预测,调整后也可以用于分类
回归树的每个节点都会得一个预测值
安装mlxtend
以订单编号进行分组,因为一个人会多次购买,每次购买的时间也不一样
只关心他买与没买,具体买的数据和时间不关心
提升度的意义在于度量项集x与项集y的独立性,一般提升度要大于3才是有价值的,小于3就没有意义了
关联规则分为 两步,1:生成频繁项集(所有项集生成候选项集,候选项集再生成频繁项集,直到不能生成频繁项集为止),2:找频繁项集的规则,根据指定的最小置信度,过滤掉弱规则
对数据敏感,逻辑思维强
决策树的目标是将数据分的越纯越好,以便于更好的预测
逻辑回归需要动的参数:
penalty:{‘l1’, ‘l2’, ‘elasticnet’, ‘none’}, default=’l2’
C=1.0,
class_weight=None
multi_class:{‘auto’, ‘ovr’, ‘multinomial’}默认=‘auto’,多分类问题处理方式
l1_ratio=None,选择弹性网时需要优化
标准的线性回归是不需要动参数的
岭回归需要动的参数:alpha
lasso需要动的参数:alpha
弹性网需要动的参数:alpha,L1_ratio
解决过拟合的方案:
数据的角度:1、增大样本m的点数,减小n 2、降维
算法的角度:1、决策树是控制树的增长,通过预剪枝和后剪枝 2、knn是优化参数k 3、回归问题是限制系数的大小,小用岭回归,大用lasso回归
岭回归的优点:计算精准 lasso回归的优点:特征选择的优势
回归方法思路的选择:1、标准的线性回归
2、岭回归 3、弹性网 4、lasso回归(用于特征多时)
决策树是要把数据样本点分开
id3以信息争议原则选择特征,递归的构建决策树,后对其剪枝的操作
sklean 中 k_means需要动的参数是:n_clusters=8,其他的参数不需要动
轮廓系数越大越好
n_cluster优化:
1.根据业务经验
2.肘部法则
3.轮廓系数
sklean 中 minibatch需要动的参数是:n_clusters=8,batch_size=100
knn属于有监督学习,用于预测,聚类属于无监督学习,用于发现规律,利用规律
在pandas中纵向合并:append
grade_one.append(grade_two)(一次合并一个表)
grade_one.append([grade_two,grade_three])(一次合并多个表)
纵向拼接也可以使用concat:
pd.concat([grade_one,grade_two],sort=False)
横向合并:concat
pd.concat([grade_one,grade_two],axsi=1)
表结构相同时用纵向合并,行索引一样的时候可以使用横向合并
当有相同字段的连接方式:merge
pd.merge(grade_one,room,on='名字',how='inner')
当两个表字段名字不相同时,要横向连接:
pd.merge(grade_one,room,left_on='名字',right_on='姓名')
pd.read_csv('student_grade.txt',sep='\t',index_col='数学')文本形式读取
pd.read_excel('test.xlsx')excel读取
显示索引=标签索引=左闭右闭
隐式索引=位置索引=左闭右开
增加行只能用显示索引
axis=0表示行,axis=1表示列
#删除多行
df.drop(index = ['钢铁侠','灭霸','蝙蝠侠'])
#删除多列
df.drop(columns=['年龄','城市'])
标签索引:已知标签信息
位置索引:已知位置信息
数据有横切面数据和时间序列数据及面板数据
在pandas中series的第一个字母需要大写
在pandas中修改数据类型:例:s.astype('floaat')
标签索引是闭区间
算法流程:
1、读取数据
2、训练集、测试集划分
3、数据预处理:对训练集fit_transform,对测试集transfrom
4、简单的测试一下模型:用sklearn中默认的模型
5、网格搜索交叉验证方式参数优化
6、预测、评分
random_state是随机数的种子
回归是用于标签是连续的,分类是用于离散的
交叉验证一般采用10则或5则
2<=K<=20
数据服从正太分布,标准化会多一些,服从均匀分布,归一化会多一些
标准化需要对训练集和测试集都做,标准化和归一化都是按照列做
测试集评分在分类问题中返回的是准确率,在回归问题中返回的是R2系数
sklearn.neighbors.kneighborsclassifier需要优化的参数是:n-neighbors和weights
knn需要对数据进行归一化 ,不然出来数据偏差太大
在数据不平衡时会出现权重的概念
predict必须是二维的
np用于科学计算,pd用于数据清洗
scikit-learn是一维的,不分行和列
.argsort()是排序 ,.号前面写对谁排序