質問: answer: ok += 1 total += 1 print("正解率:", ok, "/", total, "=", ok / total) ``` 上記のコードを実行すると、以下のエラーが出力されます。 Traceback (most recent call last): File "xor-train.py", line 2, in from sklearn import svm File "C:\Users\usr\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\*init*.py", line 76, in from .base import clone File "C:\Users\usr\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\base.py", line 16, in from .utils import _IS_32BIT File "C:\Users\usr\AppData\Local\Programs\Python\Python37\lib\site-packages\sklearn\utils\*init*.py", line 13, in from scipy.sparse import issparse File "C:\Users\usr\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\sparse\*init*.py", line 230, in from .csr import * File "C:\Users\usr\AppData\Local\Programs\Python\Python37\lib\site-packages\scipy\sparse\csr.py", line 13, in from ._sparsetools import (csr_tocsc, csr_tobsr, csr_count_blocks, ImportError: DLL load failed: 指定されたモジュールが見つかりません。 エラーを見る限り、sk-learnのモジュールが見つからないようです。 こちらを参考にして、以下のコマンドを実行しました。 pip uninstall numpy pip install --upgrade --force-reinstall "numpy-1.17.1-cp37-cp37m-win_amd64.whl" しかし、 WARNING: Requirement 'numpy-1.17.1+mkl-cp35-cp35m-win_amd64.whl' looks like a filename, but the file does not exist ERROR: numpy-1.17.1+mkl-cp35-cp35m-win_amd64.whl is not a supported wheel on this platform. というエラーが出てくるだけで、実行できないようです。 四苦八苦していたのですが、元のコードで、1行目に「import pandas as pd」を入れたらエラーが出てこなくなって実行できるなど、 動きがよく分かりません。 原因等、分かる方がおられましたら宜しくお願いいたします。
回答: mkl版のnumpyを使いたいということでしょうかね。 であれば、初めにこちらのサイトよりnumpyのビルド済みのパッケージをダウンロードしてください。 > > お使いの Python のバージョンが 3.7.4 とのことですので、対応するパッケージは**numpy‐1.17.1+mkl‐cp37‐cp37m‐win_amd64.whl** (64bit)か**numpy‐1.17.1+mkl‐cp37‐cp37m‐win32.whl** (32bit) あたりとなります。 > > > あとはダウンロードしたファイルのあるフォルダ上で ``` pip uninstall numpy pip install numpy-1.17.1-cp37-cp37m-win_arm64.whl ``` のようにファイル名を指定することでダウンロードしたパッケージをインストールできるかと思います。(上は64bitの記述となります) あと補足ですが、numpy を上記のmklビルド済みパッケージを使った場合、numpyに依存するパッケージ(scipy/scikit_learn)も上記のサイトからダウンロードした whl ファイルを使ってインストールした方が良いかと思います。