【发布时间】:2020-10-16 05:22:23
【问题描述】:
我正在尝试为如下所示的数据集制作一个简单的逻辑回归程序:https://imgur.com/a/dJvb8Si
我的程序应该对数据集使用逻辑回归,并输出一些关于回归结果的信息。使用示例我制作了以下代码:
import matplotlib.pyplot as plt
from scipy import stats
import pandas as pd
col_names = ['id', 'diagnosis', 'radius_mean', 'texture_mean', 'perimeter_mean', 'area_mean', 'smoothness_mean','compactness_mean', 'symmetry_se', 'perimeter_worst', 'smoothness_worst', 'concavity_worst']
# load dataset
data = pd.read_csv("DatasetTest.csv", header=None, names=col_names)
data.head()
feature_cols = ['diagnosis', 'radius_mean','texture_mean','perimeter_mean','area_mean', 'smoothness_mean','compactness_mean', 'symmetry_se', 'perimeter_worst','smoothness_worst', 'concavity_worst']
X = data[feature_cols]
y = data.diagnosis
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.25,random_state=0)
from sklearn.linear_model import LogisticRegression
logreg = LogisticRegression()
logreg.fit(X_train,y_train)
y_pred=logreg.predict(X_test)
from sklearn import metrics
cnf_matrix = metrics.confusion_matrix(y_test, y_pred)
cnf_matrix
运行代码时出现此错误:
无法将字符串转换为浮点数:'concavity_worst'
在 stackoverflow 上找不到类似的问题。经过研究,我发现函数 fit() 显然不能接受字符串。但我不确定如何将字符串转换为浮点数。在进行了一些谷歌搜索后,我仍然找不到适合这种情况的解决方案。
【问题讨论】:
-
data.dtypes输出什么? -
@OllieinPGH 这将输出以下内容:诊断 int64、radius_mean int64、texture_mean float64、perimeter_mean float64、area_mean float64、smoothness_mean float64、compactness_mean float64、symbolic_se float64、perimeter_worst float64、smoothness_worst float64、concavity_worst float64、dtype:对象
标签: python data-science logistic-regression