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

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

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

JupyterLabは、Jupyter notebookの後継の対話型開発環境(IDE)です。データの可視化がインタラクティブで、プラグイン作成により新しいコンポーネントの追加および既存のコンポーネントも統合可能。サーバに閉じているため、データ分析に向いています。

Python

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

受付中

Pythonのimblearnについて

XoVhs
XoVhs

総合スコア1

JupyterLab

JupyterLabは、Jupyter notebookの後継の対話型開発環境(IDE)です。データの可視化がインタラクティブで、プラグイン作成により新しいコンポーネントの追加および既存のコンポーネントも統合可能。サーバに閉じているため、データ分析に向いています。

Python

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

1回答

0評価

0クリップ

171閲覧

投稿2022/07/10 15:45

pythonで以下の記述を行うとimportエラーが出てしまいます。
対処法を教えていただきたいです。

記述:
from imblearn.under_sampling import RandomUnderSampler

エラー:
ImportError: cannot import name 'DistanceMetric' from 'sklearn.metrics'

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

usekay

2022/07/10 21:55 編集

import sklearnは同じようなエラーになりますか? なる場合はsklearnがインストールされていないためまずそちらをインストールしてください。
jbpb0

2022/07/10 22:12

インストールしてる「imbalanced-learn」と「scikit-learn」のバージョンは、それぞれいくつでしょうか? もし「imbalanced-learn」の最新バージョンをインストールしてるなら、インストールしてる「scikit-learn」のバージョンが https://pypi.org/project/imbalanced-learn/ の「Dependencies」に書かれてる条件を満たしてるか確認してください
XoVhs

2022/07/11 02:26

お二人とも回答ありがとうございます。 バージョンはそれぞれ scikit-learn 1.1.0 imbalanced-learn 0.9.1 で、上記要件を満たしていると思うのですが、エラーが出てしまいます。
jbpb0

2022/07/11 03:46 編集

> scikit-learn 1.1.0 pythonで下記を実行して、表示されるバージョンが上記と合ってるか確認してみてください import sklearn print(sklearn.__version__) 表示されるバージョンが合ってる場合は、以下に進んでください (合ってない場合は、以下に進んでも意味はありません) pythonで、下記は実行できますでしょうか? from sklearn import metrics print(metrics.__file__) 上記が実行できたら、 /どこか/site-packages/sklearn/metrics/__init__.py のような「__init__.py」というファイルのパスが表示されるはずなので、そのファイルをテキストエディタで開いてください > scikit-learn 1.1.0 ならば、テキストエディタで開いた「__init__.py」の内容は、 https://github.com/scikit-learn/scikit-learn/blob/1.1.0/sklearn/metrics/__init__.py と同じはずですが、それの39行目の from ._dist_metrics import DistanceMetric は、テキストエディタで開いた「__init__.py」にありますでしょうか?
usekay

2022/07/11 03:58

sklearn.metricsを直接インポートできますか?
XoVhs

2022/07/11 04:21

回答ありがとうございます。 > import sklearn print(sklearn.__version__) 上記を実行したところ、0.24.2と表示され、バージョンが異なりました。 pip install --upgrade scikit-learn を実行したのですが、 pip listで確認した場合は1.1.0となっており、printで見た場合は変化がありませんでした。
jbpb0

2022/07/11 05:58 編集

> pip listで確認 と同じ状態で pip show scikit-learn を実行してください いろいろ表示される中に「Location:」で始まる行がありますので、そこに書かれてるパスを記録してください そこに1.1.0が入ってます 次に、 pythonで下記を実行してください import sklearn print(sklearn.__file__) そうしたら、 /どこか/site-packages/sklearn/__init__.py みたいなパスが表示されます そのあたりに0.24.2が入ってます それの「/sklearn/__init__.py」よりも左の部分は、「pip show...」で記録したパスと違いますよね?
XoVhs

2022/07/11 12:58

何度もすみません。回答していただきありがとうございます。 確認してみたのですが、「/sklearn/__init__.py」よりも左の部分は同じパスになっていました・・・ しかし、再度バージョンを確認しても変化はありませんでした。
jbpb0

2022/07/12 12:33 編集

pythonで from sklearn import metrics print(metrics.__file__) を実行したら、 /どこか/site-packages/sklearn/metrics/__init__.py のような「__init__.py」というファイルのパスが表示されますが、それの「/sklearn/metrics/__init__.py」よりも左の部分は、先に調べた「pip show...」で記録したパスと同じでしょうか? また、上記で表示されたパス /どこか/site-packages/sklearn/metrics/__init__.py の「__init__.py」というファイルをテキストエディタで開いて、内容を調べてください > scikit-learn 1.1.0 ならば、テキストエディタで開いた「__init__.py」の内容は https://github.com/scikit-learn/scikit-learn/blob/1.1.0/sklearn/metrics/__init__.py と同じはずですが、それの39行目の from ._dist_metrics import DistanceMetric は、テキストエディタで開いた「__init__.py」にありますでしょうか? もし「__init__.py」にその行が無いなら、そこにあるのは1.1.0ではありませんが、 pip show scikit-learn ではそこに1.1.0が有るように表示されるのなら、pipが管理してる情報が壊れてるように思います (「pip install --upgrade scikit-learn」がうまくいってない)

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

JupyterLab

JupyterLabは、Jupyter notebookの後継の対話型開発環境(IDE)です。データの可視化がインタラクティブで、プラグイン作成により新しいコンポーネントの追加および既存のコンポーネントも統合可能。サーバに閉じているため、データ分析に向いています。

Python

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