遭遇した再生のPythonの構文の非互換性「マシンは、本物を学びます」

一般的な問題(エラーが頻繁に発生しました)

1.例外TypeError:非ハッシュの種類:「リスト
」 のソリューションリファレンス:TypeError例外:タイプの非ハッシュ:「リストのソリューション。
2.モジュールの競合
機能を使用する場合、モジュール名と相まって。
次のように紛争解決モジュールでの経験は、次のとおりです。

import os 
import numpy
os.listdir()
np.tile()

第3章ディシジョン・ツリー

  1. 「dict_keys」オブジェクトは、添字化ではありません
     - firstStr = myTree.keys()[0] # 根结点 
     + firstStr = list(myTree.keys())[0] # 根结点  
    
  2. UnicodeDecodeError:「UTF-8」CODEC CANないデコードバイトは0x80の位置0で:スタートバイトが無効
    P50「マシンは本物を学びます」
     # 决策树的存储
    def storeTree(inputTree,filename):
    	import pickle
        fw = open(filename,'w')
        pickle.dump(inputTree,fw)
       	fw.close()
    def grabTree(filename):
         import pickle
      	fr = open(filename)
      	return pickle.load(fr)
    
    読みます:
     # 决策树的存储
    def storeTree(inputTree,filename):
    	import pickle
        fw = open(filename,'wb')
        pickle.dump(inputTree,fw)
       	fw.close()
    def grabTree(filename):
        import pickle
      	fr = open(filename,'rb')
      	return pickle.load(fr)
    

第9章回帰木

  1. 9.2すべてのデータのバイナリデータ分割機能binSplitDataSetは()ではなく除算よりも小さなミス、最初の返されたデータを、表示されます
    def binSplitDataSet(dataSet,featIndex,value):
    mat0 = dataSet[np.nonzero(dataSet[:,featIndex]>value)[0],:][0] # 返回大于value的下标
    mat1 = dataSet[np.nonzero(dataSet[:,featIndex]<=value)[0],:][0]
    return mat0,mat1;
    
    読みます:
    def binSplitDataSet(dataSet,featIndex,value):
    mat0 = dataSet[np.nonzero(dataSet[:,featIndex]>value)[0],:] # 返回大于value的下标
    mat1 = dataSet[np.nonzero(dataSet[:,featIndex]<=value)[0],:]
    return mat0,mat1;
    
    / 2:サポートされていないオペランドタイプ(S)はTypeError:「マップ」と「INT」
    マップ法とINT内部P161のloadDataSet()関数修飾対応する互換性がありません。
    def loadDataSet(fileName):
    dataMat = []
    fr = open(fileName)
    for line in fr.readlines():
        curLine = line.strip().split('\t')
        floatLine = []
        for num in curLine:
            floatLine.append(float(num))  
        #floatLine = map(float,curLine) 
        # map() 会根据提供的函数对指定序列做映射。
        dataMat.append(floatLine)
    return np.mat(dataMat)
    
    3.TypeError:非ハッシュタイプ:「マトリックス」溶液に
    コードの行を有するP164回帰ツリー分割機能は、for splitVal in set(dataSet[:,featIndex]):非ハッシュ型エラーが報告されるであろう。
    :に修飾された
    for splitVal in set(dataSet[:,featIndex].T.A.tolist()[0]):
    説明:のdataSet Aは[:、featIndex]は列ベクトルであり、それは行ベクトルの転置になり、その後、アレイにそれを回す、アレイはこの時間がなり、この時間が与えられるTypeError: unhashable type: 'numpy.ndarray'誤差を、次いでToListメソッド()メソッドは、リストにそれを回す、その後、自身まだあるインデックス[0]を追加する必要があります。
公開された79元の記事 ウォン称賛37 ビュー8882

おすすめ

転載: blog.csdn.net/SinclairWang/article/details/104139559