1、机器学习关注的问题
根据有无标签分为监督学习和非监督学习。监督学习又分为分类问题和回归问题。非监督学习有聚类问题。
2、机器学习所需要的知识
微积分
对应的有梯度下降法、牛顿法。“梯度下降法使用平面逼近局部,牛顿下降法使用曲面接近局部”
线性代数
大多数的循环操作可以转化成矩阵之间的乘法,所以就和线性代数有关系。主要有PCA和奇异值分解SVD
概率估计与统计
极大似然思想、贝叶斯模型、高斯分布是混合高斯分布(GMM)的基础
3、常见的机器学习库有
pandas:进行数据浏览与预处理
numpy:数组计算
matplolib:数据可视化工具
scipy:高效的科学计算
机器学习库:
scikit-learn
SparkMlib
java的Weka
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.svm import LinearSVC
x_train,x_test,y_train,y_test=train_test_split(digits.data,digits.target,test_size=0.25,random_state=35)
print(x_train.shape)
print(y_train.shape)
#对数据进行归一化
ss=StandardScaler()
x_train=ss.fit_transform(x_train)
x_test=ss.transform(x_test)
#使用算法训练模型
svc=LinearSVC()
svc.fit(x_train,y_train)
y_predic=svc.predict(x_test)
print(svc.score(x_train,y_train))
#对模型进行评估
from sklearn.metrics import classification_report
print(classification_report(y_test,y_predic,target_names=digits.target_names.astype("str")))