浅用tensorflow天气预测

1.开发环境

(1)Python3.8

(2)Anaconda3

(3)Tensorflow

(4)Numpy

(5)Pandas

(6)Sklearn

先依次安装好上面的软件和包,其中python3.8和Anaconda3是直接下载安装,如果官方链接比较慢,可以搜下三方的源安装。其中Anaconda3不是必须的,用这个工具是因为确实挺香的。

剩下的3-6都是pip安装的包,注意使用Anaconda3的话就在Anaconda Prompt里使用pip命令,如果是其他集成环境或者原生的python环境,直接就在cmd里使用pip安装。

2、实现代码

复制代码
import numpy as np
import pandas as pd
import tensorflow as tf
from tensorflow.keras import layers
import tensorflow.keras
import warnings
#####################################################
features = pd.read_csv('C:/Inst/20230411/20230411/训练集.csv')
print("数据维度",features.shape)
print('features=')
print(features.head(10))

#####################################################
#删除前7行无效数据
features = features[7:]
#将avg列单独存起来
labels_avg = np.array(features['avg'])
print("数据维度",features.shape)
print('features=')
print(features.head(10))

#####################################################
#特征中去掉无用标签
features = features.drop('high',axis=1)
features = features.drop('low',axis=1)
features = features.drop('avg',axis=1)
print("数据维度",features.shape)
print('features=')
print(features.head(10))

#####################################################
#转换成可以处理的数据格式
features = np.array(features)
#预处理
from sklearn import preprocessing
input_features = preprocessing.StandardScaler().fit_transform(features)
print('input_features=')
print(input_features[0:7])

#####################################################
#构造网络模型
model1 = tf.keras.Sequential()
model1.add(layers.Dense(16))
model1.add(layers.Dense(32))
model1.add(layers.Dense(1))
#对网络进行配置
model1.compile(optimizer=tf.keras.optimizers.SGD(0.001),loss='mean_squared_error')

#####################################################
#训练
model1.fit(input_features, labels_avg, validation_split=0.1, epochs=50, batch_size=64)

#####################################################
#读入待预测数据
tobe_predict = pd.read_csv('C:/Inst/20230411/20230411/验证集.csv')
#去除前7行数据
tobe_predict = tobe_predict[7:]
#vag列先存起来,后面用来比较验证预测的效果
tobe_predict_avg = np.array(tobe_predict['avg'])
#去掉无用的列
tobe_predict = tobe_predict.drop('avg',axis=1)
tobe_predict = tobe_predict.drop('high',axis=1)
tobe_predict = tobe_predict.drop('low',axis=1)

#转换成合适的格式
tobe_predict = np.array(tobe_predict)

print("数据维度",tobe_predict.shape)

#预处理
tobe_predict = preprocessing.StandardScaler().fit_transform(tobe_predict)
print("tobe_predict=",tobe_predict[0:7])


#####################################################
#预测模型结果
predict1 = model1.predict(tobe_predict)
print("预测的平均温度")
print(predict1)

print("实际的平均温度")
print(tobe_predict_avg)
相关推荐
人工智能AI技术2 分钟前
梯度下降基础:AI 模型自我优化的核心方法
人工智能
kishu_iOS&AI2 分钟前
深度学习 —— 梯度下降法的优化方法
人工智能·pytorch·python·深度学习
MobotStone4 分钟前
拼多多为什么弱化购物车?
人工智能
Rabbit_QL4 分钟前
【权重】离线环境怎么用预训练权重
人工智能·pytorch
VBsemi-专注于MOSFET研发定制8 分钟前
AI水稻插秧机器人功率器件选型方案——高效、可靠与精准驱动系统设计指南
人工智能·机器人
mmWave&THz12 分钟前
技术解析:Bolicom-mmWave高速毫米波通信设备赋能港口机械智能化升级
网络·人工智能·系统架构·信息与通信·智能硬件
观北海15 分钟前
视觉-语言-动作模型(VLA)深度解析:当 AI 学会“看、读、动”
人工智能·计算机视觉
AiTop10019 分钟前
跨数据中心的创新:Moonshot AI与清华大学提出PrfaaS架构
人工智能·ai·架构
深藏功yu名20 分钟前
大模型推理加速实战技术
人工智能·python·ai·pycharm
GISer_Jing27 分钟前
AI时代前端开发者成长计划
前端·人工智能