【机器学习基础】逻辑回归——LogisticRegression (5)

【机器学习基础】逻辑回归——LogisticRegression

   举个例子,比如w1=-2,w2=2,b=-1,四个点的都是二维的,每个维度转换后的如图所示:

【机器学习基础】逻辑回归——LogisticRegression

            

【机器学习基础】逻辑回归——LogisticRegression

          

【机器学习基础】逻辑回归——LogisticRegression

   然后再将x1',x2'作为输入,利用LogisticRegression进行分类,如图所示:

【机器学习基础】逻辑回归——LogisticRegression

                    

【机器学习基础】逻辑回归——LogisticRegression

  了解神经网络的应该到这里就可以看出来,上面的结构就是神经网络的结构,前半部分是特征提取部分,后半部分是分类的过程。如图所示:

 

【机器学习基础】逻辑回归——LogisticRegression

  那么里边涉及到的参数w1、w2、b以及LR中的参数w3、w4、b2在神经网络中通过训练数据,可以一起被学习。

到这里LR的理论部分已经介绍完毕了,主要将其与概率生成模型和神经网络联系起来,下面主要对Lr涉及的主函数进行实现一下,然后利用数据集,采用Sklearn自带的LR方法进行实现。

 7.LogisticRegression实现

  数据来源于李宏毅老师的homework,数据下载地址:https://pan.baidu.com/s/1r07WmyRceBrXvEEKQ_3a-Q,提取码:t7pp

  数据描述的是不同属性人群的收入情况,feature是人物属性,label为收入情况,首先要对数据集进行转换,将非数值型数据都转换为数值型,然后数据分为训练集和测试集:

import numpy as npfrom sklearn.preprocessing import LabelEncoder import pandas as pd import matplotlib.pyplot as plt from sklearn.model_selection import train_test_split from sklearn.linear_model import LogisticRegression data = pd.read_csv('./train.csv', encoding='utf-8') data = data[data['native_country'] != ' ?'] none_scalar = ['workclass', 'education', 'marital_status', 'occupation', 'relationship', 'race', 'sex', 'native_country'] label_encoder = LabelEncoder() income = label_encoder.fit_transform(np.array(list(data['income']))) data['income'] = income onehot_encoded_dic = {} for key in none_scalar: temp_data = np.array(list(data[key])) label_encoder = LabelEncoder() integer_encoded = label_encoder.fit_transform(temp_data) onehot_encoded_dic[key] = integer_encoded feature_list = data.columns.to_list() data_set = [] for i in range(len(data)): temp_vector = [] for j in range(len(feature_list)): if feature_list[j] in onehot_encoded_dic.keys(): temp_vector.extend(onehot_encoded_dic[feature_list[j]][i]) else: temp_vector.append(data.iloc[i, j]) data_set.append(temp_vector) data_set = np.array(data_set) np.random.shuffle(data_set) trainX, testX, trainY, testY = train_test_split(data_set[:, :-1], data_set[:, -1], test_size=0.3)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjzyx.html