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

开发者社区> 一个处女座的程序猿> 正文

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

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

设计思路

image.png





输出结果


w_target.shape:  (3,) [ 1.17881511 -5.13265596 -6.55556511]

Pre_Logistic_function

<class 'function'>

Product_x_function

[1.         0.10262954 0.43893794]

data_x

(300, 3) [[ 1.         -0.15378708  0.9615284 ]

[ 1.          0.36965948 -0.0381362 ]

[ 1.         -0.21576496 -0.31364397]

[ 1.          0.45809941 -0.12285551]

[ 1.         -0.88064421 -0.20391149]]


image.png

image.png

image.png








核心代码


def gradient_descent(data_x, data_y, w_h=None, eta=1.0, max_iterations=10000, epsilon=0.001):

   if w_h == None:

       w_h = np.array([0.0 for i in range(data_x.shape[1])])

   w_h_i = [np.copy(w_h)]  

   

   for i in range(max_iterations):

       subset_indices = range(data_x.shape[0])

       grad_E_in = np.mean(np.tile(- data_y[subset_indices] /

                                       ( 1.0 + np.exp(data_y[subset_indices] * w_h.dot(data_x[subset_indices].T)) ),

                                   (data_x.shape[1], 1)).T *   data_x[subset_indices], axis=0)

       w_h -= eta * grad_E_in

       w_h_i.append(np.copy(w_h))

       if np.linalg.norm(grad_E_in) <= np.linalg.norm(w_h) * epsilon:

           break

   return np.array(w_h_i)

LoR = linear_model.LogisticRegression()

LoR.fit(data_x,data_y)

y_train=LoR.predict(data_x)

LoRpp_function = lambda z: LoR.predict_proba(z)[:,0]

BG_Grid_BaseLoR = apply_to_fill(z_grid, LoRpp_function)

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))

SVM_Linear = svm.SVC(kernel='linear')

SVM_Linear.fit(data_x,data_y)

SVM_LinearPre_function = lambda z: SVM_Linear.predict(z)

BG_Grid_BaseSVM_Linear = apply_to_fill(z_grid, SVM_LinearPre_function)

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))





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何在单节点 Ceph 中配置多数据副本
crush.png 在服务器资源不足,或者测试环境下,Ceph 通常只有一个节点,就算有多个服务器组成集群,往往存储服务器也往往只有一台,Ceph 的默认配置下,只能设置单数据备份,也就是说数据只存了一份,如果磁盘坏了,数据就丢了。
1022 0
更接近底层的云服务——自定义服务器
本文讲的是更接近底层的云服务——自定义服务器,毫无疑问,基础设施架构对于应用人员来说是复杂的。因此云计算的一个重要目的就是把企业从对基础设施架构的庞杂管理中解放出来,让用户不需要知道自己的服务运行在什么样的复杂环境里,只需要去应用就行了。
935 0
7.数据本地化CCString,CCArray,CCDictionary,tinyxml2,写入UserDefault.xml文件,操作xml,解析xml
 数据本地化 A CCUserDefault 系统会在默认路径cocos2d-x-2.2.3\projects\Hello\proj.win32\Debug.win32下生成一个名为UserDefault.xml.所有的key皆为char *型,value类型为bool intfloat double std::string. 读操作
1252 0
一种不通过UI给C4C自定义BO创建测试数据的方式
假设我在Cloud Studio里创建了如下一个非常简单的自定义BO: 我想生成一些该BO的实例。以前我采用的做法是给这个自定义BO创建编辑用的UI。然后使用这些UI创建BO实例。这种方式很花费时间。
1329 0
通过ZeppelinHub viewer来分享zeppelin的notebook和报表数据
最近有使用E-MapReduce的同学咨询如果将zeppelin中的表表数据进行共享。这里就介绍一下在Aliyun E-MapReduce的集群中使用ZeppelinHub来进行notebook和报表的分享。
6553 0
uni-app自定义返回逻辑教程
自 HBuilderX v1.1.0 起,uni-app 的页面新增 onBackPress(event) 生命周期函数。 onBackPress(event) 返回 event ={form: backbutton | navigateBack} 说明 当用户进行以下操作时,会触发该函数: A...
6168 0
Objective-C中通过下标的方式访问自定义数据模型中属性
Objective-C中通过下标的方式访问自定义数据模型中属性
19 0
+关注
一个处女座的程序猿
国内互联网圈知名博主、人工智能领域优秀创作者,全球最大中文IT社区博客专家、CSDN开发者联盟生态成员、中国开源社区专家、华为云社区专家、51CTO社区专家、Python社区专家等,曾受邀采访和评审十多次。仅在国内的CSDN平台,博客文章浏览量超过2500万,拥有超过57万的粉丝。
1701
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载