質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

2110閲覧

Pythonのエラー アソシエーション分析がうまくできません

Shin_go

総合スコア19

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/15 13:22

編集2021/09/16 16:22

Pythonのアソシエーション分析で以下のようなエラーがでて困ってます。
解決方法をご存知のかたいらっしゃいますでしょうか。
データフレームのdescribe画像と、前後こコードも貼り付けておきます。
データがすくないからとも思ったのですがどうなのでしょうか。

イメージ説明
イメージ説明

このコードで以下のエラーがでてしまいます。

python

1# リフト(lift)が1以上のルールを抽出する 2rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1) 3# ルールを表示する(リフトの降順) 4rules.sort_values(by = 'lift',ascending=False) 5 6

以下はエラーコードです。

python

1-------------------------------------------------------------------------- 2ValueError Traceback (most recent call last) 3<ipython-input-1558-f5855bb0fdc5> in <module>() 4 1 # リフト(lift)が1以上のルールを抽出する 5----> 2 rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1) 6 3 # ルールを表示する(リフトの降順) 7 4 rules.sort_values(by = 'lift',ascending=False) 8 93 frames 10/usr/local/lib/python3.7/dist-packages/mlxtend/frequent_patterns/association_rules.py in association_rules(df, metric, min_threshold, support_only) 11 127 values = df['support'].values 12 128 frozenset_vect = np.vectorize(lambda x: frozenset(x)) 13--> 129 frequent_items_dict = dict(zip(frozenset_vect(keys), values)) 14 130 15 131 # prepare buckets to collect frequent rules 16 17/usr/local/lib/python3.7/dist-packages/numpy/lib/function_base.py in __call__(self, *args, **kwargs) 18 2106 vargs.extend([kwargs[_n] for _n in names]) 19 2107 20-> 2108 return self._vectorize_call(func=func, args=vargs) 21 2109 22 2110 def _get_ufunc_and_otypes(self, func, args): 23 24/usr/local/lib/python3.7/dist-packages/numpy/lib/function_base.py in _vectorize_call(self, func, args) 25 2184 res = func() 26 2185 else: 27-> 2186 ufunc, otypes = self._get_ufunc_and_otypes(func=func, args=args) 28 2187 29 2188 # Convert args to object arrays first 30 31/usr/local/lib/python3.7/dist-packages/numpy/lib/function_base.py in _get_ufunc_and_otypes(self, func, args) 32 2140 args = [asarray(arg) for arg in args] 33 2141 if builtins.any(arg.size == 0 for arg in args): 34-> 2142 raise ValueError('cannot call `vectorize` on size 0 inputs ' 35 2143 'unless `otypes` is set') 36 2144 37 38ValueError: cannot call `vectorize` on size 0 inputs unless `otypes` is set

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

参考情報として。

ValueError: cannot call vectorize on size 0 inputs unless otypes is set #496にて同一エラーが報告されています。
Introduction to Market Basket Analysis in Pythonのコードを実行しても同一エラーが発生する場合は、ライブラリが原因(古い)可能性があります。

上記のコードではエラー再現しない場合は、コードまたはデータに原因がある可能性があります。
その場合は

  • エラーが再現する入力データ(CSV)
  • 実行可能な(完全な)ソースコード
  • mlxtend, numpyバージョンなど環境に関する情報

などの詳細を記載すると回答得られやすくなります。

投稿2021/09/17 04:47

can110

総合スコア38234

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問