/images/avatar.png

vllbc

Logistic Regression

导入包

import numpy as np
import pandas as pd

导入数据

data = pd.read_csv("./datasets/Social_Network_Ads.csv")
data.head()
User ID Gender Age EstimatedSalary Purchased
0 15624510 Male 19 19000 0
1 15810944 Male 35 20000 0
2 15668575 Female 26 43000 0
3 15603246 Female 27 57000 0
4 15804002 Male 19 76000 0
X = data.iloc[:,[2,3]].values
Y = data.iloc[:,4].values

交叉验证

from sklearn.model_selection import train_test_split
X_train,X_test,Y_train,Y_test = train_test_split(X,Y,train_size=1/4,random_state=0)

标准化

from sklearn.preprocessing import StandardScaler
standardscaler = StandardScaler()
X_train = standardscaler.fit_transform(X_train)
X_test = standardscaler.transform(X_test)

训练模型

from sklearn.linear_model import LogisticRegression
model = LogisticRegression()
model.fit(X_train,Y_train)
LogisticRegression()

模型得分

model.score(X_test,Y_test)
0.7933333333333333

相关系数

皮尔逊相关系数

假设检验

步骤与概率论中假设检验的步骤一样。主要是统计量的构造

\[ t = r\sqrt{\frac{n-2}{1-r^2}} \] t为服从自由度为n-2的t分布

假设检验的条件

  1. 实验数据通常假设是成对的来自于正态分布的总体
  2. 实验数据之间差距不能太大
  3. 每组样本之间是独立抽样的。

对数据进行正态分布检验

JB检验

斯皮尔曼相关系数

公式

\[ r_s = 1 - \frac{6\sum_{i=1}^nd_i^2}{n(n^2-1)} \]

决策树

参考:https://cuijiahua.com/blog/2017/11/ml_2_decision_tree_1.html

《机器学习》周志华

决策树

决策树是什么?决策树(decision tree)是一种基本的分类与回归方法。举个通俗易懂的例子,如下图所示的流程图就是一个决策树,长方形代表判断模块(decision block),椭圆形成代表终止模块(terminating block),表示已经得出结论,可以终止运行。从判断模块引出的左右箭头称作为分支(branch),它可以达到另一个判断模块或者终止模块。我们还可以这样理解,分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点(node)和有向边(directed edge)组成。结点有两种类型:内部结点(internal node)和叶结点(leaf node)。内部结点表示一个特征或属性,叶结点表示一个类。蒙圈没??如下图所示的决策树,长方形和椭圆形都是结点。长方形的结点属于内部结点,椭圆形的结点属于叶结点,从结点引出的左右箭头就是有向边。而最上面的结点就是决策树的根结点(root node)。这样,结点说法就与模块说法对应上了,理解就好。

分类算法概述

分类算法

主要区分一下生成模型和判别模型,首先要知道生成模型和判别模型都属于监督学习,即样本有其对应的标签的。还有一个概念就是硬分类和软分类,简单理解就是硬分类是直接分出类别,比如线性判别分析、感知机。而软分类是计算出概率,根据概率来得到类别,生成模型和判别模型都是软分类。

灰色关联分析

灰色关联分析进行系统分析

灰色关联分析主要用于数据量较小,即样本较少的情况,别的情况使用回归分析等常规方法就可以。

步骤

1.画统计图 画图后配上简单的分析。 2.确定分析数列 (1)母序列(又叫参考数列、母指标):能反映系统行为特征的数据序列。类似于因变量Y (2)子序列(又叫比较数列、子指标):影响系统行为的因素组成的数据序列。类似于自变量X 3.对变量进行预处理(去量纲、缩小变量范围简化计算) 对母序列、子序列中的每个指标进行预处理,先求出每个指标的均值,然后用每个元素除以这个均值 4.计算子序列中各个指标与母序列的关联系数 记\(a=min min\mid x_0(k) - x_i(k) \mid\)为两极最小差 \(b=maxmax\mid x_0(k) - x_i(k) \mid\)为两极最大差 定义

一些学习资料

一些我常用的学习的网站和书籍

编程前的准备

在编程之前需要哪些准备,这个讲座讲了我们学习编程缺失的课程

大学里的计算机课程通常专注于讲授从操作系统到机器学习这些学院派的课程或主题,而对于如何精通工具这一主题则往往会留给学生自行探索。在这个系列课程中,我们讲授命令行、强大的文本编辑器的使用、使用版本控制系统提供的多种特性等等。学生在他们受教育阶段就会和这些工具朝夕相处(在他们的职业生涯中更是这样)。 因此,花时间打磨使用这些工具的能力并能够最终熟练地、流畅地使用它们是非常有必要的。

BM25

BM25算法

BM25算法,通常用来作搜索相关性平分。一句话概况其主要思想:对Query进行语素解析,生成语素qi;然后,对于每个搜索结果D,计算每个语素qi与D的相关性得分,最后,将qi相对于D的相关性得分进行加权求和,从而得到Query与D的相关性得分。