导入错误:无法从“sklearn.utils”导入名称“_get_column_indices”

问题描述 投票:0回答:1

尝试为 RandomOverSampler 导入 imblearn.over_sampling 时出现导入错误。我相信问题不在于我的代码,而在于库冲突,但我不确定。

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from sklearn.preprocessing import StandardScaler    #actually scikit-learn
from imblearn.over_sampling import RandomOverSampler

使用 StandardScaler 和 RandomOverSampler 的代码:

def scale_dataset(dataframe, oversample=False):
    X = dataframe[dataframe.columns[:-1]].values
    Y = dataframe[dataframe.columns[-1]].values

    scaler = StandardScaler() 
    X = scaler.fit_transform(X) 

    if oversample:
        ros = RandomOverSampler()
        X, Y = ros.fit_resample(X,Y) 
    data = np.hstack((X, np.reshape(Y, (-1, 1))))
    return data, X, Y

print(len(train[train["class"]==1]))
print(len(train[train["class"]==0]))

train, X_train, Y_train = scale_dataset(train, True)

我尝试完全导入sklearn,卸载并重新安装scipi和sklearn(作为scikit-learn),安装Tensorflow。 我确实安装了 numpy、scipy、pandas 和其他依赖库。

python machine-learning scikit-learn imblearn
1个回答
0
投票

您可以尝试以下特定版本,因为它们有效


pip install scikit-learn==0.24.2 imbalanced-learn==0.8.0

© www.soinside.com 2019 - 2024. All rights reserved.