
机器学习算法导论代码
是777
代码不行,啥都白搭!!!
展开
-
机器学习算法导论代码---logistic_regression_nt
import numpy as npdef sigmoid(scores): return 1/(1+np.exp(-scores))class LogisticRegression: def fit(self,X,y,N=1000): m,n=X.shape w=np.zeros((n,1)) for t in range(N): pred=sigmoid(X.dot(w)) g=1.0原创 2021-10-24 20:22:35 · 224 阅读 · 0 评论 -
机器学习算法导论代码---logistic_regression_gd
# logistic回归问题的梯度下降算法import numpy as npdef sigmoid(scores): #实现sigmoid函数 return 1/(1+np.exp(-scores))# 实现逻辑回归类class LogisticRegression: # 学习速率eta,搜索轮数N def fit(self,X,y,eta=0.1,N=1000): m,n=X.shape w=np.zeros((n,1))原创 2021-10-24 20:21:59 · 225 阅读 · 0 评论 -
机器学习算法导论代码---linear_regression_sgd
#线性回归问题的随机梯度下降import numpy as npclass LinearRegression: def fit(self,X,y,eta_0=10,eta_1=50,N=3000): m,n=X.shape w=np.zeros((n,1)) self.w=w for t in range(N): i=np.random.randint(m) x=X[i].resha原创 2021-10-24 20:20:15 · 692 阅读 · 0 评论 -
机器学习算法导论代码---linear_regression_mbgd
# 线性回归问题的小批量随机梯度下降算法import numpy as npclass LinearRegression: def fit(self,X,y,eta_0=10,eta_1=50,N=3000,B=10): m,n=X.shape w=np.zeros((n,1)) self.w=w for t in range(N): batch=np.random.randint(low=0,high=m原创 2021-10-24 20:19:00 · 564 阅读 · 0 评论 -
机器学习算法导论代码---linear_regression_gd
# 线性回归问题的梯度下降算法import numpy as npclass LinearRegression: def fit(self,X,y,eta,N): m,n=X.shape w=np.zeros((n,1)) for t in range(N): e=X.dot(w)-y g=2*X.T.dot(e)/m w=w-eta*g self.w=w原创 2021-10-24 20:18:06 · 645 阅读 · 0 评论 -
机器学习算法导论代码---linear_regression
import numpy as np# 线性回归模型class LinearRegression: def fit(self,X,y): # 计算最优解w=((X.T*X)^-1)*X.T*y self.w=np.linalg.inv(X.T.dot(X)).dot(X.T).dot(y) def predict(self,X): return X.dot(self.w)# 均方误差函数def mean_squared_error原创 2021-10-24 20:15:51 · 255 阅读 · 0 评论 -
机器学习算法导论代码---lasso_cd
# Lasso回归问题的坐标下降算法import numpy as npclass Lasso: def __init__(self,Lambda=1): self.Lambda=Lambda def soft_threshold(self,t,x): if x>t: return x-t elif x>=-t: return 0 else:原创 2021-10-24 20:14:27 · 926 阅读 · 0 评论 -
机器学习算法导论---lasso
# lasso回归问题的次梯度下降算法import numpy as npclass Lasso: def __init__(self,Lambda=1): self.Lambda=Lambda def fit(self,X,y,eta=0.1,N=1000): m,n=X.shape w=np.zeros((n,1)) self.w=w for t in range(N): e=原创 2021-10-24 20:12:38 · 630 阅读 · 0 评论 -
机器学习算法导论---Ksvm--变色鸢尾花预测问题的核方法
import numpy as npfrom sklearn import datasetsfrom sklearn.model_selection import train_test_splitimport matplotlib.pyplot as pltfrom machine_learning.lib.kernel_svm import KernelSVMdef rbf_kernel(x1,x2): sigma=1.0 return np.exp(-np.linalg.no原创 2021-10-24 20:11:17 · 564 阅读 · 0 评论 -
机器学习算法导论---kernel_svm
import numpy as npfrom machine_learning.lib.svm_smo import SVMclass KernelSVM(SVM): def __init__(self,kernel=None): self.kernel=kernel def get_K(self,X_1,X_2): if self.kernel==None: return X_1.dot(X_2.T) m1,m原创 2021-10-24 20:09:33 · 585 阅读 · 0 评论 -
机器学习算法导论---DTR共享单车需求问题的决策树回归问题
import numpy as npimport pandas as pdfrom sklearn.model_selection import train_test_splitfrom machine_learning.lib.decision_tree_regressor import DecisionTreeRegressorfrom sklearn.metrics import r2_scoredef get_data(): df=pd.read_csv("./bike.csv"原创 2021-10-23 17:30:10 · 588 阅读 · 0 评论 -
机器学习算法导论代码---decision_tree_regressor
import numpy as npfrom machine_learning.lib.decision_tree_base import DecisionTreeBase# 对下标属于集合idx的数据计算标签的方差def get_var(y,idx): y_avg=np.average(y[idx])*np.ones(len(idx)) return np.linalg.norm(y_avg-y[idx],2)**2/len(idx)#定义决策树回归算法DecisionTreeRe原创 2021-10-23 17:27:53 · 224 阅读 · 0 评论 -
机器学习算法导论代码——decision_tree_base.py
import numpy as npfrom machine_learning.lib.tree_node import Node'''类决策树基类的实现,类其中有4个成员:root,max_depth,get_score,feature_sample_rate其中:root记录所生成决策树的根节点,由根节点可唯一的表示这颗决策树max_depth 记录CART算法中决策树模型的深度限制,有构造函数指定get_score是分值函数的指针,由构造函数传入。传入方差则实现决策树回归问题的CART算法,原创 2021-10-23 17:25:59 · 295 阅读 · 1 评论