iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
AI & Data

人類學習機器學習的學習筆記 with Python系列 第 17

Day17 分類(Classification)(5)-- Python建立線性判別分析(LDA)模型

  • 分享至 

  • xImage
  •  

載入套件

import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score

載入資料

urlprefix = 'https://vincentarelbundock.github.io/Rdatasets/csv/' 
dataname = 'datasets/iris.csv'
iris = pd.read_csv(urlprefix + dataname)
iris = iris.drop("Unnamed: 0", 1)
iris.head()

https://ithelp.ithome.com.tw/upload/images/20220924/20151276JPOysEsyIF.png

資料處理

  • 切割為訓練集與測試集
X = iris.iloc[:, 0:4].values
y = iris.iloc[:, 4].values

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)
  • 資料標準化
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

建立LDA模型

model = LinearDiscriminantAnalysis()
model.fit(X_train, y_train)
y_pred = model.predict(X_test)
  • 評估結果
cm = confusion_matrix(y_test, y_pred)
print(cm)
print('Accuracy' + str(accuracy_score(y_test, y_pred)))

https://ithelp.ithome.com.tw/upload/images/20220924/20151276eHj4q263t9.png


上一篇
Day16 分類(Classification)(4)-- 線性判別分析( Linear Discriminant Analysis)
下一篇
Day18 重新抽樣方法(Resampling Methods)與Python
系列文
人類學習機器學習的學習筆記 with Python30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言