这是第一次接触和使用jupyter,感觉它很强大;
Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等
输入:
import random import numpy as np import scipy as sp import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import statsmodels.api as sm import statsmodels.formula.api as smf anascombe = pd.read_csv('anscombe.csv') print(anascombe.groupby('dataset')['x'].mean()) print(anascombe.groupby('dataset')['y'].mean()) print(anascombe.groupby('dataset')['x'].var()) print(anascombe.groupby('dataset')['y'].var()) print(anascombe.groupby('dataset').corr()) dataset_names = ['I', 'II', 'III', 'IV'] for i in dataset_names: n = len(anascombe[anascombe.dataset == i]) is_train = np.random.rand(n) < 0.7 train = anascombe[anascombe.dataset == i][is_train].reset_index(drop=True) test = anascombe[anascombe.dataset == i][~is_train].reset_index(drop=True) lin_model = smf.ols('y ~ x', train).fit() print(lin_model.summary()) g = sns.FacetGrid(anascombe, col='dataset') g.map(plt.scatter, 'x', 'y') plt.show()
输出结果:
dataset I 9.0 II 9.0 III 9.0 IV 9.0 Name: x, dtype: float64 dataset I 7.500909 II 7.500909 III 7.500000 IV 7.500909 Name: y, dtype: float64 dataset I 11.0 II 11.0 III 11.0 IV 11.0 Name: x, dtype: float64 dataset I 4.127269 II 4.127629 III 4.122620 IV 4.123249 Name: y, dtype: float64 x y dataset I x 1.000000 0.816421 y 0.816421 1.000000 II x 1.000000 0.816237 y 0.816237 1.000000 III x 1.000000 0.816287 y 0.816287 1.000000 IV x 1.000000 0.816521 y 0.816521 1.000000 C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\stats\stats.py:1394: UserWarning: kurtosistest only valid for n>=20 ... continuing anyway, n=8 "anyway, n=%i" % int(n)) OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 0.650 Model: OLS Adj. R-squared: 0.592 Method: Least Squares F-statistic: 11.15 Date: Sun, 10 Jun 2018 Prob (F-statistic): 0.0156 Time: 12:18:34 Log-Likelihood: -12.931 No. Observations: 8 AIC: 29.86 Df Residuals: 6 BIC: 30.02 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 2.4459 1.497 1.634 0.153 -1.216 6.108 x 0.5464 0.164 3.339 0.016 0.146 0.947 ============================================================================== Omnibus: 0.157 Durbin-Watson: 3.211 Prob(Omnibus): 0.925 Jarque-Bera (JB): 0.343 Skew: -0.096 Prob(JB): 0.842 Kurtosis: 2.004 Cond. No. 27.8 ============================================================================== Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\stats\stats.py:1394: UserWarning: kurtosistest only valid for n>=20 ... continuing anyway, n=10 "anyway, n=%i" % int(n)) OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 0.654 Model: OLS Adj. R-squared: 0.610 Method: Least Squares F-statistic: 15.10 Date: Sun, 10 Jun 2018 Prob (F-statistic): 0.00464 Time: 12:18:34 Log-Likelihood: -15.546 No. Observations: 10 AIC: 35.09 Df Residuals: 8 BIC: 35.70 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 3.0642 1.169 2.621 0.031 0.369 5.760 x 0.4842 0.125 3.886 0.005 0.197 0.772 ============================================================================== Omnibus: 1.436 Durbin-Watson: 2.438 Prob(Omnibus): 0.488 Jarque-Bera (JB): 0.889 Skew: -0.413 Prob(JB): 0.641 Kurtosis: 1.795 Cond. No. 27.4 ============================================================================== Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\statsmodels\stats\stattools.py:72: ValueWarning: omni_normtest is not valid with less than 8 observations; 6 samples were given. "samples were given." % int(n), ValueWarning) OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 1.000 Model: OLS Adj. R-squared: 1.000 Method: Least Squares F-statistic: 1.699e+06 Date: Sun, 10 Jun 2018 Prob (F-statistic): 2.08e-12 Time: 12:18:34 Log-Likelihood: 29.314 No. Observations: 6 AIC: -54.63 Df Residuals: 4 BIC: -55.04 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 4.0098 0.003 1498.423 0.000 4.002 4.017 x 0.3451 0.000 1303.508 0.000 0.344 0.346 ============================================================================== Omnibus: nan Durbin-Watson: 2.677 Prob(Omnibus): nan Jarque-Bera (JB): 2.907 Skew: 1.640 Prob(JB): 0.234 Kurtosis: 3.933 Cond. No. 29.9 ============================================================================== Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\stats\stats.py:1394: UserWarning: kurtosistest only valid for n>=20 ... continuing anyway, n=9 "anyway, n=%i" % int(n)) C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\statsmodels\regression\linear_model.py:1633: RuntimeWarning: divide by zero encountered in double_scalars return np.sqrt(eigvals[0]/eigvals[-1]) C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\statsmodels\regression\linear_model.py:1554: RuntimeWarning: divide by zero encountered in double_scalars return self.ess/self.df_model OLS Regression Results ============================================================================== Dep. Variable: y R-squared: -0.000 Model: OLS Adj. R-squared: -0.000 Method: Least Squares F-statistic: -inf Date: Sun, 10 Jun 2018 Prob (F-statistic): nan Time: 12:18:34 Log-Likelihood: -13.393 No. Observations: 9 AIC: 28.79 Df Residuals: 8 BIC: 28.98 Df Model: 0 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 0.1107 0.006 18.991 0.000 0.097 0.124 x 0.8856 0.047 18.991 0.000 0.778 0.993 ============================================================================== Omnibus: 0.591 Durbin-Watson: 1.614 Prob(Omnibus): 0.744 Jarque-Bera (JB): 0.509 Skew: -0.052 Prob(JB): 0.775 Kurtosis: 1.840 Cond. No. inf ============================================================================== Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. [2] The smallest eigenvalue is 0. This might indicate that there are strong multicollinearity problems or that the design matrix is singular. C:\Users\10617\Desktop\Python\statistics_exercise\cme193-ipython-notebooks-lecture-master\data1.py dataset I 9.0 II 9.0 III 9.0 IV 9.0 Name: x, dtype: float64 dataset I 7.500909 II 7.500909 III 7.500000 IV 7.500909 Name: y, dtype: float64 dataset I 11.0 II 11.0 III 11.0 IV 11.0 Name: x, dtype: float64 dataset I 4.127269 II 4.127629 III 4.122620 IV 4.123249 Name: y, dtype: float64 x y dataset I x 1.000000 0.816421 y 0.816421 1.000000 II x 1.000000 0.816237 y 0.816237 1.000000 III x 1.000000 0.816287 y 0.816287 1.000000 IV x 1.000000 0.816521 y 0.816521 1.000000 C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\statsmodels\stats\stattools.py:72: ValueWarning: omni_normtest is not valid with less than 8 observations; 6 samples were given. "samples were given." % int(n), ValueWarning) OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 0.144 Model: OLS Adj. R-squared: -0.070 Method: Least Squares F-statistic: 0.6714 Date: Sun, 10 Jun 2018 Prob (F-statistic): 0.459 Time: 12:20:16 Log-Likelihood: -9.2736 No. Observations: 6 AIC: 22.55 Df Residuals: 4 BIC: 22.13 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 5.5660 3.535 1.575 0.190 -4.249 15.381 x 0.2723 0.332 0.819 0.459 -0.650 1.195 ============================================================================== Omnibus: nan Durbin-Watson: 1.587 Prob(Omnibus): nan Jarque-Bera (JB): 0.403 Skew: 0.513 Prob(JB): 0.818 Kurtosis: 2.252 Cond. No. 66.8 ============================================================================== Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\scipy\stats\stats.py:1394: UserWarning: kurtosistest only valid for n>=20 ... continuing anyway, n=10 "anyway, n=%i" % int(n)) OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 0.696 Model: OLS Adj. R-squared: 0.658 Method: Least Squares F-statistic: 18.33 Date: Sun, 10 Jun 2018 Prob (F-statistic): 0.00268 Time: 12:20:16 Log-Likelihood: -15.103 No. Observations: 10 AIC: 34.21 Df Residuals: 8 BIC: 34.81 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 2.8740 1.120 2.565 0.033 0.291 5.457 x 0.5000 0.117 4.281 0.003 0.231 0.769 ============================================================================== Omnibus: 1.425 Durbin-Watson: 2.338 Prob(Omnibus): 0.490 Jarque-Bera (JB): 0.931 Skew: -0.471 Prob(JB): 0.628 Kurtosis: 1.840 Cond. No. 28.0 ============================================================================== Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\statsmodels\stats\stattools.py:72: ValueWarning: omni_normtest is not valid with less than 8 observations; 7 samples were given. "samples were given." % int(n), ValueWarning) OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 1.000 Model: OLS Adj. R-squared: 1.000 Method: Least Squares F-statistic: 7.652e+05 Date: Sun, 10 Jun 2018 Prob (F-statistic): 3.71e-14 Time: 12:20:16 Log-Likelihood: 31.802 No. Observations: 7 AIC: -59.60 Df Residuals: 5 BIC: -59.71 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 4.0036 0.004 1102.706 0.000 3.994 4.013 x 0.3456 0.000 874.754 0.000 0.345 0.347 ============================================================================== Omnibus: nan Durbin-Watson: 2.583 Prob(Omnibus): nan Jarque-Bera (JB): 0.574 Skew: 0.284 Prob(JB): 0.750 Kurtosis: 1.717 Cond. No. 29.3 ============================================================================== Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified. C:\Users\10617\AppData\Local\Programs\Python\Python36\lib\site-packages\statsmodels\stats\stattools.py:72: ValueWarning: omni_normtest is not valid with less than 8 observations; 6 samples were given. "samples were given." % int(n), ValueWarning) OLS Regression Results ============================================================================== Dep. Variable: y R-squared: 0.803 Model: OLS Adj. R-squared: 0.754 Method: Least Squares F-statistic: 16.34 Date: Sun, 10 Jun 2018 Prob (F-statistic): 0.0156 Time: 12:20:16 Log-Likelihood: -8.3460 No. Observations: 6 AIC: 20.69 Df Residuals: 4 BIC: 20.28 Df Model: 1 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept 3.3904 1.264 2.683 0.055 -0.118 6.899 x 0.4795 0.119 4.042 0.016 0.150 0.809 ============================================================================== Omnibus: nan Durbin-Watson: 2.450 Prob(Omnibus): nan Jarque-Bera (JB): 0.200 Skew: 0.199 Prob(JB): 0.905 Kurtosis: 2.199 Cond. No. 27.9 ============================================================================== Warnings: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
输出显示:
class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ x = int(str(x)[::-1]) if x >= 0 else - int(str(-x)[::-1]) return x if x < 2147483648 and x >= -2147483648 else 0