• 大小: 3KB
    文件类型: .py
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: Python
  • 标签: CNN  

资源简介

使用卷积神经网络预测波士顿房价,采用一维卷积的模式。

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
Created on Tue Sep 12 15:05:41 2017

@author: thinkpad
“““


import numpy as np
from sklearn import preprocessing
import tensorflow as tf
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
#波士顿房价数据
boston=load_boston()
x=boston.data
y=boston.target
#x_3=x[:3:6]
#x=np.column_stack([xx_3])
train_x test_x train_y test_y = train_test_split(x ytrain_size=0.5 random_state=33)
ss_x = preprocessing.StandardScaler()
train_x = ss_x.fit_transform(train_x)
test_x = ss_x.transform(test_x)
train_y = ss_x.fit_transform(train_y.reshape(-1 1))
test_y=ss_x.transform(test_y.reshape(-1 1))

def weight_variable(shape):
    initial= tf.truncated_normal(shapestddev=0.1)
    return tf.Variable(initial)
def bias_variable(shape):
    initial = tf.constant(0.1 shape=shape)
    return tf.Variable(initial)
def conv2d(x W):
    return tf.nn.conv2d(x W strides=[1 1 1 1] padding=‘SAME‘)
def max_pool_2x2(x):
    return tf.nn.max_pool(x ksize=[1221] strides=[1221] padding=‘SAME‘)
xs = tf.placeholder(tf.float32 [None 13]) #原始数据的维度:13
ys = tf.placeholder(tf.float32 [None 1])#输出数据为维度:1
keep_prob = tf.placeholder(tf.float32)#dropout的比例
x_image = tf.reshape(xs [-1 13 1 1])
#第一卷积层
W_conv1 = weight_variable([22 132]) 
b_conv1 = bias_variable([32])
h_conv1 = tf.nn.relu(conv2d(x_image W_conv1) + b_conv1)
# conv2 layer ##第二卷积层
W_conv2 = weight_variable([22 32 64]) 
b_conv2 = bias_variable([

评论

共有 条评论