机器学习之回归算法2

机器学习之回归算法2

模型的保存和加载

在这里插入图片描述

逻辑回归

公式

在这里插入图片描述

损失函数

在这里插入图片描述

代码实现

import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report

def logistic():
    column = ['Sample code number', 'Clump Thickness', 'Uniformity of Cell Size']
    data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/breast-cancer-wisconsin.names', names=column)
    print(data)
    data.replace(to_place='?', value=np.nan)
    data = data.dropna()
    x_train, x_test, y_train, y_test = train_test_split(data[column[1:3]], data[column[3]], test_size=0.25)
    std = StandardScaler()
    x_train = std.fit_transform(x_train)
    x_test = std.transform(x_test)
    lg = LogisticRegression(c=1.0)
    lg.fit(x_train, y_train)
    print(lg.coef_)
    y_predict = lg.predict(x_test)
    print('准确率', lg.score(x_test, y_test))
    print('召回率', classification_report(y_test, y_predict, labels=[2, 4], target_names=['良性', '恶性']))
    return

logistic()

优缺点

在这里插入图片描述

逻辑回归与朴素贝叶斯对比

在这里插入图片描述

聚类评估准则

在这里插入图片描述

在这里插入图片描述

Kmeans优缺点

在这里插入图片描述

代码实现

import pandas as pd
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
from sklearn.metrics import silhouette_score

prior = pd.read_csv('~.csv')
products = pd.read_csv('~.csv')
orders = pd.read_csv('~.csv')
aisles = pd.read_csv('~.csv')
_mg = pd.merge(prior, products, on=['product_id', 'product_id'])
_mg = pd.merge(_mg, orders, on=['order_id', 'order_id'])
mt = pd.merge(_mg, aisles, on=['aisle_id', 'aisle_id'])
cross = pd.crosstab(mt['user_id'], mt['aisle'])
pca = PCA(n_components=0.9)
data = pca.fit_transform(cross)
km = KMeans(n_clusters=4)
x = data[:500]
km.fit(x)
predict = km.predict(x)
plt.figure(figsize=(10, 10))
colored = ['orange', 'blue', 'purple', 'green']
colr = [colored[i] for i in predict]
plt.scatter(x[:1], x[:20], color=colr)
plt.xlabel('1')
plt.xlabel('20')
plt.show()
# 聚类效果轮廓系数
silhouette_score(x, predict)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值