ML:基于自定义数据集利用Logistic、梯度下降算法GD、LoR逻辑回归、Perceptron感知器、SVM支持向量机、LDA线性判别分析算法进行二分类预测(决策边界可视化)

简介: ML:基于自定义数据集利用Logistic、梯度下降算法GD、LoR逻辑回归、Perceptron感知器、SVM支持向量机、LDA线性判别分析算法进行二分类预测(决策边界可视化)


目录

基于自定义数据集利用Logistic、梯度下降算法GD、LoR逻辑回归、Perceptron感知器、支持向量机(SVM_Linear、SVM_Rbf)、LDA线性判别分析算法进行二分类预测(决策边界可视化)

设计思路

输出结果

核心代码


 

 

相关文章

ML:基于自定义数据集利用Logistic、梯度下降算法GD、LoR逻辑回归、Perceptron感知器、SVM支持向量机、LDA线性判别分析算法进行二分类预测(决策边界可视化)

ML:基于自定义数据集利用Logistic、梯度下降算法GD、LoR逻辑回归、Perceptron感知器、SVM支持向量机、LDA线性判别分析算法进行二分类预测(决策边界可视化)实现

基于自定义数据集利用Logistic、梯度下降算法GD、LoR逻辑回归、Perceptron感知器、支持向量机(SVM_Linear、SVM_Rbf)、LDA线性判别分析算法进行二分类预测(决策边界可视化)

设计思路

 

 

输出结果

1. w_target.shape:  (3,) [ 1.17881511 -5.13265596 -6.55556511]
2. Pre_Logistic_function 
3.  <class 'function'>
4. Product_x_function 
5.  [1.         0.10262954 0.43893794]
6. data_x 
7.  (300, 3) [[ 1.         -0.15378708  0.9615284 ]
8.  [ 1.          0.36965948 -0.0381362 ]
9.  [ 1.         -0.21576496 -0.31364397]
10.  [ 1.          0.45809941 -0.12285551]
11.  [ 1.         -0.88064421 -0.20391149]]

 

核心代码

1. def gradient_descent(data_x, data_y, w_h=None, eta=1.0, max_iterations=10000, epsilon=0.001):
2. if w_h == None:
3.         w_h = np.array([0.0 for i in range(data_x.shape[1])])
4.     w_h_i = [np.copy(w_h)]  
5. 
6. for i in range(max_iterations):
7.         subset_indices = range(data_x.shape[0])
8.         grad_E_in = np.mean(np.tile(- data_y[subset_indices] /
9.                                         ( 1.0 + np.exp(data_y[subset_indices] * w_h.dot(data_x[subset_indices].T)) ),
10.                                     (data_x.shape[1], 1)).T *   data_x[subset_indices], axis=0)
11.         w_h -= eta * grad_E_in
12.         w_h_i.append(np.copy(w_h))
13. if np.linalg.norm(grad_E_in) <= np.linalg.norm(w_h) * epsilon:
14. break
15. return np.array(w_h_i)
16. 
17. 
18. LoR = linear_model.LogisticRegression()
19. LoR.fit(data_x,data_y)
20. y_train=LoR.predict(data_x)
21. 
22. LoRpp_function = lambda z: LoR.predict_proba(z)[:,0]
23. BG_Grid_BaseLoR = apply_to_fill(z_grid, LoRpp_function)
24. 
25. full_N_fig = plot_dataset_and_hypothesis(3,data_x, data_y, xy_1, xy_2, BG_Grid_BaseLoR,title=r'LoR: Hypothesis, $N={:}$'.format(N))
26. 
27. 
28. 
29. SVM_Linear = svm.SVC(kernel='linear')
30. SVM_Linear.fit(data_x,data_y)
31. 
32. SVM_LinearPre_function = lambda z: SVM_Linear.predict(z)
33. BG_Grid_BaseSVM_Linear = apply_to_fill(z_grid, SVM_LinearPre_function)
34. 
35. full_N_fig = plot_dataset_and_hypothesis(5,data_x, data_y, xy_1, xy_2, BG_Grid_BaseSVM_Linear, title=r'SVM_Linear: Hypothesis, $N={:}$'.format(N))
36. 
37. 
38. 
39. 
40. 
41. 
42.

 


相关文章
|
17天前
|
机器学习/深度学习 算法 数据挖掘
R语言中的支持向量机(SVM)与K最近邻(KNN)算法实现与应用
【9月更文挑战第2天】无论是支持向量机还是K最近邻算法,都是机器学习中非常重要的分类算法。它们在R语言中的实现相对简单,但各有其优缺点和适用场景。在实际应用中,应根据数据的特性、任务的需求以及计算资源的限制来选择合适的算法。通过不断地实践和探索,我们可以更好地掌握这些算法并应用到实际的数据分析和机器学习任务中。
|
1月前
|
机器学习/深度学习 运维 算法
深入探索机器学习中的支持向量机(SVM)算法:原理、应用与Python代码示例全面解析
【8月更文挑战第6天】在机器学习领域,支持向量机(SVM)犹如璀璨明珠。它是一种强大的监督学习算法,在分类、回归及异常检测中表现出色。SVM通过在高维空间寻找最大间隔超平面来分隔不同类别的数据,提升模型泛化能力。为处理非线性问题,引入了核函数将数据映射到高维空间。SVM在文本分类、图像识别等多个领域有广泛应用,展现出高度灵活性和适应性。
88 2
|
2月前
|
机器学习/深度学习 数据采集 算法
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机回归模型(SVR算法)项目实战
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机回归模型(SVR算法)项目实战
|
2月前
|
机器学习/深度学习 数据采集 算法
Python实现WOA智能鲸鱼优化算法优化支持向量机分类模型(SVC算法)项目实战
Python实现WOA智能鲸鱼优化算法优化支持向量机分类模型(SVC算法)项目实战
177 4
|
2月前
|
机器学习/深度学习 数据采集 算法
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机分类模型(SVC算法)项目实战
Python实现ISSA融合反向学习与Levy飞行策略的改进麻雀优化算法优化支持向量机分类模型(SVC算法)项目实战
|
2月前
|
机器学习/深度学习 数据采集 算法
Python实现WOA智能鲸鱼优化算法优化支持向量机回归模型(LinearSVR算法)项目实战
Python实现WOA智能鲸鱼优化算法优化支持向量机回归模型(LinearSVR算法)项目实战
|
2月前
|
机器学习/深度学习 数据采集 算法
Python实现SSA智能麻雀搜索算法优化支持向量机回归模型(SVR算法)项目实战
Python实现SSA智能麻雀搜索算法优化支持向量机回归模型(SVR算法)项目实战
134 1
|
2月前
|
机器学习/深度学习 数据采集 算法
Python实现SSA智能麻雀搜索算法优化支持向量机分类模型(SVC算法)项目实战
Python实现SSA智能麻雀搜索算法优化支持向量机分类模型(SVC算法)项目实战
105 1
|
2月前
|
机器学习/深度学习 数据采集 算法
Python实现GWO智能灰狼优化算法优化支持向量机回归模型(svr算法)项目实战
Python实现GWO智能灰狼优化算法优化支持向量机回归模型(svr算法)项目实战
|
2月前
|
机器学习/深度学习 数据采集 自然语言处理
Python实现支持向量机SVM分类模型(SVC算法)并应用网格搜索算法调优项目实战
Python实现支持向量机SVM分类模型(SVC算法)并应用网格搜索算法调优项目实战