sklearn运用逻辑回归
时间: 2023-12-13 14:02:41 浏览: 90
sklearn是一个强大的Python机器学习库,其中包含了逻辑回归模型的实现。下面是一个简单的例子,演示如何使用sklearn进行逻辑回归:
```python
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_iris
# 加载数据集
iris = load_iris()
# 创建逻辑回归模型
logreg = LogisticRegression()
# 拟合模型
logreg.fit(iris.data, iris.target)
# 预测新数据
X_new = [[3, 5, 4, 2], [5, 4, 3, 2]]
print(logreg.predict(X_new))
```
在这个例子中,我们加载了鸢尾花数据集,创建了一个逻辑回归模型,并使用拟合数据集进行训练。然后,我们使用模型对新数据进行预测。
相关问题
在信用风险评估中,如何使用Sklearn库实现逻辑回归和SVM模型,并进行模型评估?请提供实际代码示例。
在信用风险评估中,逻辑回归和SVM模型的实现是通过对历史信贷数据的分析和学习来进行的。利用Python的Sklearn库可以方便地构建这些模型并进行评估。Sklearn库提供了丰富的API用于构建、训练和评估机器学习模型,其简洁的接口使得开发者可以轻松地实现复杂的机器学习算法。下面将分别介绍如何使用Sklearn库构建逻辑回归和SVM模型,并进行评估。
参考资源链接:[机器学习信用风险评估:逻辑回归与向量机模型应用](https://wenku.csdn.net/doc/5upy209h9m?spm=1055.2569.3001.10343)
首先,逻辑回归模型的实现可以利用Sklearn中的`LogisticRegression`类。在进行模型训练之前,需要对数据进行预处理,包括分割数据集为训练集和测试集、标准化特征等。以下是实现逻辑回归模型的代码示例:
```python
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
# 假设X为特征数据,y为目标变量,即违约与否
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# 特征标准化
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)
# 构建逻辑回归模型
log_reg = LogisticRegression()
log_reg.fit(X_train_scaled, y_train)
# 模型评估
accuracy = log_reg.score(X_test_scaled, y_test)
print(f'逻辑回归模型准确度: {accuracy}')
```
接着,对于支持向量机(SVM)模型,Sklearn中的`SVC`(Support Vector Classifier)类可以用来实现。SVM模型同样需要数据预处理,并且对于SVM来说,选择合适的核函数和参数调优也非常重要。下面是一个简单的SVM模型实现示例:
```python
from sklearn.svm import SVC
# 构建SVM模型
svm_model = SVC(kernel='linear') # 可以选择 'linear', 'rbf', 'poly' 等核函数
svm_model.fit(X_train_scaled, y_train)
# 模型评估
accuracy = svm_model.score(X_test_scaled, y_test)
print(f'SVM模型准确度: {accuracy}')
```
在模型评估方面,除了准确度外,还可以使用混淆矩阵、精确率、召回率、F1分数等指标来更全面地评估模型性能。对于二分类问题,ROC曲线和AUC值是常用的评估方法。
上述代码示例展示了如何使用Sklearn构建和评估逻辑回归和SVM模型的基本流程。为了更深入地理解和应用这些模型,建议参阅《机器学习信用风险评估:逻辑回归与向量机模型应用》这本书。书中不仅包含了丰富的理论知识,还有针对信用风险评估的具体案例分析和模型构建步骤,能够帮助你在实际应用中更有效地运用这些技术,提升信用评分的准确性和可靠性。
参考资源链接:[机器学习信用风险评估:逻辑回归与向量机模型应用](https://wenku.csdn.net/doc/5upy209h9m?spm=1055.2569.3001.10343)
运用DeepWalk 对图进行嵌入并使用逻辑回归进行链路预测的 Python 代码
以下是使用DeepWalk进行图嵌入和逻辑回归进行链路预测的Python代码:
首先,安装依赖库:
```python
!pip install networkx
!pip install gensim
!pip install scikit-learn
```
然后,导入必要的库:
```python
import networkx as nx
import numpy as np
from gensim.models import Word2Vec
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import roc_auc_score, average_precision_score
from sklearn.model_selection import train_test_split
```
接下来,定义函数进行图嵌入:
```python
def graph_embedding(G, dimensions=64, walk_length=30, num_walks=200, workers=4):
walks = []
for node in G.nodes():
for i in range(num_walks):
walks.append(nx.random_walk(G, node, walk_length=walk_length))
embeddings = Word2Vec(walks, size=dimensions, window=10, min_count=0, sg=1, workers=workers)
return embeddings
```
然后,定义函数进行链路预测:
```python
def link_prediction(embeddings, edges):
X = np.array([np.concatenate((embeddings[str(edge[0])], embeddings[str(edge[1])])) for edge in edges])
y = np.array([edge[2] for edge in edges])
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
clf = LogisticRegression(random_state=0)
clf.fit(X_train, y_train)
y_pred = clf.predict_proba(X_test)[:, 1]
roc = roc_auc_score(y_test, y_pred)
ap = average_precision_score(y_test, y_pred)
return roc, ap
```
最后,使用示例:
```python
# 构建图
G = nx.karate_club_graph()
# 添加随机标签
for node in G.nodes():
G.nodes[node]['label'] = np.random.randint(2)
# 构建边列表
edges = []
for edge in G.edges():
label = 1 if G.nodes[edge[0]]['label'] == G.nodes[edge[1]]['label'] else 0
edges.append((edge[0], edge[1], label))
# 进行图嵌入
embeddings = graph_embedding(G)
# 进行链路预测
roc, ap = link_prediction(embeddings, edges)
# 输出结果
print('ROC AUC score:', roc)
print('Average Precision score:', ap)
```
代码说明:
该示例使用了karate_club_graph构建了一个简单的图,并随机为节点添加了标签。然后,使用graph_embedding函数进行图嵌入,生成节点的向量表示。接着,使用link_prediction函数进行链路预测,其中使用了逻辑回归模型。最终,输出ROC AUC和Average Precision两个评价指标的得分。
阅读全文