建模的流程大三步:数据清理处理,模型选择,检验,下面以线性回归为例:
导入数据
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets,linear_model
diabetes=datasets.load_diabetes()  #加载数据
diabetes_X=diabetes.data[:,np.newaxis,2]  #嵌套列表转化成列表通常在这一步需要看数据的类型,分布,对极值,缺失值做处理。
生成训练集和测试集
diabetes_X_train=diabetes_X[:-20] 	#剔除后面20个作为训练集
diabetes_X_test=diabetes_X[-20:]	#剔除前面20个作为测试集合
diabetes_y_train=diabetes.target[:-20]
diabetes_y_test=diabetes.target[-20:]建模与拟合
regr=linear_model.LinearRegression()	#创建线性回归对象
regr.fit(diabetes_X_train,diabetes_y_train) #将训练集放进去拟合模型检验
Python的很多检验都都需要自己计算
print("Coefficients:\n",regr.coef_) 	#输出系数
print("Residual sum of sqares:%.2f"
	%np.mean((regr.predict(diabetes_X_test)-diabetes_y_test)**2))		#输出残差平方和
print("Variance score:%.2f" %regr.score(diabetes_X_test,diabetes_y_test)) #R^2实际结果:

做拟合图
plt.scatter(diabetes_X_test,diabetes_y_test,color='black')		#测试集散点图
plt.plot(diabetes_X_test,regr.predict(diabetes_X_test),color='blue',linewidth=3)	#拟合方程
plt.title("The Linear Model")
plt.show()图:

总体上来说,Python做数据建模对统计原理的要求会更高些,因为在做检验的时候需要你计算出来的,不像R直接出来,只是需要解读判断。
源码:
import matplotlib.pyplot as plt
import numpy as np
from sklearn import datasets,linear_model
diabetes=datasets.load_diabetes()  #加载数据
diabetes_X=diabetes.data[:,np.newaxis,2]  #嵌套列表转化成列表
diabetes_X_train=diabetes_X[:-20] 	#剔除后面20个作为训练集
diabetes_X_test=diabetes_X[-20:]	#剔除前面20个作为测试集合
diabetes_y_train=diabetes.target[:-20]
diabetes_y_test=diabetes.target[-20:]
regr=linear_model.LinearRegression()	#创建线性回归对象
regr.fit(diabetes_X_train,diabetes_y_train) #将训练集放进去拟合
print("Coefficients:\n",regr.coef_) 	#输出系数
print("Residual sum of sqares:%.2f"
	%np.mean((regr.predict(diabetes_X_test)-diabetes_y_test)**2))		#输出残差平方和
print("Variance score:%.2f" %regr.score(diabetes_X_test,diabetes_y_test)) #R^2
plt.scatter(diabetes_X_test,diabetes_y_test,color='black')		#测试集散点图
plt.plot(diabetes_X_test,regr.predict(diabetes_X_test),color='blue',linewidth=3)	#拟合方程
plt.title("The Linear Model")
plt.show()

