import os
os.environ['CUDA_VISIBLE_DEVICES'] = "0"
from mlp_clf import MLPClassifier
import numpy as np
import tensorflow as tf
from sklearn.datasets import load_svmlight_file
from sklearn.utils import shuffle
#from scipy.sparse import csr_matrix
def mean(numbers): #计算平均值
s = 0.0
for num in numbers:
s = s + num
return s/len(numbers)
def dev(numbers, mean): #计算方差
sdev = 0.0
for num in numbers:
sdev = sdev + (num - mean)**2
return pow(sdev / (len(numbers)-1), 0.5) if __name__ == '__main__':
mze_array=[]
mae_array=[]
mse_array=[]
trainfile = "test_housing.0"
testfile = "train_housing.0"
X_train0, y_train = load_svmlight_file(trainfile)
X_test0 , y_test = load_svmlight_file(testfile)
X_train = X_train0.todense()
X_test = X_test0.todense()
attribute = np.shape(X_train)[-1]#tf.shape(X_train)
n_class = tf.reduce_max(y_train)
print("n_class:", n_class) X_train, y_train = shuffle(X_train, y_train, random_state=0)
y_train = y_train - 1
y_test = y_test - 1
 
clf = MLPClassifier(attribute, 5, [100]*3)
log = clf.fit(X_train, y_train, n_epoch=1000, keep_prob=0.8, val_data=(X_test, y_test))
Y_pred = clf.predict(X_test)
mze = 1- (Y_pred == y_test).mean()
mae = np.abs(Y_pred.ravel()-y_test.ravel()).astype(float).mean()
mse = np.power(Y_pred.ravel()-y_test.ravel(),2).astype(float).mean()
print("mze: %.4f" % mze)
print("mae:", mae)
print("mse:", mse)
Rudolf Wille. Restructuring lattice theory: An approach based on hierarchies of concepts. In Sébastien Ferré andSebastian Rudolph, editors,Formal Concept Analysis, pages 314–339, Berlin, Heidelberg, 2009. Springer BerlinHeidelberg.
R. Wille. Restructuring lattice theory: An approach based on hierarchies of concepts. In
I. Rival, editor, Ordered Sets, pages 445–470. Reidel, Dordrecht-Boston, 1982.

mlp_clf_mnist_test的更多相关文章

随机推荐

  1. Java基础语法-Unicode、UTF-8、UTF-16

    1.Unicode(统一码.万国码),从名字里可以看出,unicode码表囊括世界上各国语言文字. unidode中包含17个代码级别,第一个代码级别又称作基本的多语言级别(码点从U+0000到U+F ...

  2. log4j2教程【RollingFileAppender】

    说明 rollover 表示的是当日志文件大小满足指定大小后,就生成一个新的文件的过程. RollingFileAppender RollingFileAppender是一个OutputStreamA ...

  3. 第一个Python游戏窗口

    不废话,撸起袖子就是干. import pygame import sys pygame.init(); caption=pygame.display.set_caption("Python ...

  4. 第01节:ActiveMQ入门和消息中间件

    1.ActiveMQ最主要的功能:实现JMS Provider,用来帮助实现高可用.高性能.可伸缩.易用和安全的企业级面向消息服务的系统.是一个异步的功能. 2.ActiveMQ特点: 完全支持JMS ...

  5. Python中的7种可调用对象

    Python中有七种可调用对象,可调用对象可使用内置函数callable来检测 一.用户自定义的函数: 使用def语句或者lambda表达式创建的函数. 二.内置函数: 使用C语言实现的函数,如len ...

  6. python习题二

    1.输入1-127的ascii码并输出对应的字符 for i in range(1,128):    print(chr(i)) 2.输入a,b,c,d,4个整数,计算a+b-c*d的结果 a = i ...

  7. MySQL复制表-SELECT INTO FROM

    基础Table: mysql> select * from staff; +----+----------+-------+ | id | name | slary | +----+------ ...

  8. kbmmemtable sorton 报错 : List index out of bounds

    同一数据集,不同的排序条件,有的可以,但某一条件,却能100%重现报错. procedure TkbmIndex.InternalFastQuickSort(const L,R:Integer); v ...

  9. 前端框架bootstrap(响应式布局)入门

    Bootstrap,是基于HTML,CSS.javascript的前端框架 该框架已经预定义了一套CSS样式和与样式相对应的js代码(对应的样式有对应的特效.) 开发人员只需要编写HTML结构,添加b ...

  10. php 随机红包算法

    <?php /** * 红包分配算法 * * example * $coupon = new Coupon(200, 5); * $res = $coupon->handle(); * p ...