zoukankan      html  css  js  c++  java
  • Python 最简实现逻辑回归,针对二维数据进行机器学习

    话不多说,直接上代码

     1 '''
     2 logistic regression
     3 '''
     4 
     5 #导入需要的包
     6 import pandas as pd
     7 #建立数据集
     8 from collections import OrderedDict
     9 #是否通过考试用0和1表示,0表示未通过,1表示通过。
    10 examDict={'学习时间':[0.50,0.75,1.00,1.25,1.50,1.75,1.75,2.00,2.25,
    11                  2.50,2.75,3.00,3.25,3.5,4.00,4.25,4.50,4.75,5.00,5.50],
    12          '通过考试':[0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1]}
    13 # 使用OrderedDict会根据放入元素的先后顺序进行排序。所以输出的值是排好序的
    14 examOrderDict=OrderedDict(examDict)
    15 examDf=pd.DataFrame(examOrderDict)
    16 # examDf.head()
    17 #在机器学习编码中变量命名在变量后面加一个大写的X表示特征,y表示标签,通过后缀就可以看出哪些是特征和标签。
    18 #获取特征
    19 '''
    20 loc——通过行标签索引行数据 
    21 iloc——通过行号索引行数据 
    22 ix——通过行标签或者行号索引行数据(基于loc和iloc 的混合)
    23 '''
    24 exam_X=examDf.loc[:,'学习时间']
    25 #获取标签
    26 exam_y=examDf.loc[:,'通过考试']
    27 #建立训练数据和测试数据
    28 from sklearn.model_selection import train_test_split
    29 X_train,X_test,y_train,y_test=train_test_split(exam_X,exam_y,test_size=.2)
    30 #导入sklearn包逻辑回归函数
    31 from sklearn.linear_model import LogisticRegression
    32 #创建逻辑回归模型
    33 model=LogisticRegression(solver='liblinear')
    34 #训练模型
    35 '''
    36 机器学习包sklearn要求输入的特征必须是一个二维数组的类型,这里只有一个特征,
    37 需要进行重塑,否则会报错,因此对训练数据和测试数据的特征进行重塑。
    38 '''
    39 X_train=X_train.values.reshape(-1,1)
    40 X_test=X_test.values.reshape(-1,1)
    41 model.fit(X_train,y_train)
    42 
    43 #可以用model的predict_proba方法预测给定学习时间是否通过考试的概率
    44 # model.predict_proba(3)
    45 print(model.predict_proba([[5]]))
  • 相关阅读:
    关于 Mercury_Lc 说明
    Java 对象和类
    Java int 与 Integer 区别
    Java Number & Math 类
    HTML | CSS | JavaScript 常见错误
    B. Heaters ( Codeforces Round #515 (Div. 3) )
    A. Vova and Train ( Codeforces Round #515 (Div. 3) )
    数据结构实验之排序四:寻找大富翁(SDUT 3401)
    JavaScript 与 Java
    A. The Fair Nut and Elevator (Codeforces Round #526 (Div. 2))
  • 原文地址:https://www.cnblogs.com/smartisn/p/12357645.html
Copyright © 2011-2022 走看看