logistic回归 python代码
时间: 2023-10-11 18:06:10 浏览: 104
好的,下面是一个简单的 logistic 回归的 Python 代码:
# 导入需要的库
import numpy as np
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
# 读取数据
data = pd.read_csv("data.csv")
# 准备数据
X = data.iloc[:, :-1]
y = data.iloc[:, -1]
# 数据切分,70% 作为训练数据,30% 作为测试数据
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
# logistic回归模型训练
lr = LogisticRegression()
lr.fit(X_train, y_train)
# 预测并计算准确率
y_pred = lr.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print("Accuracy:", accuracy)
请注意,这只是一个基础的示例,实际应用中可能需要更多的数据处理、特征工程、调参等操作。
相关问题
Logistic回归python代码
Logistic回归的Python代码如下:
```python
import numpy as np
# 加载数据集
def loadDataSet():
dataMat = []
labelMat = []
fr = open('testSet.txt')
for line in fr.readlines():
lineArr = line.strip().split()
dataMat.append([1.0,float(lineArr[0]),float(lineArr[1])])
labelMat.append(int(lineArr[2]))
return dataMat,labelMat
# Sigmoid函数
def sigmoid(inX):
return 1.0 / (1 + np.exp(-inX))
# 梯度上升算法
def gradAscent(dataMatIn, classLabels):
dataMatrix = np.mat(dataMatIn)
labelMat = np.mat(classLabels).transpose()
m, n = np.shape(dataMatrix)
alpha = 0.001
maxCycles = 500
weights = np.ones((n,1))
for k in range(maxCycles):
h = sigmoid(dataMatrix * weights)
error = labelMat - h
weights = weights + alpha * dataMatrix.transpose() * error
return weights
# 测试代码
dataMat,labelMat = loadDataSet()
weights = gradAscent(dataMat, labelMat)
print(weights)
```
logistic回归python代码
以下是一个简单的使用 Python 和 scikit-learn 库实现逻辑回归的代码示例:
```
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
# 加载 iris 数据集
iris = load_iris()
X, y = iris.data, iris.target
# 创建逻辑回归模型
clf = LogisticRegression()
# 训练模型
clf.fit(X, y)
# 预测
y_pred = clf.predict(X)
# 评估准确率
accuracy = clf.score(X, y)
print("Accuracy: ", accuracy)
```
这段代码使用了 scikit-learn 库中的逻辑回归模型,并使用 iris 数据集进行了简单的训练和预测。
请注意,这只是一个示例,在实际应用中应该使用交叉验证来评估模型的性能。
阅读全文