机器学习
深度学习扛把子
这个作者很懒,什么都没留下…
展开
-
train_test_split按比例划分
x_train,x_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=train_target)原创 2021-06-23 11:34:30 · 1285 阅读 · 0 评论 -
xgboost三种特征重要性选择方法
XGB 内置的三种特征重要性计算方法1weightxgb.plot_importance 这是我们常用的绘制特征重要性的函数方法。其背后用到的贡献度计算方法为weight。‘weight’ - the number of times a feature is used to split the data across all trees.简单来说,就是在子树模型分裂时,用到的特征次数。这里计算的是所有的树。这个指标在R包里也被称为frequency2。gainmodel.feature_impo转载 2021-06-23 11:01:55 · 5760 阅读 · 0 评论 -
xgboost网格搜索
grid_search = GridSearchCV(model, param_grid,n_jobs=4)#训练模型model=grid_search.fit(x_train, y_train, eval_metric='rmse')原创 2021-06-16 18:38:42 · 1866 阅读 · 0 评论 -
随机森林算法
1:数据集种类(目标变量)越多越复杂熵越大,所以原始数据的熵最大 2:熵公式: n代表X的n种不同的离散取值,pi代表X取值为i的概率,log以2或e为底的对数 3:信息增益(简单处理):原始数据熵-目前特征的熵...转载 2021-05-30 18:27:28 · 19961 阅读 · 0 评论 -
make_classification参数
sklearn.datasets.make_classification(n_samples=100,n_features=20,特征个数= n_informative() + n_redundant + n_repeatedn_informative=2,多信息特征的个数n_redundant=2,冗余信息,informative特征的随机线性组合n_repeate...转载 2021-05-30 17:34:01 · 713 阅读 · 0 评论 -
RMSE、MAE和SD的基本概念
RMSE:均方根误差(Root-mean-squareerror),观测值与真值偏差的平方和与观测次数m比值的平方根。假如有2000次观测,即m=2000,对于某一次(第i次)观测来说,y值是真实值,而h(x)是观测值,对所有m次观测的的偏差取平方后相加,得到的值再除以m,然后再开根号,就得到RMSE了。MAE,平均绝对误差(MeanAbsoluteError),观测值与真实值的误差绝对值的平均值。上面的两个指标是用来描述预测值与真实值的误差情况。它们之间在的区别在于,RMSE先...转载 2021-05-25 19:08:48 · 11499 阅读 · 0 评论 -
pandas填充
横向用缺失值前面的值替换缺失值df.fillna(axis=1,method='ffill')纵向用缺失值上面的值替换缺失值df.fillna(axis=0,method='ffill')用0填充df.fillna(0)原创 2021-05-20 19:58:31 · 274 阅读 · 0 评论 -
matplotlib 中设置图形大小
matplotlib 中设置图形大小的语句如下:fig = plt.figure(figsize=(a, b), dpi=dpi)figsize 设置图形的大小,a 为图形的宽, b 为图形的高,单位为英寸dpi 为设置图形每英寸的点数转载 2021-05-20 18:03:27 · 2326 阅读 · 0 评论 -
pandas求均值
1.a.mean() 默认对每一列的数据求平均值;若加上参数a.mean(1)则对每一行求平均值;均值归一化df1 = df1.values#axis = 0:压缩行,对各列求均值mean = np.mean(df1,axis=0)#均值归一化df1 = df1-mean原创 2021-05-20 18:02:00 · 17445 阅读 · 0 评论 -
PCA降维
#coding:utf-8import matplotlib.pyplot as pltfrom sklearn.decomposition import PCAimport numpy as npimport pandas as pd#读取数据#去掉列名和行索引读取df1 = pd.read_csv(r'C:\Users\zhoutao\Desktop\1.csv',index_col=False,header=0).valuesdf0 = pd.read_csv(r'C:\Users原创 2021-05-20 17:59:01 · 96 阅读 · 0 评论 -
keras attention机制
class Attention(tf.keras.layers.Layer): """ Multi-Head Convolutional Self Attention Layer """ def __init__(self, dk, dv, num_heads, filter_size): super().__init__() self.dk = dk self.dv = dv self.num_heads .原创 2021-05-18 11:31:08 · 1071 阅读 · 0 评论 -
pytorch 自适应学习率下降
import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport torchfrom sklearn import metricsfrom sklearn.model_selection import train_test_splitfrom torch import nnfrom torch.autograd import Variablefrom torch.utils.data import Tens.原创 2021-05-18 11:05:08 · 334 阅读 · 0 评论 -
BCELoss和BCEWithLogitsLoss
BCELoss:需要先将最后一层经过sigmoid进行缩放然后再通过该函数BCEWithLogitsLoss:BCEWithLogitsLoss就是把Sigmoid-BCELoss合成一步,不再需要在最后经过sigmoid进行缩放,直接对最后得到的logits进行处理。转载 2021-05-17 16:05:17 · 713 阅读 · 0 评论 -
pytorch torch.nn.Softmax(dim=1)
a = torch.Tensor([[1,1],[2,2],[3,3]])a.size()Out[89]: torch.Size([3, 2])b = torch.nn.Softmax(dim=0)(a)bOut[91]:tensor([[0.0900, 0.0900], [0.2447, 0.2447], [0.6652, 0.6652]])b = torch.nn.Softmax(dim=1)(a)bOut[93]:tensor([[0.5000,...转载 2021-05-15 22:06:26 · 940 阅读 · 0 评论 -
python绘制分布曲线
# -*- coding: utf-8 -*-import pandas as pdimport matplotlib.pyplot as pltimport numpy as npdf = pd.read_csv(r'C:\Users\zhoutao\Desktop\my.csv')print(df)num1 = df['num1'].values/10num2 = df['num2'].valuesprint(num1)print(num2)x = np.arange(0,len(.原创 2021-05-14 22:30:38 · 914 阅读 · 0 评论 -
回归模型和分类模型的区别
“回归与分类的根本区别在于输出空间是否为一个度量空间。”我们不难看到,回归问题与分类问题本质上都是要建立映射关系:而两者的区别则在于:对于回归问题,其输出空间B是一个度量空间,即所谓“定量”。也就是说,回归问题的输出空间定义了一个度量 去衡量输出值与真实值之间的“误差大小”。例如:预测一瓶700毫升的可乐的价格(真实价格为5元)为6元时,误差为1;预测其为7元时,误差为2。这两个预测结果是不一样的,是有度量定义来衡量这种“不一样”的。(于是有了均方误差这类误差函数)。 对于分类问题,转载 2021-04-16 14:26:21 · 2399 阅读 · 0 评论 -
机器学习auc曲线
之前各位的回答从各个角度解释了AUC的意义和计算方法,但是由于本人实在愚钝,一直没能参透AUC的意义和计算方法之间的联系,直到刚才突然有所顿悟,本着尽量言简意赅、浅显易懂的原则,在这里记录一下。首先,在试图弄懂AUC和ROC曲线之前,一定,一定要彻底理解混淆矩阵的定义!!!混淆矩阵中有着Positive、Negative、True、False的概念,其意义如下:称预测类别为1的为Positive(阳性),预测类别为0的为Negative(阴性)。 预测正确的为True(真),预测错误的为Fal转载 2021-04-12 13:56:31 · 10184 阅读 · 1 评论 -
pandas基本操作
test = pd.read_csv('test.csv',usecols=[0,1,2])#读取指定列#读取前10行print(test.head(10))原创 2021-04-12 18:13:53 · 128 阅读 · 0 评论 -
ImportError: cannot import name ‘XGBClassifier‘
自己命名的.py为xgboost.py这个与xgboost中的库文件命名冲突,所以自己不要以xgboost.py对脚本进行命名。原创 2021-04-11 15:49:22 · 1346 阅读 · 0 评论 -
sklearn中xgboost模块的XGBClassifier函数
# 常规参数booster gbtree 树模型做为基分类器(默认) gbliner 线性模型做为基分类器 silent silent=0时,不输出中间过程(默认) silent=1时,输出中间过程 nthread nthread=-1时,使用全部CPU进行并行运算(默认) nthread=1时,使用1个CPU进行运算。 scale_pos_weight 正样本的权重,在二分类任务中,当正负样本比例失衡时,设置正样本的权重,模型效果更好。例如,当正负样本比例为1:转载 2021-04-11 14:40:35 · 333 阅读 · 0 评论 -
python实现xgboost算法
import matplotlib.pyplot as pltfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_scorefrom xgboost import XGBClassifierfrom xgboost import plot_importance# 加载手写数字数据集digits = dataset.原创 2021-04-10 17:26:39 · 6620 阅读 · 0 评论 -
一行代码安装xgboost
pip install xgboost -i https://pypi.tuna.tsinghua.edu.cn/simple原创 2021-04-10 17:05:44 · 156 阅读 · 0 评论