为了账号安全,请及时绑定邮箱和手机立即绑定

导入 CSV,为逻辑回归重塑变量数组

导入 CSV,为逻辑回归重塑变量数组

炎炎设计 2022-10-06 18:41:43
我希望每个人都在 COVID-19 大流行中保持安全。我是 Python 新手,有一个关于将数据从 CSV 导入 Python 以进行简单逻辑回归分析的快速问题,其中因变量是二元的,自变量是连续的。我导入了一个 CSV 文件,然后希望使用一个变量(Active)作为自变量,另一个变量(Smoke)作为响应变量。我能够将 CSV 文件加载到 Python 中,但每次我尝试生成逻辑回归模型来预测来自运动的烟雾时,我都会收到一个错误,即运动必须重新整形为一列(二维),因为它目前是一列维度。import matplotlib.pyplot as pltimport numpy as npimport pandas as pdfrom sklearn.linear_model import LogisticRegressionfrom sklearn.metrics import classification_report, confusion_matrixdata = pd.read_csv('Pulse.csv') # Read the data from the CSV filex = data['Active'] # Load the values from Exercise into the independent variablex = np.array.reshape(-1,1)y = data['Smoke'] # The dependent variable is set as Smoke我不断收到以下错误消息:83. 102. 102. 106. 79. 80. 79. 110. 144. 80. 97. 60. 80. 108. 107. 51. 68. 80. 80. 60. 64. 87. 110. 110. 82. 154. 139. 86. 95. 112. 120. 79. 64. 84. 65. 60. 79. 79. 70. 75. 107. 78. 74. 80. 121. 120. 96. 75. 106. 88. 91. 98. 63. 95. 85. 83. 92. 81. 89. 103. 110. 78. 122. 122. 71. 65. 92. 93. 88. 90. 56. 95. 83. 97. 105. 82. 102. 87. 81.]。如果您的数据具有单个特征,则使用 array.reshape(-1, 1) 重塑您的数据,如果它包含单个样本,则使用 array.reshape(1, -1) 。89. 103. 110. 78. 122. 122. 71. 65. 92. 93. 88. 90. 56. 95. 83. 97. 105. 82. 102. 87. 81.]。如果您的数据具有单个特征,则使用 array.reshape(-1, 1) 重塑您的数据,如果它包含单个样本,则使用 array.reshape(1, -1) 。89. 103. 110. 78. 122. 122. 71. 65. 92. 93. 88. 90. 56. 95. 83. 97. 105. 82. 102. 87. 81.]。如果您的数据具有单个特征,则使用 array.reshape(-1, 1) 重塑您的数据,如果它包含单个样本,则使用 array.reshape(1, -1) 。以下是包含错误的完整更新代码(2020 年 4 月 12 日): *我无法将错误日志输入到此文档中,因此我已将其复制并粘贴到此公共 Google 文档中:https://docs.google。 com/document/d/1vtrj6Znv54FJ4Zvv211TQvvCN6Ac5LDaOfvHicQn0nU/edit?usp=sharing此外,这里是 CSV 文件: https ://drive.google.com/file/d/1g_-vPNklxRn_3nlNPsR-IOflLfXSzFb1/view?usp=sharing
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

下面的代码应该可以工作:


import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

from sklearn.linear_model import LogisticRegression

from sklearn.metrics import classification_report, confusion_matrix

data = pd.read_csv('Pulse.csv')

x = pd.DataFrame(data['Smoke'])

y = data['Smoke']

lr = LogisticRegression()

lr.fit(x,y)

p_pred = lr.predict_proba(x)

y_pred = lr.predict(x)

score_ = lr.score(x,y)

conf_m = confusion_matrix(y,y_pred)

report = classification_report(y,y_pred)


print(score_)

0.8836206896551724


print(conf_m)

[[204   2]

 [ 25   1]]


查看完整回答
反对 回复 2022-10-06
?
四季花海

TA贡献1811条经验 获得超5个赞

尝试这个:


import matplotlib.pyplot as plt

import numpy as np

import pandas as pd

from sklearn.linear_model import LogisticRegression

from sklearn.metrics import classification_report, confusion_matrix


data = pd.read_csv('Pulse.csv') # Read the data from the CSV file

x = data['Active'] # Load the values from Exercise into the independent variable

y = data['Smoke'] # The dependent variable is set as Smoke


lr = LogisticRegression().fit(x.values.reshape(-1,1), y)


查看完整回答
反对 回复 2022-10-06
  • 2 回答
  • 0 关注
  • 110 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信