使用sklearn在python中执行逻辑回归分析



我正在尝试执行逻辑回归分析,但我不知道我的代码中错了哪一部分。它在线路logistic_regression.fit(X_train, y_train)上给出错误。但我从不同的来源核实了一下,这似乎还可以。有人能帮忙吗?这是我的代码:

import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
df = pd.read_csv("/Users/utkusenel/Documents/Data Analyzing/data.csv", header=0, sep=";")
data = pd.DataFrame(df)
x = data.drop(columns=["churn"])  #features
y = data.churn  # target variable
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=0)
logistic_regression = LogisticRegression()
logistic_regression.fit(X_train, y_train)

这里有多个问题。

  1. 第一行标头的末尾有一个';'。所以它将读一个额外的专栏。您需要在churn之后删除该';'
  2. 您试图在这里使用的训练数据X_train将具有多个文本/分类列。你需要把这些转换成数字。点击此处查看OneHotEncoder:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html和LabelEncoder:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html

将文本和分类数据转换为数字并删除额外的';'分隔符后,再次运行算法。

相关内容