最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

graphviz 最新安裝教程適用初學(xué)者

 更新時間:2023年02月09日 14:33:32   作者:蠟筆大新home  
Graphviz 是一個自動排版的作圖軟件,可以生成 png pdf 等格式,這篇文章主要介紹了graphviz 2022最新安裝教程適用初學(xué)者,需要的朋友可以參考下

1、首先在官網(wǎng)下載graphviz

下載網(wǎng)址:https://www.graphviz.org/download/

2、安裝。

打開第一步已經(jīng)下載好的軟件。點(diǎn)擊下一步,在安裝路徑選擇時可將安裝路徑修改為 D:\graphviz
接著一直點(diǎn)下一步,即可安裝完成。

3、配置環(huán)境變量

右鍵點(diǎn)擊“我的電腦“”–>選擇“屬性”–>高級系統(tǒng)設(shè)置(滑到最下面)

–>環(huán)境變量–>系統(tǒng)變量中的path(雙擊)

–>將graphviz的安裝路徑下的bin文件添加進(jìn)去。如果你前面安裝的路徑是跟我一樣,直接復(fù)制這個路徑即可D:\graphviz\bin

–>多次點(diǎn)擊確定,完成環(huán)境變量配置,

4、測試

點(diǎn)擊左下角搜索,輸入“cmd”,或者 win+R鍵。
輸入 dot -version (注意dot后面后一個空格)。
若出現(xiàn)dot不是內(nèi)部或外部命令,則表示安裝失敗。

5、再次配置

接下來打開你安裝路徑下bin文件夾下面的config6(選擇打開方式為記事本打開)

將里面內(nèi)容刪除,復(fù)制下面這段代碼,保存即可。

import operator
import math

