机器学习深度学习代码知识
文章平均质量分 58
CtrlZ1
浮天水送无穷树,带雨云埋一半山。
展开
-
USPS数据集处理及下载方法
最近在弄迁移学习模型,需要用到USPS数据集,这个数据集网上版本很多,我的是20000条28*28的USPS图片,这个应该是数量最多的一个版本。我是下载的mat文件,我想转化成么这种形式:下面是转化代码:from scipy.io import loadmatimport torchfrom torchvision import transformsfrom tqdm import tqdmimport osm = loadmat("E:/transferlearning/data.原创 2021-05-04 15:44:56 · 4192 阅读 · 4 评论 -
核岭回归Kernel Ridge Regression参数解析
转载他人,仅做个人记录用,如要学习请访问原博客https://blog.csdn.net/qsczse943062710/article/details/76021034转载 2020-05-20 13:37:25 · 2900 阅读 · 0 评论 -
BP神经网络对鸢尾花分类
import numpy as npimport matplotlib.pyplot as pltdef sigmoid(x): return 1/(1+np.exp(-x))def doit(num,w1,b1,w2,b2):#输入迭代次数 number=num train_number=0 totalE=[] totalN=[] while(number>0): number-=1 train_number+.原创 2020-05-15 20:38:56 · 4365 阅读 · 0 评论 -
LightGBM调参
GBDT模型的另一个进化版本:LightGBM。LigthGBM是boosting集合模型中的新进成员,由微软提供,它和XGBoost一样是对GBDT的高效实现,原理上它和GBDT及XGBoost类似,都采用损失函数的负梯度作为当前决策树的残差近似值,去拟合新的决策树。LightGBM在很多方面会比XGBoost表现的更为优秀。它有以下优势:更快的训练效率 低内存使用 更高的准确率 ...原创 2019-11-24 16:48:30 · 9476 阅读 · 2 评论 -
机器学习数据分析方法
当一坨几MB或者几十MB的数据摆在你面前,你第一件要做的事情就是思考用什么方法来分析这些数据,其实所谓数据挖掘讲求的就是如何挖掘数据。自从入坑kaggle,发现自己在面对数据的时候有时候还是会束手无策,略显无力,所以打算长期记录,将各种数据分析的方式汇集到这篇文章里。普通方法:一、加载数据#读取csvdata=pd.read_csv("...")#读取excel文件...原创 2019-11-23 15:04:11 · 6614 阅读 · 0 评论 -
pandas的字符串的分割之str.split()
分列在我们日常工作中经常用到,从各种系统中导出的什么订单号、名称、日期很多都是复合组成的,这些列在匹配、合并时没有办法使用,我们经常需要将她们分开。像下面的DataFrame, 城市是复合的,变电站也是复合的,我们只需要一部分,要怎么操作呢?DataFrame数据网上搜索了一下,以前的做法是将要分的那列迭代并用split()分开,然后将分开后的数据新建一个DataFrame,然后再...转载 2019-11-22 19:30:20 · 20786 阅读 · 1 评论 -
Pandas的字符串的分割之str.cat()
原文:https://www.jianshu.com/p/4a2ecf65e3ea在数据处理时,常常需要将某一列进行拆分,分列,这个在之前的文章中已经总结过了,有str.split()、str.extract()、str.replace函数。不过有时候我们不仅仅需要将数据进行拆分,也还需要进行拼接操作。将不要的拆掉,再将需要的拼接上。这个操作在str.replace没法达到预期结果的时候就...转载 2019-11-22 19:27:31 · 7115 阅读 · 0 评论 -
Pandas分组运算(groupby)
原文:https://www.cnblogs.com/lemonbit/p/6810972.html侵删。Pandas的groupby()功能很强大,用好了可以方便的解决很多问题,在数据处理以及日常工作中经常能施展拳脚。今天,我们一起来领略下groupby()的魅力吧。首先,引入相关package:import pandas as pdimport numpy as np...转载 2019-11-22 19:20:06 · 1581 阅读 · 0 评论 -
超参数调优方法整理大全
机器学习中总是会碰见调参这种枯燥无味且消耗时间的事情,所幸,有很多可以帮助你自动调参的库以及相应的方法,在这里统一总结一下吧。一、随机森林超参数优化- RandomSearch和GridSearch(1)RandomSearch原理:超参数优化也就是常说的调参,python-sklearn里常用的有GridSearchCV和RandomizedSearchCV可以用。其中Gr...原创 2019-11-08 09:17:54 · 14263 阅读 · 4 评论 -
read_csv 的 names 和 index_col 参数作用
转载 2019-11-04 21:18:54 · 2147 阅读 · 0 评论 -
集成学习Stacking方法
集成学习主要分为 bagging, boosting 和 stacking方法。本文主要是介绍stacking方法及其应用。但是在总结之前还是先回顾一下继承学习。这部分主要转自知乎。1. Bagging方法:给定一个大小为n的训练集 D,Bagging算法从中均匀、有放回地选出 m个大小为 n' 的子集Di,作为新的训练集。在这 m个训练集上使用分类、回归等算法,则可得到 m个模...转载 2019-11-04 19:53:52 · 588 阅读 · 0 评论 -
Seaborn中文教程
Seaborn介绍:Seaborn属于Matplotlib的一个高级接口,为我们进行数据的可视化分析提供了极大的方便。博主是为了入门Kaggle比赛而学习的Seaborn,下面是博主的学习过程,希望可以和大家一起分享。Step 1:安装Seaborn首先确定你的电脑已安装以下应用- Python 2.7+ or Python 3- Pandas- Matplotlib...转载 2019-11-04 13:03:08 · 464 阅读 · 0 评论 -
GridSearchCV参数详解
GridSearchCV(estimator,param_grid,scoring=None,fit_params=None,n_jobs=1,iid=True,refit=True,cv=None,verbose=0,pre_dispatch='2*n_jobs',error_score='raise',return_train_score=True)Parameter...原创 2019-10-26 13:57:05 · 5748 阅读 · 0 评论 -
机器学习-GridSearchCV scoring 参数设置!
分类情况:‘accuracy’ metrics.accuracy_score ‘average_precision’ metrics.average_precision_score ‘f1’ metrics.f1_score ‘f1_micro’ metrics.f1_score ‘f1_macro’ metrics.f1_score ‘f1_...转载 2019-10-26 13:55:35 · 12996 阅读 · 1 评论 -
XGboost中的cv函数参数详解
def cv(params, dtrain, num_boost_round=10, nfold=3, stratified=False, folds=None, metrics=(), obj=None, feval=None, maximize=False, early_stopping_rounds=None, fpreproc=None, as_pandas=...原创 2019-10-26 09:05:33 · 16989 阅读 · 2 评论 -
为什么需要交叉验证
为什么需要cv?在训练集(train set)上训练得到的模型表现良好,但在测试集(test set)的预测结果不尽如人意,这就说明模型可能出现了过拟合(overfitting),bias低而variance高,在未知数据上的泛化能力差。一个改进方案是,在训练集的基础上进一步划分出新的训练集和验证集(validate set),在新训练集训练模型,在验证集测试模型,不断调整初始模型(超参数...原创 2019-10-24 20:07:35 · 1758 阅读 · 0 评论 -
梯度提升树GBDT(Gradient Boosting Decision Tree)调参小结
1.scikit-learn GBDT类库概述 在sacikit-learn中,GradientBoostingClassifier为GBDT的分类类, 而GradientBoostingRegressor为GBDT的回归类。两者的参数类型完全相同,当然有些参数比如损失函数loss的可选择项并不相同。这些参数中,我们把重要参数分为两类,第一类是Boosting框架的重要参数,第二类是弱...原创 2019-10-24 09:30:54 · 1608 阅读 · 0 评论 -
sklearn中的XGBClassifier参数详解
前言1,Xgboost简介 Xgboost是Boosting算法的其中一种,Boosting算法的思想是将许多弱分类器集成在一起,形成一个强分类器。因为Xgboost是一种提升树模型,所以它是将许多树模型集成在一起,形成一个很强的分类器。而所用到的树模型则是CART回归树模型。 Xgboost是在GBDT的基础上进行改进,使之更强大,适用于更大范围。 Xgboost一般和sk...转载 2019-10-23 20:29:33 · 42840 阅读 · 4 评论 -
sklearn进行数据缩放与标准化
缩放数据:import numpy as npnp.random.seed(10)x=np.matrix([np.random.randint(10,25)*1.0 for i in range(10)])x=x.T#MinMaxScaler缩放,移动数据使得所有特征都刚好位于0到1之间from sklearn.preprocessing import MinMaxScal...原创 2019-10-23 20:15:31 · 1552 阅读 · 0 评论 -
logistics回归之sklearn中的LogisticRegressionCV
一、Logistic回归的认知与应用场景Logistic回归为概率型非线性回归模型,是研究二分类观察结果与一些影响因素之间关系的一种多变量分析方法。通常的问题是,研究某些因素条件下某个结果是否发生,比如医学中根据病人的一些症状来判断它是否患有某种病。二、LR分类器LR分类器,即Logistic Regression Classifier。在分类情形下,经过学习后的LR分类器...原创 2019-10-23 16:25:35 · 17074 阅读 · 2 评论 -
K近邻KNN代码知识
我们使用sklearn里封装好的KNN算法,from sklearn.neighbors import KNeighborsClassifierKNeighborsClassifier()下面是它的参数设置及含义:参数: n_neighbors: int, 可选参数(默认为 5) 用于[kneighbors](http://sc...原创 2019-10-22 10:45:32 · 589 阅读 · 0 评论 -
机器学习编码方式总结
编码方式用于对值是离散型的特征的处理。这里讲一下onehot独热编码和labelencoding编码。先说一下独热编码实现方式1:pd.get_dummies()函数官方api:pandas.get_dummies(data,prefix=None,prefix_sep='_',dummy_na=False,columns=None,sparse=False,drop_...原创 2019-10-21 14:14:11 · 3419 阅读 · 0 评论 -
集成学习综合教程(附Python代码)
本文约8000字,建议阅读10+分钟。本文从基础集成技术讲起,随后介绍了高级的集成技术,最后特别介绍了一些流行的基于Bagging和Boosting的算法,帮助读者对集成学习建立一个整体印象。介绍当你想购买一辆新车时,你会走到第一家汽车商店就根据经销商的建议购买一辆车吗?这是不太可能的。你可能会浏览一些人们发布评论并比较不同车型的门户网站,检查其功能和价格。...原创 2019-10-19 10:12:16 · 4115 阅读 · 1 评论 -
【转】机器学习算法的随机数据生成
下文出自尊敬的刘建平老师博客,附上网址:https://www.cnblogs.com/pinard/p/6047802.html在学习机器学习算法的过程中,我们经常需要数据来验证算法,调试参数。但是找到一组十分合适某种特定算法类型的数据样本却不那么容易。还好numpy, scikit-learn都提供了随机数据生成的功能,我们可以自己生成适合某一种模型的数据,用随机数据来做清洗,归一化,转换...转载 2019-09-19 21:06:52 · 287 阅读 · 0 评论 -
sklearn线性回归LinearRegression代码及调参
代码:from sklearn import datasetsfrom sklearn.linear_model import LinearRegressionimport matplotlib.pyplot as plt# 使用以后的数据集进行线性回归(这里是波士顿房价数据)##1 数据的加载from sklearn.model_selection import train_t...原创 2019-09-19 21:16:00 · 11170 阅读 · 5 评论 -
scikit-learn代码实现SVM分类与SVR回归以及调参
分类二分类:from sklearn.model_selection import train_test_splitfrom sklearn.svm import SVCimport mglearn.datasetsimport matplotlib.pyplot as plt#forge数据集是一个二维二分类数据集X,y=mglearn.tools.make_handcraf...原创 2019-09-20 18:54:15 · 37058 阅读 · 15 评论 -
关于KFold.split
现在网上的博客好多都是复制粘贴的,哎,能把问题讲清楚的不多。这里讲一下KFold.split话不多说,用例子说话:from sklearn.model_selection import KFoldkf = KFold(n_splits=5, random_state=43, shuffle=True)a=[[1,2],[3,4],[5,6],[7,8],[9,10]]b=[1...原创 2019-09-21 22:20:27 · 12886 阅读 · 11 评论 -
kaggle房价预测代码
写这篇博客之前,我自己完成了这道题,kaggle的分数是0.14777,排名前百分之60,不是很满意,然后花了两天的空闲时间读了一份前百分之十,一份前百分之15的人的代码,比较了一下他们代码,发现了很多共同点,这些就是以后我需要注意的,总结来看学到了不少知识,在这里我按照一份代码讲解一下这个题,同时记录一下收获。我看了他们的代码发现,他们都用了集成学习Stacking方法,这是我从来没有听说过...原创 2019-09-23 14:57:13 · 4142 阅读 · 5 评论 -
sklearn实现套索回归(lasso regression)以及调参
scikit-learn 通过交叉验证来公开设置 Lasso中αα 参数的对象: LassoCV 和 LassoLarsCV。 LassoLarsCV 是基于下面解释的 最小角回归 算法。对于具有许多线性回归的高维数据集, LassoCV 最常见。 然而,LassoLarsCV 在寻找 αα 参数值上更具有优势,而且如果样本数量与特征数量相比非常小时,通常 LassoLarsCV 比 Lass...原创 2019-09-23 21:16:27 · 8475 阅读 · 4 评论 -
单向神经网络python代码及算法分析
我写这篇文章主要目的是记录,所以过程可能比较简略。本质上学习logistic 回归的系数。前向传播:输入样本集X,X.shape=(样本数,特征数),W.shape=(特征数,输出数),b形状和w一样,不过利用python广播的性质,b可以是一位数组,[输出数]z=x*w+b激活函数σ:y=a=σ(z)损失函数反向传播:反向传播过程计算梯度w=w...原创 2019-10-04 12:58:17 · 400 阅读 · 0 评论 -
数据增强(from tensorflow.python.keras.preprocessing.image import ImageDataGenerator)
keras.preprocessing.image.ImageDataGenerator(featurewise_center=False, samplewise_center=False, featurewise_std_normalization = False, samplewise_std_normalization = False, zca_whiten...原创 2019-10-10 22:07:24 · 6423 阅读 · 0 评论 -
scikit-learn实现决策树分类与回归以及调参说明
分类:from sklearn.datasets import load_irisiris=load_iris()# print(iris)# print(len(iris["data"]))#150个数据from sklearn.model_selection import train_test_split#把数据分为测试数据和验证数据 test_size=0.2验证数据集占20...原创 2019-09-19 20:28:41 · 1844 阅读 · 0 评论