#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2018/4/4 19:22
# @Author : HJH
# @Site :
# @File : mul_logistics.py
# @Software: PyCharm
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from numpy import *
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
import pickle
#从文件中加载数据:特征X,标签label
def loadDataSet():
digits=load_iris()
X_train = digits.data[:-20,:]
y_train = digits.target[:-20]
# print(y_train.shape)
X_test = digits.data[-20:,:]
y_test =digits.target[-20:]
return X_train,y_train,X_test,y_test
def plot():
fig = plt.figure()
data = load_iris()
x_index = 0
y_index = 1
colors = ['blue', 'red','green']
# plt.subplot(211)
for label, color in zip(range(len(data.target_names)), colors):
plt.scatter(data.data[data.target == label, x_index],
data.data[data.target == label, y_index],
label=data.target_names[label],
c=color)
plt.xlabel(data.feature_names[x_index])
plt.ylabel(data.feature_names[y_index])
plt.legend(loc='upper left')
plt.show()
def main():
X_train, y_train, X_test, y_test=loadDataSet()
lr_model=LogisticRegression()
lr_model.fit(X_train,y_train)
y_pred=lr_model.predict(X_test)
print(accuracy_score(y_test,y_pred))
with open('./log.pkl','wb') as f:
pickle.dump(lr_model,f)
# digits = load_iris()
# with open('./log.pkl','rb') as f:
# model=pickle.load(f)
# random_index=np.random.randint(0,100,5)
# random_samples=digits.data[random_index,:]
# random_targets=digits.target[random_index]
# random_pred=model.predict(random_samples)
# print(random_pred)
# print(random_targets)
if __name__=='__main__':
main()
plot()
机器学习/深度学习入门:sklearn实现多分类逻辑回归
最新推荐文章于 2024-11-28 21:47:53 发布