python - 准备 HDF5 数据以创建 scikit ML 模型
问题描述
我需要创建机器学习模型来模拟一些数据处理任务。有问题的数据是用于计算风速的几个雷达波段。这些波段的相互作用决定了如何计算速度。由于波段的极化,我最终得到了 12 个输入 Pandas 数据帧,对应于一个输出帧,这是风速的“真实”值。我正在尝试创建一个 SVM 模型。我觉得我可以稍微优化数据,但遇到一些效率问题和数据转换警告,我不知道如何解决。该代码似乎需要一段时间才能与线性回归和 SGD 等其他模型一起输出,但 SVM 似乎在建模过程中卡住了好几个小时。代码摘要如下。
import numpy as np
import h5py
import matplotlib.pyplot as plt
from sklearn import linear_model
from sklearn.svm import SVR
f1 = h5py.File(inputFile,"r")
f2 = h5py.File(trainingFile,"r")
G35V = f1['Brightness Temperature (36.5GHz,V)']
G35H = f1['Brightness Temperature (36.5GHz,H)']
G6V = f1['Brightness Temperature (6.9GHz,V)']
G6H = f1['Brightness Temperature (6.9GHz,H)']
G7H = f1['Brightness Temperature (7.3GHz,H)']
G7V = f1['Brightness Temperature (7.3GHz,V)']
G10H = f1['Brightness Temperature (10.7GHz,H)']
G10V = f1['Brightness Temperature (10.7GHz,V)']
G18H = f1['Brightness Temperature (18.7GHz,H)']
G18V = f1['Brightness Temperature (18.7GHz,V)']
G23H = f1['Brightness Temperature (23.8GHz,H)']
G23V = f1['Brightness Temperature (23.8GHz,V)']
GeoD = f2['Geophysical Data']
GeoData = np.ndarray(shape=GeoD.shape,dtype=int)
GeoD.read_direct(GeoData)
#remove dimension to match inputs
GeoData = GeoData[:,:,0]
inputDataframe = pd.DataFrame({'G35H':np.asarray(G35H).flatten(), 'G35V':np.asarray(G35V).flatten(), 'G6V':np.asarray(G6V).flatten(), 'G6H':np.asarray(G6H).flatten(), 'G7V':np.asarray(G7V).flatten(),'G7H':np.asarray(G7H).flatten(), 'G10V':np.asarray(G10V).flatten(),'G10H':np.asarray(G10H).flatten(),'G18V':np.asarray(G18V).flatten(),'G18H':np.asarray(G18H).flatten(), 'G23V':np.asarray(G23V).flatten(),'G23H':np.asarray(G23H).flatten() } )
outputDataframe = pd.DataFrame({'GeoData': np.asarray(GeoData).flatten()})
f1.close()
f2.close()
SVM = SVR()
SVM.fit(inputDataframe , outputDataframe)
创建后,模型将被传递给另一个方法,以使用以下循环和不同的输入文件创建输出预测:
for idx, x in np.ndenumerate(o_gp):
o_gp[idx] = SVM.predict([[G35H[idx] ,G35V[idx],G6V[idx] ,G6H[idx] ,G7V[idx] ,G7H[idx] ,G10V[idx],G10H[idx],G18V[idx] ,G18H[idx] , G23V[idx], G23H[idx] ]])
非常感谢任何输入。谢谢
解决方案
推荐阅读
- hadoop - Hadoop FsImage中DSQUOTA和NSQUOTA列的含义是什么?
- javascript - 无法从 Angular 的下拉列表中填充和发布值
- python-3.x - 命令行中的 python3 版本与 /usr/local/lib 中的版本不匹配
- python-3.x - 加密算法随机替换一些字母
- visual-studio-2017 - 使用 LogicNP CryptoObfuscator 混淆 Excel 插件
- asp.net - 将 vuejs 与 cshtml 和 js 一起使用是否正确(没有 webpack)
- woocommerce - 在 WooCommerce 中将产品添加到购物车之前隐藏发货消息
- firebase - 将 Cloud Firestore 数据结果项解码为 NSObject
- php - 在 Woocommerce 中为未登录用户取消隐藏结帐登录表单
- python - Scrapy蜘蛛不会跳转到下一页