鸢尾花线性判别分析
數據集使用的是鳶尾花數據
 from sklearn.datasets import load_iris
 df = load_iris()
 print(df.DESCR)
將數據集拆分為訓練集和測試集
 from sklearn.model_selection import train_test_split
 X_train, X_test,y_train,y_test = train_test_split(df.data,df.target,test_size=0.25,random_state=0,stratify=df.target)
使用help(train_test_split)查看幫助文檔
 運行幫助文檔中的例子
 import numpy as np
 from sklearn.model_selection import train_test_split
 X, y = np.arange(10).reshape((5, 2)), range(5)
 X
引入線性判別模型、擬合、預測
 from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
 LDA = LinearDiscriminantAnalysis()
 LDA.fit(X_train,y_train)
畫圖對擬合后的結果進行展示
 import matplotlib.pyplot as plt
 from mpl_toolkits.mplot3d import Axes3D
X = np.vstack((X_train,X_test)) #定義參數X
 Y = np.vstack((y_train.reshape(y_train.size,1),\ #定義參數Y
 y_test.reshape(y_test.size,1)))
 X.shape
 Y.shape
 converted_X = np.dot(X,np.transpose(LDA.coef_)) + 
 LDA.intercept_
fig = plt.figure()
 ax = Axes3D(fig)
 colors = ‘rgb’
 markers = ‘o*s’
 for target,color,marker in zip([0,1,2],colors,markers):
 pos = (Y == target).ravel()
 X = converted_X[pos,:]
 ax.scatter(X[:,0],X[:,1],X[:,2],
 color=color,marker=marker,
 label = “Label%d”%target)
 ax.legend(loc=“best”)
 fig.suptitle(“Iris After LDA”)
 plt.show()
總結
 
                            
                        - 上一篇: 使用Docker实现php代码在线测试执
- 下一篇: 哈工大软件构造课程知识点总结(一)
