机器学习入门——直接调用sklearn实现几种简单算法
刚学习机器学习,希望大佬们勿喷,望指点
几种分类算法针对鸢尾花数据的分析
1. LR线性回归分类算法
# 引入数据集,sklearn包含众多数据集
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
iris = datasets.load_iris()
iris_X = iris.data
# print(iris_X)
print('特征变量的长度', len(iris_X))
'''特征变量的长度 150'''
# 目标值
iris_y = iris.target
print('鸢尾花的目标值', iris_y)
'''鸢尾花的目标值 [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2]'''
# 利用train_test_split进行训练集和测试机进行分开,test_size占30%
X_train, X_test, y_train, y_test = train_test_split(iris_X, iris_y, test_size=0.3)
# 我们看到训练数据的特征值分为3类
# print(y_train)
#定义模型
LR = LinearRegression()
LR.fit(X_train,y_train)
LR.get_params()
#预测模型得分
sorce = LR.score(X_test,y_test)
print("此模型得分为%s"%sorce)
'''此模型得分为0.9149861834006362'''
# 预测数据,预测特征值
print(LR.predict(X_test))
'''[ 1.63941449 -0.04656291 1.22803812 1.597067 -0.04296543 -0.1082205
1.88684854 1.31080879 -0.00333587 1.8289367 1.28993837 1.75344022
1.09021679 -0.02400242 1.32395518 1.00228831 -0.17123785 1.205144
0.87926466 0.00947689 -0.06329835 1.52395814 1.15092907 -0.04949313
-0.04566142 1.00861719 2.14232013 2.00140341 2.03898734 -0.03660288
1.33849672 2.11454454 2.07733465 1.20349271 1.7931911 1.93649543
0.22430788 2.23932393 -0.09751398 1.15783423 0.96480882 0.05269551
1.18696115 0.08604333 1.35280072]'''
# 打印真实特征值
print(y_test)
'''[1 0 1 1 0 0 2 1 0 2 1 2 1 0 1 1 0 1 1 0 0 1 1 0 0 1 2 2 2 0 1 2 2 1 2 2 0
2 0 1 1 0 1 0 1]'''
``
2. LR逻辑回归分类
# 引入数据集,sklearn包含众多数据集
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
iris = datasets.load_iris()
iris_X = iris.data
# print(iris_X)
print('特征变量的长度', len(iris_X))
'''特征变量的长度 150'''
# 目标值
iris_y = iris.target
print('鸢尾花的目标值'