Python数据挖掘—回归—神经网络
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python数据挖掘—回归—神经网络,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4400字,纯文字阅读大概需要7分钟。
内容图文
![Python数据挖掘—回归—神经网络](/upload/InfoBanner/zyjiaocheng/1319/6e4e9f8844a64987aa06bb95f820ac1a.jpg)
概念:
神经网络:全称为人工神经网络,是一种模仿生物神经网络(动物的中枢神经系统,特别是大脑)的结构和功能的数学模型或计算模型
生物神经网络:神经细胞是构成神经系统的基本单元,称为生物神经元,简称神经元
一般采用三到五层
首先导入自变量和因变量
![技术分享图片](/img/jia.gif)
![技术分享图片](/img/jian.gif)
1 import pandas; 2 from pandas import read_csv; 3 4 data = read_csv( 5"C:\\Users\\Jw\\Desktop\\python_work\\Python数据挖掘实战课程课件\\4.5\\data.csv", 6 encoding=‘utf8‘ 7) 8 data = data.dropna() 910 dummyColumns = [ 11‘Gender‘, ‘Home Ownership‘, ‘Internet Connection‘, ‘Marital Status‘, 12‘Movie Selector‘, ‘Prerec Format‘, ‘TV Signal‘] 1314for column in dummyColumns: 15 data[column]=data[column].astype(‘category‘) 1617 dummiesData = pandas.get_dummies( 18 data, 19 columns=dummyColumns, 20 prefix=dummyColumns, 21 prefix_sep="", 22 drop_first=True 23) 2425"""26博士后 Post-Doc 27博士 Doctorate 28硕士 Master‘s Degree 29学士 Bachelor‘s Degree 30副学士 Associate‘s Degree 31专业院校 Some College 32职业学校 Trade School 33高中 High School 34小学 Grade School 35"""36 educationLevelDict = { 37‘Post-Doc‘: 9, 38‘Doctorate‘: 8, 39‘Master\‘s Degree‘: 7, 40‘Bachelor\‘s Degree‘: 6, 41‘Associate\‘s Degree‘: 5, 42‘Some College‘: 4, 43‘Trade School‘: 3, 44‘High School‘: 2, 45‘Grade School‘: 1 46} 4748 dummiesData[‘Education Level Map‘] = dummiesData[‘Education Level‘].map(educationLevelDict) 4950 freqMap = { 51‘Never‘: 0, 52‘Rarely‘: 1, 53‘Monthly‘: 2, 54‘Weekly‘: 3, 55‘Daily‘: 4 56} 57 dummiesData[‘PPV Freq Map‘] = dummiesData[‘PPV Freq‘].map(freqMap) 58 dummiesData[‘Theater Freq Map‘] = dummiesData[‘Theater Freq‘].map(freqMap) 59 dummiesData[‘TV Movie Freq Map‘] = dummiesData[‘TV Movie Freq‘].map(freqMap) 60 dummiesData[‘Prerec Buying Freq Map‘] = dummiesData[‘Prerec Buying Freq‘].map(freqMap) 61 dummiesData[‘Prerec Renting Freq Map‘] = dummiesData[‘Prerec Renting Freq‘].map(freqMap) 62 dummiesData[‘Prerec Viewing Freq Map‘] = dummiesData[‘Prerec Viewing Freq‘].map(freqMap) 6364 dummiesSelect = [ 65‘Age‘, ‘Num Bathrooms‘, ‘Num Bedrooms‘, ‘Num Cars‘, ‘Num Children‘, ‘Num TVs‘, 66‘Education Level Map‘, ‘PPV Freq Map‘, ‘Theater Freq Map‘, ‘TV Movie Freq Map‘, 67‘Prerec Buying Freq Map‘, ‘Prerec Renting Freq Map‘, ‘Prerec Viewing Freq Map‘, 68‘Gender Male‘, 69‘Internet Connection DSL‘, ‘Internet Connection Dial-Up‘, 70‘Internet Connection IDSN‘, ‘Internet Connection No Internet Connection‘, 71‘Internet Connection Other‘, 72‘Marital Status Married‘, ‘Marital Status Never Married‘, 73‘Marital Status Other‘, ‘Marital Status Separated‘, 74‘Movie Selector Me‘, ‘Movie Selector Other‘, ‘Movie Selector Spouse/Partner‘, 75‘Prerec Format DVD‘, ‘Prerec Format Laserdisk‘, ‘Prerec Format Other‘, 76‘Prerec Format VHS‘, ‘Prerec Format Video CD‘, 77‘TV Signal Analog antennae‘, ‘TV Signal Cable‘, 78‘TV Signal Digital Satellite‘, ‘TV Signal Don\‘t watch TV‘79] 8081 inputData = dummiesData[dummiesSelect] 8283 outputData = dummiesData[[‘Home Ownership Rent‘]]
导入神经网络中的MLPClassifier类,使用模型进行多次评分
activation="relu",为激活函数,默认为relu,该句类似于使用s函数,hidden_layer_sizes时隐藏的层数
activation 激活函数
√ relu 线性纠正函数,优于logistics和tanh,因为更符合生物神经元(要么不活动,活动起来比较平缓)
√logistic logistic函数
√tanh tanh函数
1 from sklearn.neural_network import MLPClassifier 2 3for l in range(1, 11): 4 ANNModel = MLPClassifier( 5 activation=‘relu‘, #类似于s函数 6 hidden_layer_sizes=l #隐藏层层数 7 ) 8 9 ANNModel.fit(inputData, outputData) 1011 score = ANNModel.score(inputData, outputData) 12print(str(l) + ", " + str(score))
预测数据
1 newData = read_csv( 2"C:\\Users\\Jw\\Desktop\\python_work\\Python数据挖掘实战课程课件\\4.4\\newData.csv", 3 encoding=‘utf-8‘ 4) 5 6for column in dummyColumns: 7 newData[column] = newData[column].astype( 8‘category‘, 9 categories=data[column].cat.categories 10 ) 1112 newData = newData.dropna() 1314 newData[‘Education Level Map‘] = newData[‘Education Level‘].map(educationLevelDict) 15 newData[‘PPV Freq Map‘] = newData[‘PPV Freq‘].map(freqMap) 16 newData[‘Theater Freq Map‘] = newData[‘Theater Freq‘].map(freqMap) 17 newData[‘TV Movie Freq Map‘] = newData[‘TV Movie Freq‘].map(freqMap) 18 newData[‘Prerec Buying Freq Map‘] = newData[‘Prerec Buying Freq‘].map(freqMap) 19 newData[‘Prerec Renting Freq Map‘] = newData[‘Prerec Renting Freq‘].map(freqMap) 20 newData[‘Prerec Viewing Freq Map‘] = newData[‘Prerec Viewing Freq‘].map(freqMap) 2122 dummiesNewData = pandas.get_dummies( 23 newData, 24 columns=dummyColumns, 25 prefix=dummyColumns, 26 prefix_sep="", 27 drop_first=True 28) 2930 inputNewData = dummiesNewData[dummiesSelect] 3132 ANNModel.predict(inputData)
原文:https://www.cnblogs.com/U940634/p/9743215.html
内容总结
以上是互联网集市为您收集整理的Python数据挖掘—回归—神经网络全部内容,希望文章能够帮你解决Python数据挖掘—回归—神经网络所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。