浅用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)
相关推荐
孙同学要努力2 小时前
全连接神经网络案例——手写数字识别
人工智能·深度学习·神经网络
Eric.Lee20212 小时前
yolo v5 开源项目
人工智能·yolo·目标检测·计算机视觉
其实吧33 小时前
基于Matlab的图像融合研究设计
人工智能·计算机视觉·matlab
丕羽3 小时前
【Pytorch】基本语法
人工智能·pytorch·python
ctrey_3 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习
SongYuLong的博客3 小时前
Air780E基于LuatOS编程开发
人工智能
Jina AI3 小时前
RAG 系统的分块难题:小型语言模型如何找到最佳断点?
人工智能·语言模型·自然语言处理
-派神-3 小时前
大语言模型(LLM)量化基础知识(一)
人工智能·语言模型·自然语言处理
johnny_hhh3 小时前
AI大模型重塑软件开发流程:定义、应用场景、优势、挑战及未来展望
人工智能
Elastic 中国社区官方博客3 小时前
释放专利力量:Patently 如何利用向量搜索和 NLP 简化协作
大数据·数据库·人工智能·elasticsearch·搜索引擎·自然语言处理