赞
踩
pip install -U scikit-learn -i https://pypi.tuna.tsinghua.edu.cn/simpl
from sklearn import linear_model
linear_model.LinearRegression(fit_intercept=True,normalize=False,copy_X=True,n_jobs=None)
from sklearn import linear_model
import numpy as np
x=np.array([[1,56],[2,104],[3,156],[4,200],[5,250],[6,300]])
y=np.array([7800,9000,9200,10000,11000,12000])
clf = linear_model.LinearRegression()
clf.fit (x,y) #拟合线性模型
k=clf.coef_ #回归系数
b=clf.intercept_ #截距
x0=np.array([[7,170]])
#通过给定的x0预测y0,y0=截距+X值*回归系数
y0=clf.predict(x0) #预测值
print('回归系数:',k)
print('截距:',b)
print('预测值:',y0)
回归系数: [1853.37423313 -21.7791411 ]
截距: 7215.950920245396
预测值: [16487.11656442]
linear_model.Ridge(alpha=1.0, fit_intercept=True,normalize=False,copy_X=True,max_iter=None,tol=0.001,solver="auto",random_state=None)
from sklearn.linear_model import Ridge
import numpy as np
x=np.array([[1,56],[2,104],[3,156],[4,200],[5,250],[6,300]])
y=np.array([7800,9000,9200,10000,11000,12000])
clf = Ridge(alpha=1.0)
clf.fit(x, y)
k=clf.coef_ #回归系数
b=clf.intercept_ #截距
x0=np.array([[7,170]])
#通过给定的x0预测y0,y0=截距+X值*斜率
y0=clf.predict(x0) #预测值
print('回归系数:',k)
print('截距:',b)
print('预测值:',y0)
回归系数: [10.00932795 16.11613094]
截距: 6935.001421210872
预测值: [9744.80897725]
sklearn.svm.LinearSVR(epsilon=0.0,tol=0.0001,C=1.0,loss='epsilon_insensitive',fit_intercept=True,intercept_scaling=1.0,dual=True,verbose=0,random_state=None,max_iter=1000)
from sklearn.svm import LinearSVR # 导入线性回归类
from sklearn.datasets import load_boston # 导入加载波士顿数据集
from pandas import DataFrame # 导入DataFrame
boston = load_boston() # 创建加载波士顿数据对象
# 将波士顿房价数据创建为DataFrame对象
df = DataFrame(boston.data, columns=boston.feature_names)
df
df.insert(0,'target',boston.target) # 将价格添加至DataFrame对象中
df
data_mean = df.mean() # 获取每一列的平均值
data_std = df.std() # 获取标准偏差
data_train = (df - data_mean) / data_std # 数据标准化
data_train
x_train = data_train[boston.feature_names].values # 特征数据,feature_names就是上图中除了target列之外的其他列的数值
y_train = data_train['target'].values # 目标数据
也是使用列表的方式直接提取所需列的数值,比如data_train[[‘target’,‘ZN’]]…values就是获取target列和ZN列的数据;data_train[[‘target’:‘ZN’]]…values是获取从targer到ZN一共三列数据。
#%%
linearsvr = LinearSVR(C=0.1) # 创建LinearSVR()对象
linearsvr.fit(x_train, y_train) # 训练模型
# 预测,并还原结果
x = ((df[boston.feature_names] - data_mean[boston.feature_names]) / data_std[boston.feature_names]).values
x
# 添加预测房价的信息列
df[u'y_pred'] = linearsvr.predict(x) * data_std['target'] + data_mean['target'] #这是还原结果的代码
df[['target','y_pred']] #提取出真是价格和预测价格
"""
创建k个点作为起始质心,可以随机选择(位于数据边界内)
当任何一个点的簇分配结果发生变化时(初始化为True)
对数据集中每个数据点,重新分配质心
对每个质心
计算质心和数据点之间的距离
将数据点分配到距其最近的簇
对每一个簇,计算簇中所有点的均值并将均值作为新的质心
"""
from sklearn.cluster import KMeans
KMeans(n_clusters=8,init='k-means++',n_init=10,max_iter=300,tol=1e-4,precompute_distances='auto',verbose=0,random_state=None,copy_x=True,n——jobs=None,algorithm='auto')
import numpy as np
from sklearn.cluster import KMeans
X=np.array([[1,10],[1,11],[1,12],[3,20],[3,23],[3,21],[3,25]])
kmodel = KMeans(n_clusters = 2) #调用KMeans方法实现聚类(两类)
y_pred=kmodel.fit_predict(X) #预测类别
print('预测类别:',y_pred)
print('分类簇的均值向量:','\n',kmodel.cluster_centers_)
print('类别标记:',kmodel.labels_)
预测类别: [1 1 1 0 0 0 0]
分类簇的均值向量:
[[ 3. 22.25]
[ 1. 11. ]]
类别标记: [1 1 1 0 0 0 0]
sklearn.datasets.make_blobs(n_samples=100,n_features=2,centers=3,cluster_std=1.0,center_box=(-10.0,10.0),shuffle=True,random_state=None)
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
x,y = make_blobs(n_samples=500, n_features=2, centers=3)
from sklearn.cluster import KMeans
y_pred = KMeans(n_clusters=4, random_state=9).fit_predict(x)
plt.scatter(x[:, 0], x[:, 1], c=y_pred)
plt.show()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。