柳州企业网站开发平台,郑州便民核酸采样屋正在搭建中,网上服务办事大厅,顺义重庆网站建设一、问题 机器学习或者深度学习在处理表格数据#xff08;Tabular data#xff09;、图像数据#xff08;Image data#xff09;、文本数据#xff08;Text data#xff09;、时间序列数据#xff08;Time series data#xff09;上得到了广泛的应用。 其中#xff0c…一、问题 机器学习或者深度学习在处理表格数据Tabular data、图像数据Image data、文本数据Text data、时间序列数据Time series data上得到了广泛的应用。 其中表格数据是机器学习应用最多的一种数据在表格数据中每一行代表一个样本每一列代表一个特征/标签每一个特征/标签通常是一个一维列表或者一个一维数组多个特征/标签通常是多个一维数组。 假如现在有5个样本3个特征列1个标签列给出的数据如下 fea1 np.array([1, 2, 3, 4, 5]) fea2 np.array([3, 2, 1, 4, 3]) fea3 np.array([5, 2, 3, 4, 1]) label np.array([0, 1, 1, 0, 1]) 如何对上面的给的数据进行处理喂给机器学习模型呢
二、数组堆叠
将数组进行堆叠转化为多个长度相同的一维数组转化为二维数组
data_x np.column_stack((fea1, fea2, fea3))
# data_x np.array([[1,3,5],[2,2,2],[3,1,3],[4,4,4],[5,3,1]])
data_y label.reshape((len(label), 1))
# data_y np.array([[0],[1],[1],[0],[1]])
引申问题1data_y不做reshape操作可不可以
答案是可以。标签只有一列那么可以不转化为二维数组可以直接划分数据集喂给模型。
三、转化为dataframe数据框
将多个一维数组转化为dataframe
df pd.DataFrame({fea1: fea1, fea2: fea2, fea3: fea3, label: label})
data_x df[[fea1, fea2, fea3]].values
# data_x np.array([[1,3,5],[2,2,2],[3,1,3],[4,4,4],[5,3,1]])
data_y df[[label]].values
# data_y np.array([[0],[1],[1],[0],[1]])
引申问题1data_x和data_y不转化为数组data_x df[[fea1, fea2, fea3]]data_y df[[label]]行不行
答案是可以的此时data_x和data_y的数据类型都是dataframe而对于表格数据是可以喂给机器学习dataframe数据类型的。
引申问题2data_y df[label].values或者直接data_y df[label]这样行不行
答案是可以。标签只有一列模型可以接收series或者一维数组。
四、验证
接下来就可以将上诉方法得到的data_x, data_y进行数据划分并进行模型训练和推理等后续处理啦
x_train, x_test, y_train, y_test train_test_split(data_x, data_y, test_size1/5)
model LinearRegression()
model.fit(X_train, y_train)
y_pred_test model.predict(x_test)
五、总结 对于表格数据机器学习模型理想希望吃到的数据数据集划分之前应该是一个二维数组对于有标签的数据而言特征和标签各自应该是一个二维数组二维数组的每个元素对应一个样本的多个特征或者多个标签。 对于表格数据机器学习模型也接收dataframe数据类型对于有标签的数据而言特征和标签各自应该是一个dataframe数据类型。 对于表格数据如果特征或者标签只有一列机器学习模型也可以接收一维数组或series。 本人读研期间发表5篇SCI数据挖掘相关论文现在某研究院从事数据算法相关科研工作对Python有一定认知和理解会结合自身科研实践经历不定期分享关于python、机器学习、深度学习等基础知识与应用案例。 致力于只做原创以最简单的方式理解和学习关注我一起交流成长。 1、关注文末公众号即可在后台联系我获取相关数据集和源码。 2、关注“数据杂坛”公众号点击“领资料”即可免费领取资料书籍。 3、有论文指导相关需求点击“联系我”添加作者微信直接交流。