机器学习
ErrorMaker...
这个作者很懒,什么都没留下…
展开
-
数据挖掘5(模型融合)
一、学习知识点概括模型融合可以集合各种模型,从而提高模型的准确率二、学习内容1.投票融合:Voting即投票机制,分为软投票和硬投票两种,其原理采用少数服从多数的思想。hard_vote = VotingClassifier(estimators=[('xgb', clf1), ('rf', clf2), ('svc', clf3)], voting='hard')eclf = VotingClassifier(estimators=[('xgb', clf1), ('rf', clf2), (原创 2021-09-15 17:36:36 · 229 阅读 · 0 评论 -
决策树之CART
02|CART的生成:决策树的生成就是递归地构建二叉决策树的过程。对回归树用平方差最小化准则,对分类树用基尼指数最小化准则,进行特征选择,生成二叉树。分类树与回归树的一个区别是:如果目标变量是离散型变量则用分类树,如果目标变量是连续型变量则用回归树。2.1回归树的生成回归树是用于目标变量是连续型变量的情况下,假设X与Y分别为输入和输出变量,并且Y是连续型变量,给定数据即D={(x1,y1),(x2,y2),…(xn,yn)},根据训练数据集D生成决策树。前面说过,回归树的生成准则是平方差(总离差平原创 2021-05-24 12:59:06 · 275 阅读 · 0 评论 -
模型正则化之岭回归
模型正则化之岭回归:实际上就是在损失函数后面加一个惩罚函数,求J(theta)的最小值原创 2021-05-12 00:05:37 · 72 阅读 · 0 评论 -
多项式回归与pipeline
对数据先升维+再归一化+再线性回归 = 多项式回归pipeline将三个步骤封装到一起:原创 2021-05-10 15:45:08 · 115 阅读 · 0 评论 -
sklearn中的pca
import numpy as npimport matplotlib.pyplot as plt### scikit-learn中的PCAfrom sklearn.decomposition import PCAx = np.empty((100,2))x[:,0] = np.random.uniform(0.,100,size = 100)x[:,1] = 0.75 * x[:,0] + 3. + np.random.normal(0,10,size = 100)pca = PC原创 2021-05-09 15:48:25 · 170 阅读 · 0 评论 -
PCA主成分分析
手写一个简单的求前n个主成分的pca算法:x = np.empty((100,2))x[:,0] = np.random.uniform(0.,100,size = 100)x[:,1] = 0.75 * x[:,0] + 3. + np.random.normal(0,10,size = 100)#目标函数:找w使得返回值最大def f(w,x): return np.sum((x.dot(w)**2)) / len(x)#梯度的求解方法:def df_math(w,x):原创 2021-05-08 21:29:04 · 105 阅读 · 0 评论 -
SGDRegressor
#简易的随机梯度下降:def dj_sgd(theta,x_b_i,y_i): return x_b_i.T.dot(x_b_i.dot(theta) - y_i) * 2def sgd(x_b,y,initial_theta,n_iters): t0 = 5 t1 = 50 def learing_rate(t): return t0/(t+t1) theta = initial_theta for cur_iters in原创 2021-05-07 23:20:32 · 1004 阅读 · 0 评论 -
手写一个简单的多元线性回归
class LinearRegression: def __init__(self): self.interception = None self.coef = None self._theta = None def fit(self,xtrain,ytrain): assert xtrain.shape[0] == ytrain.shape[0],'error' x_b = np.hstack([np原创 2021-04-26 14:57:21 · 271 阅读 · 0 评论 -
scikit-learn中的standardscaler(均值方差归一化)
from sklearn import datasetsfrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import StandardScalerdata = datasets.load_iris()data.keys()data_x = data.datadata_y = data.targetxtrain,xtest,ytrain,ytest = train_test_spli原创 2021-04-24 20:49:11 · 1374 阅读 · 0 评论 -
有关sklearn中knn的网格搜索: Grid Search
from sklearn.model_selection import GridSearchCVparam_grid = [{'weights':['uniform'], 'n_neighbors':[i for i in range(1,11)]}, {'weights':['distance'], 'n_neighbors':[i for i in range(1,11)], 'p':[i f原创 2021-04-24 17:18:32 · 323 阅读 · 0 评论 -
knn算法
原理:返回欧式距离中最近的k个点中 分类数目最多的那个label#定义一个knn函数:class Knnclassify: def __init__(self,k): assert k>0,'error' self.k = k self._xtrain = None self._ytrain = None def fit(self,xdata,ydata): assert xdata.原创 2021-04-23 16:01:19 · 196 阅读 · 1 评论 -
sklearn中测试及和训练集分离及选取
sklearn中的train_test_split:from sklearn.model_selection import train_test_splitdata_train,data_test,label_train,label_test = train_test_split(x,y,test_size=0.3,random_state=123)test = KNeighborsClassifier(n_neighbors=4)test.fit(data_train,label_train)原创 2021-04-23 17:00:54 · 334 阅读 · 1 评论