首页 > 解决方案 > 使用 StandardScaler Python 出错

问题描述

我正在尝试为 Logistic 回归扩展我的训练和测试数据,但弹出一个错误。

我在这个堆栈中实现了答案:如何标准缩放 3D 矩阵?

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

df = pd.read_csv('GonzagaTakers.csv')

x_df=df.loc[:, df.columns !='Remarks_P']
features = x_df.keys()
target = 'Remarks_P'

X = df[features]
y = df[target]

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=101)

scalers ={}
for i in range(X_train.shape[1]):
    scalers[i] = StandardScaler()
    X_train[:, :, i]=scalers[i].fit_transform(X_train[:, :, i])

for i in range(y_test.shape[1]):
    y_test[:,:,i]=scalers[i].fit_transform(y_test[:,:,i])


_model = LogisticRegression(class_weight='balanced')

_model.fit(X_train, y_train)

accuracy = _model.score(X_test, y_test) * 100

此行发生错误

X_train[:, :, i]=scalers[i].fit_transform(X_train[:, :, i])

TypeError: '(slice(None, None, None), slice(None, None, None), 0)' 是无效键

标签: pandas

解决方案


推荐阅读