FMToros
FMToros

Reputation: 1

Python HMM AttributeError

I have been working from a tutorial for HMM but when I run the code at this part it gives me an AttributeError. I don't know why. What can I try to resolve this?

# build the markov transition grid

def build_transition_grid(compressed_grid, unique_patterns):
    patterns = []
    counts = []
    for from_event in unique_patterns:

        # how many times 
        for to_event in unique_patterns:
            pattern = from_event + ',' + to_event # MMM,MlM

            ids_matches = compressed_grid[compressed_grid['Event_Pattern'].str.contains(pattern)]
            found = 0
            if len(ids_matches) > 0:
                Event_Pattern = '---'.join(ids_matches['Event_Pattern'].values)
                found = Event_Pattern.count(pattern)
            patterns.append(pattern)
            counts.append(found)

    # create to/from grid
    grid_Df = pd.DataFrame({'pairs':patterns, 'counts': counts})

    grid_Df['x'], grid_Df['y'] = grid_Df['pairs'].str.split(',', 1).str
    grid_Df.head()

    grid_Df = grid_Df.pivot(index='x', columns='y', values='counts')

    grid_Df.columns= [col for col in grid_Df.columns]
    del grid_Df.index.name

    # replace all NaN with zeros
    grid_Df.fillna(0, inplace=True)
    grid_Df.head()

    #grid_Df.rowSums(transition_dataframe) 
    grid_Df = grid_Df / grid_Df.sum(1)
    return (grid_Df)
 
    grid_pos = build_transition_grid(compressed_set_pos, unique_patterns) 
    grid_neg = build_transition_grid(compressed_set_neg, unique_patterns)

Error Message:

<ipython-input-33-225a1f52baba>:22: FutureWarning: Columnar iteration over characters will be deprecated in future releases.
  grid_Df['x'], grid_Df['y'] = grid_Df['pairs'].str.split(',', 1).str
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-33-225a1f52baba> in <module>
     36     return (grid_Df)
     37 
---> 38 grid_pos = build_transition_grid(compressed_set_pos, unique_patterns)
     39 grid_neg = build_transition_grid(compressed_set_neg, unique_patterns)

<ipython-input-33-225a1f52baba> in build_transition_grid(compressed_grid, unique_patterns)
     26 
     27     grid_Df.columns= [col for col in grid_Df.columns]
---> 28     del grid_Df.index.name
     29 
     30     # replace all NaN with zeros

AttributeError: can't delete attribute

Upvotes: 0

Views: 80

Answers (1)

Jamiu S.
Jamiu S.

Reputation: 5721

Assign None to the index.name instead.

Change

del grid_Df.index.name

To

grid_Df.index.name = None

Upvotes: 1

Related Questions