错误:ValueError('%r 不能用于播种 numpy.random.RandomState')

数据挖掘 机器学习 scikit-学习 机器学习模型
2022-02-13 11:07:14

我在尝试为isolationForest 算法拟合模型时收到此错误消息。

raise ValueError('%r cannot be used to seed a numpy.random.RandomState'

下面是我的代码:

 import numpy as np
 import matplotlib.pyplot as plt
 from sklearn.ensemble import IsolationForest
 import pandas as pd

np.random.RandomState(1234)
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import LabelEncoder
df = pd.read_csv('E://Market_dat.csv',names=['EVENT_DT', 'MARKET_NAME', 'Duration', 'TOTAL_COUNTS'],skiprows=1,index_col=0)
for column in df.columns:
if df[column].dtype == type(object):
    le = LabelEncoder()
    df[column] = le.fit_transform(df[column])
    np.random.get_state()

X_train, X_test = train_test_split(df, test_size=0.3)
print(X_test)
print(X_train)
X_outliers = rng.uniform(low=-4, high=4, size=(20, 2))
clf = IsolationForest(behaviour='new', max_samples=100,
                      random_state=df, contamination='auto')
clf.fit(X_train)

任何人都可以就我为什么会收到此错误提供任何见解吗?

1个回答

因为您正在创建一个IsolationForest初始化random_statepandas.DataFrame. random_state将其解释为 的代码文档

random_state :int,RandomState 实例或无,可选(默认=无)。如果是 int,则 random_state 是随机数生成器使用的种子;如果是 RandomState 实例,则 random_state 是随机数生成器;如果为 None,则随机数生成器是 RandomState 使用的实例np.random