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

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

新規登録して質問してみよう
ただいま回答率
85.48%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

1回答

238閲覧

2列のcsvを2変数のdefに入れられない

TarouKotani

総合スコア42

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2017/12/11 00:42

下記のbayes_test.pyを実行すると、以下のようなエラーが出ており、
必要な引数は2つに対し、csvを2列で取り込んでいるのでうまくいくはずのところを、
「カテゴリーという変数が足りない」と表示されます。

csvの取り込みのプロセスで、基礎的なミスがあるのでしょうか?
ご返答いただけましたら幸いです。
よろしくお願いいたします。

Traceback (most recent call last):
File "bayes_test.py", line 11, in <module>
bf.fit(line)
TypeError: fit() missing 1 required positional argument: 'category'

python

1**bayes_test.py** 2from bayes import BayesianFilter 3import csv 4 5bf = BayesianFilter() 6# テキストを学習 7data = [] 8with open('format.csv', 'r', encoding='utf-8') as fp: 9 lines = csv.reader(fp) 10 for line in lines: 11 data.append(line) 12 bf.fit(line) 13pre, scorelist = bf.predict("点検") 14print("結果=", pre) 15print(scorelist) 16 17**bayes.py** 18# テキストを学習する --- (※3) 19 def fit(self, text, category): 20 """ テキストの学習 """ 21 word_list = self.split(text) 22 for word in word_list: 23 self.inc_word(word, category) 24 self.inc_category(category)

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

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

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

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

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

guest

回答1

0

実際にすべてのデータが1行辺り2個の要素で構成されていることは確認されているでしょうか?
下記ループ処理部分のどのタイミング(ループ開始直後 or 途中)にもよりますが、まずはlineが意図した形(この場合なら、len(line)==2でしょうか)とか、print(line)でどうなってるか、を確認するのが良いと思います。
pycharm等の統合開発環境をお使いなら、例外発生時の各変数の状態を確認するのが楽です。

python

1 for line in lines: 2 data.append(line) 3 bf.fit(line)

回答修正しときます↓
上記呼び出し部分、おかしかったですね。
既に他の方が回答されてる通り、bf.fit(line[0], line[1])で呼び出すかbf.fit(*line)で呼び出さないといけませんでした(後者はlen(line)==2が保証されないとエラーになりますが)。。。

投稿2017/12/11 01:49

編集2017/12/11 01:56
diningyo

総合スコア379

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問