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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

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

Q&A

2回答

2045閲覧

作成したデータセットで機械学習

退会済みユーザー

退会済みユーザー

総合スコア0

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

機械学習

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

0グッド

0クリップ

投稿2017/07/26 08:22

編集2017/07/27 08:18

###前提・実現したいこと
テキストデータからtf-idf値が一定値以上の単語を抜き出し、そのデータをデータセットとして機械学習モデルに渡し、ジャンルを出力させるプログラムを作成したいと思っています。

現在、そのためのデータセットを準備しようとしている段階で、プログラム起動時にテキストファイル名と単語を絞り込むための数値を入力し、入力された数値以上のtf-idf値をもつ単語を[単語,tf-idf値]のリストとして作成するところまで実装ができました。

このデータセットを用いて機械学習のモデルを作成したいのですが、どのように作成すればよいのかが、身近に機械学習をじっそうしたことのある人がいないため、1からアドバイスをいただきたいです。

###作成途中のコード

python

1# -*- coding: utf-8 -*- 2#keywordリスト作成 3#指定したテキストファイル(日本語は分かち書きされたもののみ)に対応 4 5import numpy as np 6from sklearn.feature_extraction.text import CountVectorizer 7from sklearn.feature_extraction.text import TfidfTransformer 8 9#CountVectorizer():文書ごとの単語の出現頻度を取得 10count = CountVectorizer() 11 12#文書を指定 13doc = input('select file(ex,○○.txt):') 14doc_name = doc 15with open(doc, encoding = 'utf-8') as f: 16 #改行文字を空白に置き換える 17 doc = [f.read().replace('\n', ' ')] 18f.close() 19 20#絞り込みの基準を設定 21level = float(input('set level(0.0 <= level <= 1.0):')) 22 23#文書を表示 24print('\n%s:%s\n' %(doc_name, doc)) 25 26#N種類の文字列を0からN-1までの整数に置き換える 27bag = count.fit_transform(doc) 28TF = bag.toarray() 29 30#ディクショナリを表示 31dic = count.get_feature_names() 32print('dictionary:%s\n' %dic) 33 34#各単語のインデックスを表示 35print('index:%s\n' %count.vocabulary_) 36 37#TfidfTransformer:(文書内の)TF-IDFを計算 38tfidf = TfidfTransformer(use_idf = True, norm = 'l2', smooth_idf = True) 39np.set_printoptions(precision = 2) 40TF_IDF = tfidf.fit_transform(bag).toarray() 41 42my_dic = [] 43 44#keywordを表示 45for idx, word, in zip(*np.where(level <= TF_IDF)): 46 print('keyword:%s, TF-IDF:%s'%(dic[word], TF_IDF[(idx, word)])) 47 my_dic.append(list([(dic[word], TF_IDF[(idx, word)])])) 48 49#データセットを表示 50print(my_dic) 51

###補足情報
説明不足なところがあると思うので、不明なところがあれば質問をしていただけるとありがたいです。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/07/27 04:44 編集

私にはtf-idf関係の話はできませんので、teratailで助けてもらうためのヘルプを書きます。 全くゼロでここまできたわけではなく、今まで何かしらのWEBサイトや文献を読まれたのではないでしょうか?それをここで見せて、「ここまでは自力で覚えて、ここまではわかるようになった。その上でこう説明してあるけれども、ここの部分が(どのように)わからないので教えてほしい」「こういうサンプル(実例を表示)があるけれども、期待通りに動かないのがどういう理由か教えてほしい(現状と理想のアウトプットイメージを並べる)」というような内容のほうが良いと思います。>1からアドバイスをいただきたいです。 恐らく、皆様は「1から」ではなく、「せめて2や3まで自力で覚えた(または覚える努力をしている)」、という部分を期待しているのだ、と思います。
_Victorique__

2017/07/27 05:33

質問を消さないで自分の間違いを認めたらどうですか?間違いを認められない人ほど見ていられないものはないですよ
guest

回答2

0

このコードでは、そもそも1文書しか入れていないのでTF-IDFの測りようがありません。IDFとは何だと思っていますか?

ジャンルとは具体的に何ですか?
ラベルデータはあるのですか?
機械学習モデルとは具体的に何を想定しているのですか?ルールでもいいのでしょうか?
単語データはBoWで扱うのですか?それとも、分散表現で扱いますか?

このままだと丸投げという点には同意です。

投稿2017/07/28 04:02

MasashiKimura

総合スコア1150

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

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

0

テキストデータからtf-idf値が一定値以上の単語を抜き出し

この部分をあなたは理解しているのでしょうか?
あなたは少々機械学習に対する知識がなさすぎるように見えますのでここで質問する前にもう少し機械学習の勉強をして知識をつけて来てください。
このままですとただの丸投げになってしまいます。

投稿2017/07/26 08:58

_Victorique__

総合スコア1392

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

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

退会済みユーザー

退会済みユーザー

2017/07/26 21:46

心配していただけるのはありがたいのですが、このサイトは分からないことを質問するためのサイトだと思うので、分からないことを分からないと質問することは間違っているのでしょうか。 私がいただきたいのはお説教ではなくアドバイスです。 お説教しかいただくことができないのであれば、あなたの時間をこのようなことに使うべきではないと思うます。
_Victorique__

2017/07/27 01:31

私が指摘している部分は理解できているのでしょうか?出来ていないのに回答しても理解できませんよね? それとも私に全部一から教えろと? そういうのを丸投げって言うんですよ。
退会済みユーザー

退会済みユーザー

2017/07/27 04:00

別にあなたに答えてもらおうとは思っていません。 文句を言いたいだけなら放っておいていただけませんか? 1からアドバイスをいただきたいだけで、1からのアドバイス「だけ」をいただきたいわけではありません。 あなたには知識や技術があるから腹が立っているのは理解できます。 ただ、知識も技術もない私にはこういうサイトで相談するしかないのです。
_Victorique__

2017/07/27 04:05

> 知識も技術もない私にはこういうサイトで相談するしかないのです。 テラテイルはなんでも教えてくれるサイトではありません。一から手取り足取り教えてくれる人が現れればいいですね
LouiS0616

2017/07/27 04:05

最低限のことは調べませんか? 「こうこう言うことをしたい。ネットや書籍で調べてみると、Aという手法とBという手法があった。自分で検討した結果、Aを使ってみたい。しかし、自分ではこれ以上のことを調べられなかった。Aを実装するために参考になるサイトやライブラリはありませんか?」 これが最低限の質問です。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問