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

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

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

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

Q&A

解決済

1回答

1717閲覧

sklearnがあるはずなのに動かない...

SmaSTATION

総合スコア29

Python

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

0グッド

0クリップ

投稿2023/05/14 05:36

実現したいこと

sklearnを使用したプログラムを動かしたいです。

前提

・sklearn は「pip3 install sklearn」でインストール済みです。

PS D:\selfpy> pip3 install sklearn Requirement already satisfied: sklearn in c:\users\81904\appdata\local\programs\python\python38-32\lib\site-packages

発生している問題・エラーメッセージ

Traceback (most recent call last): File "d:/selfpy/ch02/count_method_big.py", line 19, in <module> from sklearn.utils.extmath import randomized_svd ModuleNotFoundError: No module named 'sklearn' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "d:/selfpy/ch02/count_method_big.py", line 22, in <module> U,S,V=np.linalg.svd(W) File "<__array_function__ internals>", line 200, in svd File "C:\Users\81904\AppData\Local\Programs\Python\Python38-32\lib\site-packages\numpy\linalg\linalg.py", line 1642, in svd u, s, vh = gufunc(a, signature=signature, extobj=extobj) numpy.core._exceptions.MemoryError: Unable to allocate 763. MiB for an array with shape (10000, 10000) and data type float64 PS D:\selfpy>

該当のソースコード

Python3

1import sys 2sys.path.append("./") 3import numpy as np 4from common.util import most_similar, create_co_matrix, ppmi 5from dataset import ptb 6 7window_size=2 8wordvec_size=100 9 10corpus, word_to_id, id_to_word =ptb.load_data("train") 11vocab_size=len(word_to_id) 12print("counting co-occurrence...") 13C=create_co_matrix(corpus, vocab_size, window_size) 14print("calculating PPMI...") 15W=ppmi(C,verbose=True) 16 17print("calculating SVD...") 18try: 19 from sklearn.utils.extmath import randomized_svd 20 U,S,V=randomized_svd(W,n_components=wordvec_size,n_iter=5,random_state=None) 21except ImportError: 22 U,S,V=np.linalg.svd(W) 23 24word_vecs=U[:, :wordvec_size] 25 26querys=["you", "year", "car", "toyota"] 27for query in querys: 28 most_similar(query, word_to_id, id_to_word, word_vecs, top=5) 29

試したこと

  • すでに、リストで「sklearn」があることは確認。

補足情報(FW/ツールのバージョンなど)

  • 『ゼロから作る Deep Learning 2』のPTBデータセットのとこです。

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

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

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

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

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

jbpb0

2023/05/14 07:37 編集

pythonで > ModuleNotFoundError: No module named 'sklearn' となる状態で、下記のpythonコードを実行して、使ってるpythonの絶対パスを調べてください import sys print(sys.executable) 上記で調べた絶対パスが、たとえば C:\aaa\bbb\python.exe だとしたら、コマンドプロンプトで(pythonが起動してない状態で)下記を実行したら、インポートできるようになると思います (実行する際は、調べた実際のpythonの絶対パスに置き換えてください) C:\aaa\bbb\python.exe -m pip install scikit-learn
SmaSTATION

2023/05/15 04:56

ご返信ありがとうございます。 実行したところ、以下のようになりました。 Collecting scikit-learn Using cached scikit-learn-1.2.2.tar.gz (7.3 MB) Installing build dependencies ... \ ここでしばらく固まってしまうのですが、このあとは「done」などを進める感じなのでしょうか...
jbpb0

2023/05/15 06:53

> Using cached scikit-learn-1.2.2.tar.gz (7.3 MB) wheelではなくソースからインストールしようとしてますね pythonで下記を実行した結果を教えてください import platform print(platform.python_version()) print(platform.platform())
jbpb0

2023/05/22 00:34 編集

> Requirement already satisfied: sklearn in c:\users\81904\appdata\local\programs\python\python38-32\lib\site-packages パス中に「python38-32」とあることから、質問者さんが使ってるのは、おそらく「32bit版のpython 3.8」だと思います scikit-learn 1.1.2では「32bit版のpython 3.8」用のwheel(*.whl)が用意されてます https://pypi.org/project/scikit-learn/1.1.2/#files が、scikit-learn 1.1.3では用意されてません https://pypi.org/project/scikit-learn/1.1.3/#files し、それよりも新しいscikit-learn-1.2.2でも用意されてません https://pypi.org/project/scikit-learn/1.2.2/#files ので、 > Using cached scikit-learn-1.2.2.tar.gz (7.3 MB) と、wheelではなくソースからインストールしようとして、 > ここでしばらく固まってしまう となってるのだと思います C:\aaa\bbb\python.exe -m pip install scikit-learn==1.1.2 のように、「32bit版のpython 3.8」用のwheelが用意されてるバージョンを指定してインストールしたら、すんなりとインストールできるのではないですかね あるいは、もし、32bit版のpythonを使う理由が特に無いのなら、64bit版のpythonを使えばいいと思います
SmaSTATION

2023/05/23 06:44

64にしたらすんなりと受け入れてくれました! ありがとうございます。また、お願いいたします。
guest

回答1

0

ベストアンサー

書籍の説明は存じませんが下記でインストールするのではないでしょうか?

pip install scikit-learn

下記にも説明がありました。
sklearn 0.0.post5
イメージ説明

投稿2023/05/14 07:24

meg_

総合スコア10579

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問