机器学习神经网络算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《人工智能与机器学习》

实验报告

年级__xxxx__________

专业________xxxxxx__________

学号____________631507xxxx___________

姓名_____________gllh________________

日期___________2018-5-25__

实验七神经网络算法

一、实验目的

1、要求掌握神经网络算法的基本原理、了解神经网络算法的执行过程。

2、在此基础上,利用多层神经网络算法对给定样本数据实现分类。

实验类型:验证性

计划课间:2学时

二、实验内容

1、了解神经网络算法的网络结构

2、了解神经网络的反向传播过程;

3、对给定样本数据选择合适的网络层数和神经元个数实现分类过程;

三、实验步骤

1、数据集读入

本实验选用男女生身高体重数据集:

在数据集中将女生划分为1,男生划分为2,如截图所示

sex = pd.read_csv('fafa.csv', names = ["height","weight","devided"]) sex.head()

sex.describe().transpose()

sex.shape

2、数据预处理,根据需要进行标准化,归一化处理

X = sex.drop('devided',axis=1)

y = sex['devided']

3、将数据集划分为训练集与测试集

X_train, X_test, y_train, y_test = train_test_split(X, y)

scaler = StandardScaler()

scaler.fit(X_train)

4、利用训练数据构建模型

mlp = MLPClassifier(hidden_layer_sizes=(20,51,51),max_iter=5000) mlp.fit(X_train,y_train)

5、用测试数据评价模型的性能

predictions = mlp.predict(X_test)

总代码:

import pandas as pd

from sklearn.preprocessing import StandardScaler

from sklearn.neural_network import MLPClassifier

from sklearn.model_selection import train_test_split

from sklearn.metrics import classification_report,confusion_matrix

def readdata(data):

sex = pd.read_csv(data, names = ["height","weight","devided"])

sex.head()

sex.describe().transpose()

sex.shape

X = sex.drop('devided',axis=1)

y = sex['devided']

X_train, X_test, y_train, y_test = train_test_split(X, y)

scaler = StandardScaler()

scaler.fit(X_train)

X_train = scaler.transform(X_train)

X_test = scaler.transform(X_test)

mlp = MLPClassifier(hidden_layer_sizes=(55, 55, 55),max_iter=5000) mlp.fit(X_train,y_train)

predictions = mlp.predict(X_test)

print(confusion_matrix(y_test,predictions))

print(classification_report(y_test,predictions))

print(len(mlp.coefs_))

print(len(mlp.coefs_[0]))

print(len(mlp.intercepts_[0]))

if __name__ =='__main__':

file='fafa.csv'

readdata(file)

实验结果:

四、实验结果分析

实验得出如下结果:

在实验中将最大迭代次数设为5000,

接下来我们创建一个模型的实例,可以自定义很多参数,只定义 hidden_layer_sizes 参数。此参数传入的是一个元组,表示计划在每个层的神经元数量,其中元组中的第55个元素表示 MLP 模型第55层中的神经元数量。有很多参数可供选择,但是为了简单起见,我们将选择具有相同数量神经元的2层神经网络,每层的神经元数量与数据的特征数相同(55),并将最大迭代次数设置为5000次。

即:

mlp = MLPClassifier(hidden_layer_sizes=(55,55,55),max_iter=5000)

[[30 10]

[ 2 40]]

precision recall f1-score support

相关文档
最新文档