Python编程如何判别线性
程序员文章站
2022-03-29 13:50:07
...
本次的这篇文章主要是和大家分享了关于Python编程如何判别线性 ,有需要的小伙伴可以看一下。
""" Author: Victoria Created on: 2017.9.15 11:45 """ import pandas as pd import numpy as np import matplotlib.pyplot as plt def LDA(X0, X1): """ Get the optimal params of LDA model given training data. Input: X0: np.array with shape [N1, d] X1: np.array with shape [N2, d] Return: omega: np.array with shape [1, d]. Optimal params of LDA. """ #shape [1, d] mean0 = np.mean(X0, axis=0, keepdims=True) mean1 = np.mean(X1, axis=0, keepdims=True) Sw = (X0-mean0).T.dot(X0-mean0) + (X1-mean1).T.dot(X1-mean1) omega = np.linalg.inv(Sw).dot((mean0-mean1).T) return omega if __name__=="__main__": #read data from xls work_book = pd.read_csv("../data/watermelon_3a.csv", header=None) positive_data = work_book.values[work_book.values[:, -1] == 1.0, :] negative_data = work_book.values[work_book.values[:, -1] == 0.0, :] print (positive_data) #LDA omega = LDA(negative_data[:, 1:-1], positive_data[:, 1:-1]) #plot plt.plot(positive_data[:, 1], positive_data[:, 2], "bo") plt.plot(negative_data[:, 1], negative_data[:, 2], "r+") lda_left = 0 lda_right = -(omega[0]*0.9) / omega[1] plt.plot([0, 0.9], [lda_left, lda_right], 'g-') plt.xlabel('density') plt.ylabel('sugar rate') plt.title("LDA") plt.show()
相关推荐:
以上就是Python编程如何判别线性 的详细内容,更多请关注其它相关文章!
推荐阅读
-
从能做什么到如何去做,一文带你快速掌握Python编程基础与实战
-
对Python新手编程过程中如何规避一些常见问题的建议
-
举例讲解如何在Python编程中进行迭代和遍历
-
如何利用Boost.Python实现Python C/C++混合编程详解
-
致初学者:零基础如何学好,Python这门编程语言?
-
简单网络编程如何用python来实现
-
C如何能和Python一起编程,那么它们已经无敌了!Java靠边站!
-
最近程序员频繁被抓,如何避免Python爬虫面向*编程?
-
Python编程-python与其它语言的互相调用(一):如何在shell中调用python代码
-
Python编程实现线性回归和批量梯度下降法代码实例