深度学习:sklearn实现LR(逻辑回归)算法实例笔记

1.环境:ubuntu ,python3.4,pycharm
2.数据格式:

深度学习:sklearn实现LR(逻辑回归)算法实例笔记_第1张图片
3.源码:

import sklearn

import numpy as np
import pandas as pd
from sklearn.cross_validation import train_test_split
from sklearn.linear_model import LogisticRegression

'''
特征归一化:
    各特征之间的大小范围一致,才能使用距离度量等算法
    加速梯度下降算法的收敛
    在SVM算法中,一致化的特征能加速寻找支持向量的时间
    不同的机器学习算法,能接受的输入数值范围不一样
'''
'''
sklearn中最常用的特征归一化方法MinMaxScaler和StandardScaler。
它默认将每种特征的值都归一化到[0,1]之间,归一化后的数值大小范围是可调的(根据MinMaxScaler的参数feature_range调整)。
下面代码将特征归一化到[-1,1]之间。
'''

min_max_scaler = sklearn.preprocessing.MinMaxScaler(feature_range=(-1,1))
df = pd.read_csv("data.csv")
df.columns=["grade1","grade2","label"]

X = df[["grade1","grade2"]]
X = np.array(X)

#fit_transform(partData)对部分数据先拟合fit,找到该part的整体指标,如均值、方差、最大值最小值等等(根据具体转换的目的),然后对该partData进行转换transform,从而实现数据的标准化、归一化等等。。
X = min_max_scaler.fit_transform(X)

#lambda生成匿名函数
#. map(func,seq) 就是将函数作用在序列的每个元素上,然后创建由函数返回值组成的列表。
#. map(lambda x: x % mydict, mylist),遍历mylist每个元素,执行lambda函数,并返回一个列表
# TRIM ;

y1 = df["label"]
Y = df["label"].map(lambda y1:float(y1.rstrip(";")))
Y = np.array(Y)

X_train,X_test, Y_train, Y_test = train_test_split(X,Y,test_size=0.33)

#下面开始调用sklearn的训练LR函数

clf = LogisticRegression()
clf.fit(X_train,Y_train)

#score校验
score = clf.score(X_test,Y_test)
print ("sklearn-score",score)

#进行预测
pre_Y = clf.predict(X_test)
print("pre_Y:",pre_Y)
print("val_Y:",Y_test)

————————————————————————————————————————————————

#PS画图函数

#importmatplotlib.pyplot as plt 

Plot的图表函数

plt.plot(x,y , fmt)  :绘制坐标图

plt.boxplot(data, notch, position): 绘制箱形图

plt.bar(left, height, width, bottom) : 绘制条形图

plt.barh(width, bottom, left, height) : 绘制横向条形图

plt.polar(theta, r) : 绘制极坐标图

plt.pie(data, explode) : 绘制饼图

plt.scatter(x, y) :绘制散点图

plt.hist(x, bings, normed) : 绘制直方图



你可能感兴趣的:(学习笔记)