转自
利用linear_model.LinearRegression()函数
# Create linear regression object
regr = linear_model.LinearRegression()
# Train the model using the training sets
regr.fit(data_X_train, data_y_train)
数据处理和分析:NumPy, SciPy, Pandas
机器学习:SciKit
可视化: Matplotlib, Seaborn
使用argsort()函数:
x[x [: n-1].argsort ()]
画lag plot(Correlogram:相关图),如果图上的点呈散乱分布,则为随机
利用pandas包的DataFrame函数的serias创建列然后用dtype定义类型:
df = pd.DataFrame({'x': pd.Series(['1.0', '2.0', '3.0'], dtype=float), 'y': pd.Series(['1', '2', '3'], dtype=int)})
NaN
a. numpy array比python list更紧凑,存储数据占的空间小,读写速度快。(这是由于python list储存的是指向对象(至少需要16个字节)的指针(至少4个字节);而array中储存的是单一变量(比如单精度浮点数为4个字节,双精度为8))
b. array可以直接使用vector和matrix类型的处理函数,非常方便。
使用size函数, 比如:
a = np.array([])
print a.size # 0
使用empty函数
使用copy包的copy和deepcopy函数。其中,copy 仅拷贝对象本身,而不拷贝对象中引用的其它对象;deepcopy 除拷贝对象本身,而且拷贝对象中引用的其它对象。
python语言的编程规范,提高代码可读性
import maindir.subdir.module
range()生成的是list,而xrange()生成的是迭代器(iterator)。例如:
range(5) # [0, 1, 2, 3, 4]
xrange(5)
list(xrange(1,5)) # [1, 2, 3, 4]
使用shuffle()函数
Pylint和Pychecker.
Pylint可以检验模块是否满足所有的编程标准;Pychecker则是静态分析工具。
装饰器可用于修饰函数或类。通过装饰器可以包裹函数或类使之执行之前或之后调用装饰器函数,从而达到抽离出大量函数中与函数功能本身无关的雷同代码并继续重用的目的。比较经典的厨力场景有检验权限,追踪参数,日志登陆等。
def makebold(fn):
def wrapped():
return "<b>" + fn() + "</b>"
return wrapped
def makeitalic(fn):
def wrapped():
return "<i>" + fn() + "</i>"
return wrapped
@makebold
@makeitalic
def hello():
return "hello world"
def multipliers():
return [lambda x: i * x for i in range(4)]
print [m(2) for m in multipliers()]
输出为[6,6,6,6]。 这个的原因是 Python 的闭包的后期绑定导致的 late binding,这意味着在闭包中的变量是在内部函数被调用的时候被查找。所以结果是,当任何 multipliers() 返回的函数被调用,在那时,i 的值是在它被调用时的周围作用域中查找,到那时,无论哪个返回的函数被调用,for 循环都已经完成了,i 最后的值是 3,因此,每个返回的函数 multiplies 的值都是 3。因此一个等于 2 的值被传递进以上代码,它们将返回一个值 6 (比如: 3 x 2)。
list= [‘a’,’e’,’i’,’o’,’u’]
print list [8:]
输出为[]。 访问一个列表的以超出列表成员数作为开始索引的切片将不会导致 IndexError,并且将仅仅返回一个空列表。
def foo (i= []):
i.append (1)
return i
foo ()
foo ()
输出为[1],[1,1]。 新的默认列表仅仅只在函数被定义时创建一次。当foo没有被指定的列表参数调用的时候,其使用的是同一个列表。
逻辑斯蒂回归常指逻辑回归模型,用于预测参数之间组合可能输出的二分结果。
决定假设检验的的结果是否显著
对有两个变量A,B的随机试验进行的统计结果测试,目的是识别改动对网页点击率的影响从而获得实现最大化的改动。
在数据分析是通过计算相关和协方差矩阵的特征向量可以用于确定之后的线性转换的方向。特征值表示特征向量方向转化或者压缩的强度。
首先判断缺失数据是否有意义,如果没有意义或者缺失数据的比例超过80%直接去掉。如果缺失数据有规律,则需根据其变化规律来推测次缺失值;如果数据没有规律,则用其他值代替:
如果数据符合正态分布,缺失值用期望值代替
如果数据是类型变量,则用默认类型值代替缺失值
逻辑斯蒂回归的预测值是两元的,0或1;而线性回归的预测值是连续的。