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

Performing logistic regression analysis in python using sklearn

我正在尝试执行逻辑回归分析,但我不知道我的代码中的哪一部分有误。它在 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. 您的 headers 第一行末尾有一个 ';'。所以它将阅读一个额外的专栏。您需要在 churn.
  2. 之后删除 ';'
  3. 您在此处尝试使用的训练数据 X_train 将包含多个 text/categorical 列。您需要将这些转换成数字。在此处查看 OneHotEncoder:https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.OneHotEncoder.html and LabelEncoder here: https://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.LabelEncoder.html

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