class DecisionTree:
    def __init__(self):
        pass

    # 加載數(shù)據(jù)集
    def loadData(self):
        # 天氣晴(2),陰(1),雨(0);溫度炎熱(2),適中(1),寒冷(0);濕度高(1),正常(0)
        # 風(fēng)速強(qiáng)(1),弱(0);進(jìn)行活動(yes),不進(jìn)行活動(no)
        # 創(chuàng)建數(shù)據(jù)集
        data = [
            [2, 2, 1, 0, "yes"],
            [2, 2, 1, 1, "no"],
            [1, 2, 1, 0, "yes"],
            [0, 0, 0, 0, "yes"],
            [0, 0, 0, 1, "no"],
            [1, 0, 0, 1, "yes"],
            [2, 1, 1, 0, "no"],
            [2, 0, 0, 0, "yes"],
            [0, 1, 0, 0, "yes"],
            [2, 1, 0, 1, "yes"],
            [1, 2, 0, 0, "no"],
            [0, 1, 1, 1, "no"],
        ]
        # 分類屬性
        features = ["天氣", "溫度", "濕度", "風(fēng)速"]
        return data, features

    # 計算給定數(shù)據(jù)集的香農(nóng)熵
    def ShannonEnt(self, data):
        numData = len(data)  # 求長度
        labelCounts = {}
        for feature in data:
            oneLabel = feature[-1]  # 獲得標(biāo)簽
            # 如果標(biāo)簽不在新定義的字典里創(chuàng)建該標(biāo)簽值
            labelCounts.setdefault(oneLabel, 0)
            # 該類標(biāo)簽下含有數(shù)據(jù)的個數(shù)
            labelCounts[oneLabel] += 1
        shannonEnt = 0.0
        for key in labelCounts:
            # 同類標(biāo)簽出現(xiàn)的概率
            prob = float(labelCounts[key]) / numData
            # 以2為底求對數(shù)
            shannonEnt -= prob * math.log2(prob)
        return shannonEnt

    # 劃分?jǐn)?shù)據(jù)集,三個參數(shù)為帶劃分的數(shù)據(jù)集,劃分?jǐn)?shù)據(jù)集的特征,特征的返回值
    def splitData(self, data, axis, value):
        retData = []
        for feature in data:
            if feature[axis] == value:
                # 將相同數(shù)據(jù)集特征的抽取出來
                reducedFeature = feature[:axis]
                reducedFeature.extend(feature[axis + 1 :])
                retData.append(reducedFeature)
        return retData  # 返回一個列表

    # 選擇最好的數(shù)據(jù)集劃分方式
    def chooseBestFeatureToSplit(self, data):
        numFeature = len(data[0]) - 1
        baseEntropy = self.ShannonEnt(data)
        bestInfoGain = 0.0
        bestFeature = -1
        for i in range(numFeature):
            # 獲取第i個特征所有的可能取值
            featureList = [result[i] for result in data]
            # 從列表中創(chuàng)建集合,得到不重復(fù)的所有可能取值
            uniqueFeatureList = set(featureList)
            newEntropy = 0.0
            for value in uniqueFeatureList:
                # 以i為數(shù)據(jù)集特征,value為返回值,劃分?jǐn)?shù)據(jù)集
                splitDataSet = self.splitData( data, i, value )
                # 數(shù)據(jù)集特征為i的所占的比例
                prob = len(splitDataSet) / float(len(data))
                # 計算每種數(shù)據(jù)集的信息熵
                newEntropy += prob * self.ShannonEnt(splitDataSet)
            infoGain = baseEntropy - newEntropy
            # 計算最好的信息增益,增益越大說明所占決策權(quán)越大
            if infoGain > bestInfoGain:
                bestInfoGain = infoGain
                bestFeature = i
        return bestFeature

    # 遞歸構(gòu)建決策樹
    def majorityCnt(self, labelsList):
        labelsCount = {}
        for vote in labelsList:
            if vote not in labelsCount.keys():
                labelsCount[vote] = 0
            labelsCount[vote] += 1
        sortedLabelsCount = sorted(
            labelsCount.iteritems(), key=operator.itemgetter(1), reverse=True
        )  # 排序,True升序
        # 返回出現(xiàn)次數(shù)最多的
        print(sortedLabelsCount)
        return sortedLabelsCount[0][0]

    # 創(chuàng)建決策樹
    def createTree(self, data, features):
        # 使用"="產(chǎn)生的新變量,實(shí)際上兩者是一樣的,避免后面del()函數(shù)對原變量值產(chǎn)生影響
        features = list(features)
        labelsList = [line[-1] for line in data]
        # 類別完全相同則停止劃分
        if labelsList.count(labelsList[0]) == len(labelsList):
            return labelsList[0]
        # 遍歷完所有特征值時返回出現(xiàn)次數(shù)最多的
        if len(data[0]) == 1:
            return self.majorityCnt(labelsList)
        # 選擇最好的數(shù)據(jù)集劃分方式
        bestFeature = self.chooseBestFeatureToSplit(data)
        bestFeatLabel = features[bestFeature]  # 得到對應(yīng)的標(biāo)簽值
        myTree = {bestFeatLabel: {}}
        # 清空features[bestFeat],在下一次使用時清零
        del (features[bestFeature])
        featureValues = [example[bestFeature] for example in data]
        uniqueFeatureValues = set(featureValues)
        for value in uniqueFeatureValues:
            subFeatures = features[:]
            # 遞歸調(diào)用創(chuàng)建決策樹函數(shù)
            myTree[bestFeatLabel][value] = self.createTree(
                self.splitData(data, bestFeature, value), subFeatures
            )
        return myTree

    # 預(yù)測新數(shù)據(jù)特征下是否進(jìn)行活動
    def predict(self, tree, features, x):
        for key1 in tree.keys():
            secondDict = tree[key1]
            # key是根節(jié)點(diǎn)代表的特征,featIndex是取根節(jié)點(diǎn)特征在特征列表的索引,方便后面對輸入樣本逐變量判斷
            featIndex = features.index(key1)
            # 這里每一個key值對應(yīng)的是根節(jié)點(diǎn)特征的不同取值
            for key2 in secondDict.keys():
                # 找到輸入樣本在決策樹中的由根節(jié)點(diǎn)往下走的路徑
                if x[featIndex] == key2:
                    # 該分支產(chǎn)生了一個內(nèi)部節(jié)點(diǎn),則在決策樹中繼續(xù)同樣的操作查找路徑
                    if type(secondDict[key2]).__name__ == "dict":
                        classLabel = self.predict(secondDict[key2], features, x)
                    # 該分支產(chǎn)生是葉節(jié)點(diǎn),直接取值就得到類別
                    else:
                        classLabel = secondDict[key2]
        return classLabel

