数据分析练习

import pandas as pd
import numpy as np
import  scipy.stats as ss

norm_dist=ss.norm.rvs(size=20)
print(norm_dist)
# 几种检验方法
# 参数:statistic检验统计量,p值pvalue
x=ss.normaltest(norm_dist)#基于偏度和峰度的检验是否符合正态分布的检验方法(参数p值<0.05一般不符合正态分布)
print(x)
y=ss.chi2_contingency([[15,95],[85,5]])#卡方检验
print(y)
z=ss.ttest_ind(ss.norm.rvs(size=100),ss.norm.rvs(size=200))#独立分布T检验
print(z)
q=ss.f_oneway([49,50,39,40,43],[28,32,30,26,34],[38,40,45,42,48])# 方差检验
print(q)

# 使用qq图查看数据是否符合正态分布
from statsmodels.graphics.api import qqplot
from matplotlib import pyplot as plt
qqplot(ss.norm.rvs(size=100))
plt.show()

# 查看相关系数
s1=pd.Series([0.1,0.2,1.1,2.4,1.3,0.3,0.5])
s2=pd.Series([0.5,0.4,1.2,2.5,1.1,0.2,0.6])
# print(s1.corr(s2))#s1和s2的相关系数
# print(s1.corr(s2,method='spearman'))#得到spearman的相关系数
df=pd.DataFrame(np.array([s1,s2]).T)#使用DataFrame求相关系数
print(df)
print(df.corr())

# 回归的例子
w=np.arange(10).astype(np.float64).reshape((10,1))
# .astype(np.float):将数组的数据类型转换为浮点型。在这里,我们将整数数组转换为浮点数数组。
# .reshape((10, 1)):改变数组的形状为 (10, 1)。这将把原来的一维数组转换为一个包含 10 行、1 列的二维数组。
# print(w)
m=w*3+4+np.random.random((10,1))#10 行、1 列 大小为0到1的随机数组
# print(m)
print('=======')
from sklearn.linear_model import LinearRegression

reg=LinearRegression()

res=reg.fit(w,m)#拟合

print(reg.coef_,'\n')#权重
print(reg.intercept_,'\n')#偏置

y_pred=reg.predict(w)#预测值
print(y_pred)

你可能感兴趣的:(numpy,pandas,scipy,数据分析)