我有一个术语项目,需要使用MySQL中存储的数据来使用Tensorflow或其他方法训练分类模型。
我尝试使用https://github.com/tensorflow/docs/blob/master/site/en/r2/tutorials/keras/feature_columns.ipynb中的示例,花了很多时间将数据处理到csv文件并修改python脚本。虽然我需要做很多实验,但是可能还有更简单的工具可以对我的MySQL数据集进行训练和实验吗?
答案 0 :(得分:1)
也许SQLFlow可以满足您的需求;我试图用您提供的数据集构建一个SQLFlow脚本,她应该像这样:
SELECT *
FROM Heart_Disease
TRAIN DNNClassifier /* a pre-defined TensorFlow estimator, tf.estimator.DNNClassifier */
WITH n_classes = 3, hidden_units = [10, 20] /* a parameter of the Estimator class constructor */
COLUMN Age, Sex, CP, FBS .. /* From the raw data, enter the columns that you think will help predict your heart rate. */
LABEL Target /* lable column */
INTO Heart_Disease.test_model; /* The trained model is saved to the specified data table */
应用此模型也非常容易:
SELECT *
FROM Heart_Disease.predict
PREDICT Heart_Disease.predict_result.Target
USING Heart_Disease.test_model;
Heart_Disease.predict
Target
列为空,预测的Target
被保存到Heart_Disease.predict_result.Target
表中。
仅供参考:https://github.com/sql-machine-learning/sqlflow/blob/develop/doc/demo.md
这是我的第一个答案。希望我能帮助您。
答案 1 :(得分:0)
我想可以做的是,如果不是实时的并且没有更新,则从sql获取数据转储,然后将其用于其余部分, 或者您可以创建一个mysql连接,然后将该连接提供给pandas read_sql函数,以获取数据框。 A way to do that
如果您还不熟悉tensorflow,则应尝试查看应执行工作的tensorflow的estimator API,此外,您可以使用tensorflow的keras包装器,这也简化了构建NN网络的工作。