if __name__ == "__main__":
    dtree = DecisionTree()
    data, features = dtree.loadData()
    myTree = dtree.createTree(data, features)
    print(myTree)
    label = dtree.predict(myTree, features, [1, 1, 1, 0])
    print("新數(shù)據(jù)[1,1,1,0]對應(yīng)的是否要進(jìn)行活動為:{}".format(label))

最后再次通過cmd測試是否安裝成功。命令:dot -version (同樣注意dot后有一個空格)

出現(xiàn)這段文字。顯示dot版本和路徑,恭喜你安裝成功。

到此這篇關(guān)于graphviz 2022最新安裝教程適用初學(xué)者的文章就介紹到這了,更多相關(guān)graphviz 安裝教程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Python提取文本中含有特定字符串的方法示例

    使用Python提取文本中含有特定字符串的方法示例

    這篇文章主要給大家介紹了關(guān)于如何使用Python提取文本中含有特定字符串的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python基于DB-API操作MySQL數(shù)據(jù)庫過程解析

    Python基于DB-API操作MySQL數(shù)據(jù)庫過程解析

    這篇文章主要介紹了Python基于DB-API操作MySQL數(shù)據(jù)庫過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Python圖像處理二值化方法實(shí)例匯總

    Python圖像處理二值化方法實(shí)例匯總

    這篇文章主要介紹了Python圖像處理二值化方法實(shí)例匯總,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • python中?conda?虛擬環(huán)境管理和jupyter內(nèi)核管理

    python中?conda?虛擬環(huán)境管理和jupyter內(nèi)核管理

    這篇文章主要介紹了python中?conda?虛擬環(huán)境管理和jupyter內(nèi)核管理,文章基于pyhton以及conda的虛擬環(huán)境創(chuàng)建、刪除、jupyter添加、刪除虛擬kernel的方法,需要的朋友可以參考一下
    2022-04-04
  • python selenium對應(yīng)的瀏覽器chromedriver版本不一致問題

    python selenium對應(yīng)的瀏覽器chromedriver版本不一致問題

    這篇文章主要介紹了python selenium對應(yīng)的瀏覽器chromedriver版本不一致問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • Python 的七個HTTP請求庫對比小結(jié)

    Python 的七個HTTP請求庫對比小結(jié)

    本文主要介紹了Python 的七個HTTP請求庫對比小結(jié),文中通過圖表,示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • 簡單了解Python matplotlib線的屬性

    簡單了解Python matplotlib線的屬性

    這篇文章主要介紹了簡單了解Python matplotlib線的屬性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-06-06
  • Python圖像處理庫PIL的ImageFont模塊使用介紹

    Python圖像處理庫PIL的ImageFont模塊使用介紹

    這篇文章主要介紹了Python圖像處理庫PIL的ImageFont模塊使用介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Python文件名匹配與文件復(fù)制的實(shí)現(xiàn)

    Python文件名匹配與文件復(fù)制的實(shí)現(xiàn)

    這篇文章主要介紹了Python文件名匹配與文件復(fù)制的實(shí)現(xiàn),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • 詳談python中subprocess shell=False與shell=True的區(qū)別

    詳談python中subprocess shell=False與shell=True的區(qū)別

    這篇文章主要介紹了詳談python中subprocess shell=False與shell=True的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04

最新評論

随州市| 香河县| 阿鲁科尔沁旗| 封丘县| 娄底市| 武汉市| 宁化县| 梁平县| 元阳县| 海晏县| 米脂县| 荔浦县| 金乡县| 武义县| 中超| 米林县| 轮台县| 石门县| 新余市| 翼城县| 弥渡县| 云和县| 偏关县| 金沙县| 新建县| 延川县| 南丰县| 江口县| 柳河县| 丹棱县| 土默特左旗| 广平县| 永丰县| 军事| 徐汇区| 随州市| 岚皋县| 陈巴尔虎旗| 鲁甸县| 务川| 江源县|