用python訓練機器學習

//樣本數據
編號,色澤,根蒂,敲聲,紋理,臍部,觸感,密度,含糖率,好瓜  
1,青綠,蜷縮,濁響,清晰,凹陷,硬滑,0.697,0.46,是  
2,烏黑,蜷縮,沉悶,清晰,凹陷,硬滑,0.774,0.376,是  
3,烏黑,蜷縮,濁響,清晰,凹陷,硬滑,0.634,0.264,是  
4,青綠,蜷縮,沉悶,清晰,凹陷,硬滑,0.608,0.318,是  
5,淺白,蜷縮,濁響,清晰,凹陷,硬滑,0.556,0.215,是  
6,青綠,稍蜷,濁響,清晰,稍凹,軟粘,0.403,0.237,是  
7,烏黑,稍蜷,濁響,稍糊,稍凹,軟粘,0.481,0.149,是  
8,烏黑,稍蜷,濁響,清晰,稍凹,硬滑,0.437,0.211,是  
9,烏黑,稍蜷,沉悶,稍糊,稍凹,硬滑,0.666,0.091,否  
10,青綠,硬挺,清脆,清晰,平坦,軟粘,0.243,0.267,否  
11,淺白,硬挺,清脆,模糊,平坦,硬滑,0.245,0.057,否  
12,淺白,蜷縮,濁響,模糊,平坦,軟粘,0.343,0.099,否  
13,青綠,稍蜷,濁響,稍糊,凹陷,硬滑,0.639,0.161,否  
14,淺白,稍蜷,沉悶,稍糊,凹陷,硬滑,0.657,0.198,否  
15,烏黑,稍蜷,濁響,清晰,稍凹,軟粘,0.36,0.37,否  
16,淺白,蜷縮,濁響,模糊,平坦,硬滑,0.593,0.042,否  
17,青綠,蜷縮,沉悶,稍糊,稍凹,硬滑,0.719,0.103,否  

  

#前期整理
# -*- coding: utf-8 -*-
from itertools import islice


def test():
    values = {
        'color': {
            '青綠': 1,
            '烏黑': 2,
            '淺白': 3
        },
        'root': {
            '蜷縮': 1,
            '稍蜷': 2,
            '硬挺': 3
        },
        'sound': {
            '濁響': 1,
            '沉悶': 2,
            '清脆': 3
        },
        'strip': {
            '清晰': 1,
            '稍糊': 2,
            '模糊': 3
        },
        'texture': {
            '凹陷': 1,
            '稍凹': 2,
            '平坦': 3
        },
        'feel': {
            '硬滑': 1,
            '軟粘': 2
        },
        u'label': {
            '是': 1,
            '否': -1
        }
    }
    fileread = file('d://a/xigua.txt', 'r', -1)
    biaotou = fileread.readline().strip('\n').strip(" ").split(",")
    biaotouc = biaotou[1:7] + [biaotou[-1].strip('\n').strip(" ")]
    biaotouEn = ['color', 'root', 'sound', 'strip', 'texture', 'feel', 'label']
    biaotouDict = {}
    for index in range(len(biaotouEn)):
        biaotouDict[biaotouc[index]] = biaotouEn[index]
    res = []
    for eachLine in fileread.readlines():
        eachLineArray = eachLine.split(',')
        reselem = []
        for elemIndex in range(len(eachLineArray)):
            eachLineArrayElemIndexOp=eachLineArray[elemIndex].strip('\n').strip(" ")
            if (biaotouDict.has_key(biaotou[elemIndex])):
                reselem.append(values[biaotouDict[biaotou[elemIndex]]][eachLineArrayElemIndexOp])
            else:
                reselem.append(float(eachLineArrayElemIndexOp))
        res.append(reselem)
    print res
if __name__ == '__main__':
    test()

  

發佈了74 篇原創文章 · 獲贊 3 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章