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

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

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

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

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

Q&A

1回答

4021閲覧

Pythonでの配列の圧縮

HiruLow

総合スコア55

Python

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

ArrayList

Java用のタグです。arrayListはListインターフェースを実装した、リサイズ可能な配列用クラスです。

0グッド

0クリップ

投稿2018/11/20 10:27

◆目的
1次元の配列を特定数インデックスに圧縮したい
用途としては機械学習にてテキストをベクトル化し、機械学習のモデルデータとしての利用

◆例
以下のようなベクトルが有った場合、この値を2つに圧縮したい

Arr=[1,-0.5,1,0.4,0.5,0.2,-0.64,-0.1.2] ↓ Arr=[-0.1,0.3]

方法が有りましたらご教授願います

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

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

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

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

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

guest

回答1

0

「次元削減」で検索すると色々出てきます。情報をできるだけ保ったままベクトルの次元を下げる方法はいろいろあります(代表的なものとして、たとえば主成分分析などがあります)。

やりたいことがあまりよく理解できないので、これが適切な回答なのかどうかはわかりませんが・・・

投稿2018/11/20 11:15

hayataka2049

総合スコア30933

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

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

HiruLow

2018/11/20 12:27

回答ありがとうございます 具体的には、word2vecに登録されているモデルデータのベクトルを機械学習の学習データとして使いたいと思っております。 ただ、現時点ではモデルに格納されているベクトルが300次元の配列な為ちょっと大きすぎるので圧縮したいと考えています。 pca等も考慮しましたが、pcaでは複数の同次元数配列をfit_transformに渡す必要が有り、word2vecにより取得されたShape(300,1)の配列では圧縮が不可能な為困っております。
hayataka2049

2018/11/20 12:31

300次元ならそこまで大きくもない気がしますが、どんな重たいモデルを使うつもりですか? また、word2vecのベクトルはどちらかといえばうまく次元削減しづらい印象があります(むしろモデル作成の段階で小さい次元として学習させるべき。既存のモデルを使うなら仕方ありませんが)。 機械学習の学習データにするのなら通常は複数のデータからなるデータセット(shape=(n_samples, 300)かな)を渡して学習させると思うので、うまくいくかは別としてPCAで取り扱えると思います。
HiruLow

2018/11/20 12:40

別で学習用のデータを他にも4次元程用意しており、これら配列と300次元の配列データを一緒に学習させた場合どうも結果が良く無かったとゆう結果になっています。(学習時には、各データを0~1の値にし隠れ層で一緒に重み付けを行っています) ただhayataka2049さんの言うように得に問題ないとの事なので、AI側のモデル構造を見直した方がいいのでしょうか・・ 一緒に学習させるべきではなくモデルを分離し後半でマージする等を考えているのですが
hayataka2049

2018/11/20 12:50

ごめんなさい、全体像が見えないので理解できていません。機械学習を使ってどんなことをするのが目的で、何が特徴量で、何がターゲット(目的変数)で、どんなモデルを使って学習させるのかを順番に書いてください。
HiruLow

2018/11/20 13:00

すいません記述が足りませんでした 機能としましては、テキストを学習値として、クラス分類を行う機能を作りたいと考えています。 目的としては Target=["other","money","days"] 等のいくつかのクラス項目を自動識別するものとし Data=["こんにちわ","100$","二十円","二十年四月","月とすっぽん"] 等のデータを学習用データとして使うものになります。
hayataka2049

2018/11/20 13:04 編集

クラス項目を自動識別する、って単純な教師あり学習ではない気がするのですが、一体どんな処理ですか? また、 Data=["こんにちわ","100$","二十円","二十年四月","月とすっぽん"] はこれ1つで1つの文書(テキスト)を表現するということでしょうか? それとも、リストの要素それぞれが1テキストでしょうか? word2vecはどうやって使うのですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問