• 大小: 751KB
    文件类型: .rar
    金币: 2
    下载: 0 次
    发布日期: 2024-01-30
  • 语言: Python
  • 标签: sklearn  

资源简介

内含原始数据集,测试集和实验要求,运用sklearn简单实现决策树,用于学习python,sklearn基础,能够生成决策树pdf以供入门者参考

资源截图

代码片段和文件信息

# -*- coding: utf-8 -*-
“““
Created on Wed Jan  2 13:52:27 2019
“““
import numpy as np
import pandas as pd
from sklearn import tree
from sklearn.cross_validation import train_test_split 
from sklearn.metrics import precision_recall_curve  
from sklearn.metrics import classification_report 
import os       
os.environ[“PATH“] += os.pathsep + ‘C:\Program Files (x86)\Graphviz2.38\bin‘
import graphviz 
import pydotplus 

agelist =[]
marital_statuslist = []
occupationlist = []
capital_gainlist =[]
hours_per_weeklist = []
native_countrylist =[]

classlist =[]

file = open(‘adult.data‘‘r‘)
while True:
    mystr = file.readline()
    if not mystr:
        break
    list=mystr.strip().split(‘‘)
    if list == [““]:
        break
    agelist.append(list[0] if list[0]!=‘ ?‘ else ‘None‘ )
    marital_statuslist.append(list[5] if list[5]!=‘ ?‘ else ‘None‘)
    occupationlist.append(list[6] if list[6]!=‘ ?‘ else ‘None‘)
    capital_gainlist.append(list[10] if list[10]!=‘ ?‘ else ‘None‘)
    hours_per_weeklist.append(list[12] if list[12]!=‘ ?‘ else ‘None‘)
    native_countrylist.append(list[13] if list[13]!=‘ ?‘ else ‘None‘)
    classlist.append(list[14] if list[14]!=‘ ?‘ else ‘None‘)
#print(native_countrylist)
dict = {‘age‘:agelist‘marital-status‘:marital_statuslist
        ‘occupation‘:occupationlist‘capital-gain‘:capital_gainlist
        ‘hours-per-week‘:hours_per_weeklist‘native-country‘:native_countrylist‘class‘:classlist}
frame = pd.Dataframe(dict)
#print(frame)


listEurope = [‘ England‘‘ Germany‘‘ Greece‘‘ Italy‘‘ Poland‘‘ Ireland‘‘ France‘‘ Columbia‘‘ Hungary‘
              ‘ Scotland‘‘ Yugoslavia‘‘ Holand-Netherlands‘]
listAsia =[‘ Cambodia‘‘ India‘‘ Japan‘‘ South‘‘ China‘‘ Iran‘‘ Philippines‘‘ Vietnam‘‘ Laos‘‘ Taiwan‘
           ‘ Thailand‘‘ Hong‘]
listNorthAmerica =[‘ United-States‘‘ Puerto-Rico‘‘ Canada‘‘ Outlying-US(Guam-USVI-etc)‘
                   ‘ Cuba‘‘ Jamaica‘‘ Mexico‘‘ Haiti‘‘ Nicaragua‘‘ El-Salvador‘‘ Trinadad&Tobago‘]
listSouthAmerica =[‘ Honduras‘‘ Portugal‘‘ Dominican-Republic‘‘ Ecuador‘‘ Guatemala‘‘ Peru‘]

#欧洲 1,亚洲2,北美洲3,南美洲4
#处理大洲情况

k =0
for a in frame[‘native-country‘]:
    if a in listEurope:
        frame[‘native-country‘][k]=1
    if a in listAsia:
        frame[‘native-country‘][k]=2
    if a in listNorthAmerica:
        frame[‘native-country‘][k]=3    
    if a in listSouthAmerica:
        frame[‘native-country‘][k]=4
    if a == ‘None‘:  #北美洲数量占大部分,可以用来填充缺失值
        frame[‘native-country‘][k]=3    
    k=k+1

#对年龄归约,填充缺失值

frame[‘age‘].fillna(frame[‘age‘].mean)
k=0
for a in frame[‘age‘]:
    if int(a)>=0 and int(a)<10:
        frame[‘age‘][k]=0
    if int(a)>=10 and int(a)<20:
        frame[‘age‘][k]=1
    if int(a)>=20 and int(a)<30:
        frame[‘age‘][k]=2
    if int(a)>=30 and int(a)<40:
        frame[‘age‘][k]=3
    if int(a)>=40 and int(a)<50:
        frame[‘age‘][k]=4
    if int(a)>=50 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      47971  2016-12-20 13:34  adult\Adult Data Set.docx

     文件    3974305  2016-12-20 13:26  adult\adult.data

     文件       5229  2016-12-20 13:26  adult\adult.names

     文件    2003132  2019-01-03 13:17  adult\adult.test

     文件       8257  2019-01-03 14:37  adult\adult1.dot

     文件      47914  2019-01-03 14:37  adult\adult1.pdf

     文件       8257  2019-01-03 14:35  adult\adult2.dot

     文件      48436  2019-01-03 14:35  adult\adult2.pdf

     文件      47910  2019-01-03 14:35  adult\adult3.pdf

     文件        140  2016-12-20 13:26  adult\Index.txt

     文件       4267  2016-12-20 13:26  adult\old.adult.names

     文件       8516  2019-01-03 14:34  adult\untitled0.py

     文件       6544  2019-01-03 13:53  adult\untitled1.py

     文件      14612  2019-01-02 23:58  adult\实验内容.docx

     目录          0  2019-01-06 15:15  adult

----------- ---------  ---------- -----  ----

              6225490                    15


评论

共有 条评论