Rumah > Artikel > pangkalan data > Bagaimana untuk menggunakan pangkalan data MySQL untuk tugas pembelajaran mesin?
Bagaimana untuk menggunakan pangkalan data MySQL untuk tugas pembelajaran mesin?
Dengan kemunculan era data besar, algoritma pembelajaran mesin telah digunakan secara meluas dalam pelbagai bidang. Sebagai salah satu alat teras untuk penyimpanan dan pengurusan data, pangkalan data MySQL juga memainkan peranan penting. Jadi, bagaimana untuk menggunakan pangkalan data MySQL untuk tugas pembelajaran mesin? Artikel ini akan memperkenalkan pembaca kepada kaedah biasa menggunakan pangkalan data MySQL untuk tugasan pembelajaran mesin dan memberikan contoh kod yang sepadan.
1. Penyediaan data
Sebelum melaksanakan tugasan pembelajaran mesin, anda perlu terlebih dahulu menyediakan set data yang boleh digunakan untuk latihan dan ujian. Dalam pangkalan data MySQL, anda boleh menggunakan pernyataan SQL untuk menanyakan data dan mengeksport hasil ke fail dalam format CSV atau JSON. Berikut ialah contoh kod untuk mendapatkan data daripada pangkalan data MySQL dan menyimpan hasilnya sebagai fail CSV:
import pandas as pd import pymysql.cursors # 连接MySQL数据库 connection = pymysql.connect( host='localhost', user='root', password='your_password', db='your_database', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor ) # 执行SQL查询语句 sql = "SELECT * FROM your_table" df = pd.read_sql(sql, connection) # 保存数据为CSV文件 df.to_csv('data.csv', index=False)
2. Pemuatan dan prapemprosesan data
Selepas membaca set data, data perlu dimuatkan dan dipraproses. Ini termasuk operasi seperti pembersihan data dan pengisian nilai yang hilang. Berikut ialah kod sampel untuk memuatkan data dan prapemprosesan:
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler # 加载数据 df = pd.read_csv('data.csv') # 分离特征和标签 X = df.drop('label', axis=1) y = df['label'] # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) # 特征标准化 scaler = StandardScaler() X_train = scaler.fit_transform(X_train) X_test = scaler.transform(X_test)
3. Latihan model dan penilaian
Selepas melengkapkan pemuatan dan prapemprosesan data, anda boleh menggunakan algoritma pembelajaran mesin untuk membina model, melatih dan menilai. Berikut adalah contoh kod untuk latihan dan penilaian model menggunakan algoritma regresi logistik:
from sklearn.linear_model import LogisticRegression from sklearn.metrics import accuracy_score # 创建模型 model = LogisticRegression() # 模型训练 model.fit(X_train, y_train) # 模型预测 y_pred = model.predict(X_test) # 模型评估 accuracy = accuracy_score(y_test, y_pred) print('Accuracy:', accuracy)
IV Penyimpanan dan Pemuatan Model
Selepas latihan selesai, model boleh disimpan ke pangkalan data MySQL untuk kegunaan seterusnya. Berikut ialah contoh kod untuk menyimpan model ke pangkalan data MySQL:
import pickle import pymysql.cursors # 保存模型 with open('model.pkl', 'wb') as f: pickle.dump(model, f) # 连接MySQL数据库 connection = pymysql.connect( host='localhost', user='root', password='your_password', db='your_database', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor ) # 保存模型到数据库 with open('model.pkl', 'rb') as f: model_data = f.read() sql = "INSERT INTO your_table (model) VALUES (%s)" connection.execute(sql, (model_data,)) connection.commit()
Apabila model perlu dimuatkan untuk ramalan, model boleh dibaca daripada pangkalan data MySQL, dimuatkan dan digunakan. Berikut ialah contoh kod untuk memuatkan model daripada pangkalan data MySQL dan membuat ramalan:
import pickle import pymysql.cursors # 连接MySQL数据库 connection = pymysql.connect( host='localhost', user='root', password='your_password', db='your_database', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor ) # 加载模型 sql = "SELECT model FROM your_table" connection.execute(sql) model_data = connection.fetchone()['model'] model = pickle.loads(model_data) # 使用模型进行预测 y_pred = model.predict(X_test)
Di atas ialah kaedah biasa dan contoh kod yang sepadan untuk menggunakan pangkalan data MySQL untuk tugasan pembelajaran mesin. Saya harap artikel ini berguna kepada pembaca dan boleh digunakan secara fleksibel dalam amalan. Pembelajaran mesin ialah proses pembelajaran dan penerokaan berterusan Saya berharap pembaca dapat terus meneroka kaedah dan teknologi baharu serta meningkatkan kebolehan mereka dalam bidang pembelajaran mesin.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan pangkalan data MySQL untuk tugas pembelajaran mesin?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!