<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kasiko的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kasiko</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kasiko]]></copyright><item><title><![CDATA[python 实现假设检验]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/108110836</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/108110836</guid><author>kasiko</author><pubDate>Wed, 19 Aug 2020 21:23:04 +0800</pubDate><description><![CDATA[假设检验步骤

建立原假设H0 和 备假设 H1
确定检验统计量
确定拒绝区域
用样本计算z分数 or t分数 以及 p值
接受原假设或者拒绝原假设

利用sklearn里的iris数据做假设验证
# 导入数据
iris = datasets.load_iris()
X = iris.data 
y = iris.target
iris.target_names
&gt;&gt; ['setosa', 'versicolor', 'virginica']
iris.feature_names
&gt;&gt]]></description><category></category></item><item><title><![CDATA[游戏数据分析报告--＜野蛮时代＞]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107617110</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107617110</guid><author>kasiko</author><pubDate>Mon, 27 Jul 2020 18:23:23 +0800</pubDate><description><![CDATA[游戏数据分析报告
数据来源：DC游戏玩家付费金额预测大赛
数据包含近229万条记录和109个字段。
比赛任务是用前7天数据预测前45天付费金额，
本篇博客主要关注在数据探索分析。
一些重要字段:

bd_stronghold_level：要塞等级，相当于游戏账号等级
register_time: 注册时间
pay_price: 付费金额
avg_online_minutes: 在线时长
pvp_battle_count: 人人对战次数
pvp_win_count: 人人对战胜利次数
pve_battle_c]]></description><category></category></item><item><title><![CDATA[依存句法分析（NLTK--stanford parser）]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107610328</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107610328</guid><author>kasiko</author><pubDate>Mon, 27 Jul 2020 14:15:05 +0800</pubDate><description><![CDATA[依存句法分析

句法分析（syntactic parsing）是自然语言处理中的关键技术之一，它是对输入的文本句子进行分析以得到句子的句法结构的处理过程。对句法结构进行分析，一方面是语言理解的自身需求，句法分析是语言理解的重要一环，另一方面也为其它自然语言处理任务提供支持。例如句法驱动的统计机器翻译需要对源语言或目标语言（或者同时两种语言）进行句法分析；语义分析通常以句法分析的输出结果作为输入以便获得更多的指示信息。


parser和model的下载地址
NLTK 中的parse模块已经将斯坦福大学句法分]]></description><category></category></item><item><title><![CDATA[多样本t值检验:分析样本均值与总体均值的不同]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107591126</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107591126</guid><author>kasiko</author><pubDate>Sun, 26 Jul 2020 11:44:01 +0800</pubDate><description><![CDATA[单样本t检验
目的：分析样本均值与总体均值的不同
比较分布: t分布
标准差: σ=SN−1\sigma = \frac{S}{\sqrt{N-1}}σ=N−1​S​
样本t值: t = x‾−μσ\frac{\overline{x}-\mu}{\sigma }σx−μ​
自由度: N-1;  α\alphaα (小概率事件)

例题:
新闻报道某大学学生平均学习时间是2.5小时，要核实这个数字对不对，随机采访了16个学生， 平均学习时间是3.2小时，方差是0.57，新闻报道是否正确？

step1:
H1]]></description><category></category></item><item><title><![CDATA[Kaggle PUBG吃鸡数据集--数据分析可视化]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107549140</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107549140</guid><author>kasiko</author><pubDate>Thu, 23 Jul 2020 22:40:50 +0800</pubDate><description><![CDATA[PUBG数据集
数据集分为两个部分
数据集1：
agg数据： 15 字段

date: 时间
game_size:队伍数量
match_id:比赛
match_mode: 对局模式（第一人称还是第三人称）
party_size：组队模式（单人赛、双人赛、四人赛）
player_assists：助攻次数
player_dbno：击倒人数
player_dist_ride：载具移动距离
player_dist_walk：行走距离
player_dmg：伤害数值
player_kills：击杀人数
player_]]></description><category></category></item><item><title><![CDATA[leetcode打家劫社简单实现--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107444789</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107444789</guid><author>kasiko</author><pubDate>Sun, 19 Jul 2020 14:23:35 +0800</pubDate><description><![CDATA[给定一个数组代表每家的金钱:
[1, 2, 0, 4, 6]
不可以抢劫相邻两家的金钱， 可以抢劫相隔的两家， 求最大值
1+0+6 = 7
2+4 = 6
max = 7
思路：
动态规划， 遍历数组, 当i =2 时， 比较 dp[i-2] + dp[i]  和 dp[i-1]， 选择大的更新dp数组
def robber(arr):
  if len(arr) == 0:
    return None
  elif len(arr) == 1:
    return arr[0]
  else:
 ]]></description><category></category></item><item><title><![CDATA[买卖股票的最佳时机简单实现--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107442523</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107442523</guid><author>kasiko</author><pubDate>Sun, 19 Jul 2020 11:16:15 +0800</pubDate><description><![CDATA[买卖股票的最佳时机
给定一个数组:
[7, 1, 3, 5, 6]
输出最大利润
5
思路：
初始化最大利润0
找到 i 时刻 i 左边的最小值， 用i-最小值更新最大利润
def stocking(arr):
  minp = arr[0]
  maxprofit = 0
  for i in arr:
    minp = min(minp, i)
    maxprofit = max(maxprofit, i-minp)
  return maxprofit

test = [7, 1, 2, 4,]]></description><category></category></item><item><title><![CDATA[链表中间节点简单实现--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107442083</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107442083</guid><author>kasiko</author><pubDate>Sun, 19 Jul 2020 10:55:27 +0800</pubDate><description><![CDATA[链表中间节点
给一个链表 1 -&gt; 2-&gt; 3-&gt; 4-&gt; 5
返回中间节点3
如果是偶数个数， 中间节点有2个， 返回第2个
思路：
两个指针，slow， fast
slow指针每次走一步， fast指针每次走两步， fast走到结尾时， slow指针正好指到中间节点。
class Node:
  def __init__(self, x):
    self.val = x
    self.next = None
    
def find_mid(phead):
  if p]]></description><category></category></item><item><title><![CDATA[奇偶链表拼接简单实现方式--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107441779</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107441779</guid><author>kasiko</author><pubDate>Sun, 19 Jul 2020 10:38:39 +0800</pubDate><description><![CDATA[奇偶链表
给一个链表:
1-&gt; 2-&gt; 3-&gt; 4-&gt; 5
将奇数位置的节点拼成新链表
偶数位置的节点拼成新链表
偶数链表接到奇数链表后
*第一个位置是1不是0
思路：
让odd 节点的下一个链接到 odd.next.next, 将指针指到odd.next
even节点同理
注意要先保存even节点的第一个节点，因为最后需要把first even接到last odd节点上
class Node:
  def __init__(self, x):
    self.val = x
  ]]></description><category></category></item><item><title><![CDATA[删除链表重复元素简单实现方法--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107434270</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107434270</guid><author>kasiko</author><pubDate>Sat, 18 Jul 2020 19:59:36 +0800</pubDate><description><![CDATA[删除链表重复元素
给定链表
1 -&gt; 1 -&gt; 3 -&gt; 4
删除1
新链表:
1-&gt;3-&gt;4
思路， 判断当前节点和next节点的val相等不相等， 如果相等， 跳过下一个节点
curr.next = curr.next.next
class Node:
  def __init__(self, x):
    self.val = x
    self.next = None

def deletdup(phead):
  curr = phead
  while curr]]></description><category></category></item><item><title><![CDATA[最大子数组Max Subarray 最简单的实现方式--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107433379</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107433379</guid><author>kasiko</author><pubDate>Sat, 18 Jul 2020 18:47:32 +0800</pubDate><description><![CDATA[最大子数组
给定一个数组（可能包含负数），求连续的和最大的子数组
例：
[-1, 0, 2, 3, -4, 8]
返回
9
因为0+2+3+(-4)+8=9
思路：
比较下标t时刻的值和t+ t-1 时刻的值， 如果t时刻大于 t-1 + t时刻的和， 则选择重新开始计算， 否则就继承前边的值
0时刻: -1
1时刻： 比较1时刻（0）和 0时刻+ 1时刻: (-1),  大于， 重新开始计算，当前值为0
2时刻： 比较(2)  和t + t-1 :  (0+2 ), 不大于， 继承
3时刻:  比较(3)]]></description><category></category></item><item><title><![CDATA[二分查找最简单的实现方式--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107432871</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107432871</guid><author>kasiko</author><pubDate>Sat, 18 Jul 2020 18:04:14 +0800</pubDate><description><![CDATA[二分查找
给定一个已排序数组:
[-1 ,0, 2, 3, 5]
目标值:
0
返回目标值下标: 1
二分查找，先找到数组的中间数mid， left+(right-left)//2,  这种写法为防止整数溢出。left =0, right=len(arr)-1
比较mid与目标值， 如果mid大于目标值，则说明目标值可能在左半部分，此时right 变成 mid-1 ， 否则left 变成mid+1
如果arr[mid] 等于目标值， 则返回下标。
当left &lt;= right时， 循环上述过程， 时间]]></description><category></category></item><item><title><![CDATA[斐波那契数列动态规划实现--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107424895</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107424895</guid><author>kasiko</author><pubDate>Sat, 18 Jul 2020 10:18:05 +0800</pubDate><description><![CDATA[斐波那契数列求第n项的值
只要保存n-1项，n-2项的结果就可以。
def fib(n):
	a,b = 0,1
	for i in range(n-1):
		a = a+b
		a,b = b,a
	return b 

测试：
fib(10)


55


]]></description><category></category></item><item><title><![CDATA[最长回文字符串中心扩散法--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107418305</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107418305</guid><author>kasiko</author><pubDate>Fri, 17 Jul 2020 21:49:25 +0800</pubDate><description><![CDATA[最长回文字符串中心扩散法
给一个字符串，返回他的最长回文子字符串
例：
‘abac’

‘aba’

中心扩散：
选定中心, ‘b’, 比较左边和右边， 如果左边的index大于0，右边的index小于字符串长度，并且左边字符等于右边字符，则left -=1, right+=1， 即满足三个条件左右扩大一次。遍历字符串，每个字符都做一次中心，选出最长的字符。
但是有一个问题，如果碰到’abbac’，这种情况， 那么选定中心b， 发现左边是b,右边是a，不符合条件，则不能扩张，但是实际上他的中心应该在两个b的]]></description><category></category></item><item><title><![CDATA[滑窗方法，连续最长不重复字符串最简单的实现方法--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107416865</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107416865</guid><author>kasiko</author><pubDate>Fri, 17 Jul 2020 20:19:43 +0800</pubDate><description><![CDATA[连续最长不重复字符串
给定一个字符串， 返回连续最长不重复子字符串的长度
‘abbac’

3

思路:
step1: 两个指针i，j
step2: 一个初始化的最大长度0
step3; 一个list存储当前遍历的字符串
step4: 移动i， 如果字符str[i] 在list中，则删除str[j], 并且j走一步， 如果不在，则把字符str[i]加入列表
step5: 返回最大长度
代码：
def max_norepeat(s):
  maxlen=0
  temp = []
  i,j = 0,0
  ]]></description><category></category></item><item><title><![CDATA[leetcode两数之和最简单的解决方法--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107416265</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107416265</guid><author>kasiko</author><pubDate>Fri, 17 Jul 2020 19:41:16 +0800</pubDate><description><![CDATA[两数之和
题目:
给一个数组array，一个目标值target
返回array中和为目标值的下标，
如果没有返回-1
思路:
用一个hashmap存储array中的数，以{num:index} 格式存储
遍历array， 如果target-array的值存在于hashmap中， 则返回当前的遍历的位置和hashmap的value。
def twosum(arr, target):
  d = {}
  for ind, num in enumerate(arr):
    if (target-num) i]]></description><category></category></item><item><title><![CDATA[怎样创建自己的包并导入--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107406637</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107406637</guid><author>kasiko</author><pubDate>Fri, 17 Jul 2020 14:05:58 +0800</pubDate><description><![CDATA[python 中一个拥有名为__init__.py 文件的文件夹就是一个包, 文件夹的名字就是包的名字。
假设创建名为MyMath的包, 这个包有两个功能， 求最大值，求平均值。
那么应该构建一个如下图一样的文件结构。
测试文件应该放在和包同级的路径。
---MyMath
		|---- __init__.py
		|---- getmax.py
		|----getavg.py

---test.py

#__init__.py 中的内容
__author_ = 'xxx'
__all__ = ['功能1]]></description><category></category></item><item><title><![CDATA[Glove词向量核心内容介绍--NLP]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107369539</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107369539</guid><author>kasiko</author><pubDate>Wed, 15 Jul 2020 20:43:42 +0800</pubDate><description><![CDATA[Glove
尽管现在基于transformer的巨型模型也可以得到词向量。但是在一些基础的计算文本相似的任务中传统的静态词向量依然是非常好用的。Glove就是其中的一个代表。
2014年， Empirical Methods in Natural Language Processing (EMNLP)的论文：GloVe: Global Vectors for Word Representation 介绍了这种词向量。
正如论文的名字一样，GloVe是一个基于全局词频统计（count-based &amp; ]]></description><category></category></item><item><title><![CDATA[股票最大利润简单实现--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107358293</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107358293</guid><author>kasiko</author><pubDate>Wed, 15 Jul 2020 12:48:55 +0800</pubDate><description><![CDATA[股票最大利润
input: 价格序列 [1, 3, 2, 8, 6]
output:  7
思路:
找到第n天前最小价格
计算第n天的最大利润
maxpro = price[i] - min_price
price = [1, 3, 2, 8, 6]

def max_profit(arr):
  if len(arr) &lt;= 1:
    return 0
  max_pro = 0
  min_pri = arr[0]
  for i in arr[1:]:
    min_pri = min(m]]></description><category></category></item><item><title><![CDATA[100行代码做一个周杰伦歌词生成器--python]]></title><link>https://blog.youkuaiyun.com/kasiko/article/details/107352447</link><guid>https://blog.youkuaiyun.com/kasiko/article/details/107352447</guid><author>kasiko</author><pubDate>Wed, 15 Jul 2020 09:43:19 +0800</pubDate><description><![CDATA[100行代码做一个周杰伦歌词生成器
数据
-从网上找到周杰伦歌词大全txt

模型
既然是100行，那就用最简单的rnn模型来生成
RNN生成文本的思路很简单，就是将输入的每个序列，t时刻的token挪到t+1时刻，这样就有了input-target, 我们要做的就是输入T时， 输出e, 输入(T,e)时，输出n… 依次类推。
这样就是一个循环神经网络的结构， 如果时序过长，会有梯度消失问题， 但是我们这次处理的是歌词， 歌词通常一句话大概十几个词，所以不会出现梯度消失。

代码部分
import nump]]></description><category></category></item></channel></rss>