sklearn的简单逻辑回归会产生IndexError

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

我正在尝试使用数据集(CSV文件:https://drive.google.com/file/d/1EbW22jvbnI0i8JnHC5TqiWemQpbV1zOd/view?usp=sharing)生成简单的逻辑回归模型。尝试生成分类图时,会生成回溯错误,原因尚不清楚。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler 
Titanic_data = pd.read_csv('Titanic_noNAN.csv')
x = pd.DataFrame(Titanic_data['Age'])
y = pd.DataFrame(Titanic_data['Survived'])
xtrain, xtest, ytrain, ytest = train_test_split(x, y, test_size = 0.25, random_state = 0) 

from sklearn.preprocessing import StandardScaler 
sc_x = StandardScaler() 
xtrain = sc_x.fit_transform(xtrain)  
xtest = sc_x.transform(xtest)

from sklearn.linear_model import LogisticRegression 
classifier = LogisticRegression(random_state = 0) 
classifier.fit(xtrain, ytrain) 

y_pred = classifier.predict(xtest) 

from matplotlib.colors import ListedColormap 
X_set, y_set = xtest, ytest

X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1,  
stop = X_set[:, 0].max() + 1, step = 0.01), 
np.arange(start = X_set[:, 1].min() - 1,  
stop = X_set[:, 1].max() + 1, step = 0.01)) 

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-253-7e103a17b07d> in <module>
4 X1, X2 = np.meshgrid(np.arange(start = X_set[:, 0].min() - 1,  
5                                stop = X_set[:, 0].max() + 1, step = 0.01), 
----> 6                      np.arange(start = X_set[:, 1].min() - 1,  
7                                stop = X_set[:, 1].max() + 1, step = 0.01)) 
8 

IndexError: index 1 is out of bounds for axis 1 with size 1
python scikit-learn statistics classification logistic-regression
1个回答
0
投票

您想绘制什么? X_set是您的xtest预测,仅是Age值,因此X_set只有1列...

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